Ceph分布式存储集群,不仅仅是一个简单的对象存储解决方案

Ceph 作为 OpenStack 的存储后端
块存储(Cinder 后端)
Ceph 的 RBD(RADOS Block Device)模块作为 OpenStack Cinder 服务的后端,为虚拟机提供块级别的存储资源。RBD 支持快照、克隆和恢复等功能,能够满足虚拟机对数据高性能读写的要求。
对象存储(Swift 替代或辅助)
Ceph 的 RADOS Gateway (RGW) 实现了与 Amazon S3 和 Swift API 的兼容性,可以作为对象存储接口使用。它可以完全替代或辅助 OpenStack Swift,同时支持 Keystone 集成以实现用户认证和多租户管理,简化了大规模对象存储环境下的维护工作。
虚拟机镜像存储(Glance 后端)
通过集成 Ceph RBD,Glance 可直接将虚拟机镜像存放在 Ceph 存储集群中,利用其快速的数据访问特性来加速虚拟机的调度过程。
共享文件存储(Manila 后端)
CephFS 提供了一个分布式文件系统,能与 Manila 结合,为虚拟机提供高可用性和大容量的共享文件存储服务。
虚拟机存储(Nova/Libvirt 集成)
Libvirt 插件使得 Nova 计算节点可以直接利用 Ceph RBD 作为虚拟机的根磁盘存储,增强了虚拟机迁移等高级功能的支持。
Ceph 在 OpenStack 中的典型应用场景
高可用虚拟化环境:构建稳定、高可用的虚拟化平台,支持虚拟机的快速迁移和快照管理。
混合存储架构:统一管理块、对象和文件存储需求,适应复杂的数据处理场景。
大规模数据存储与分发:适用于电商、视频存储及大数据分析等领域,提供强大的数据管理和分发能力。
弹性云存储:根据需要轻松扩展存储容量,确保在租户数据增长时系统的灵活性。
DevOps 与 CI/CD 流程:提高开发和测试环境的部署效率,促进持续集成和交付。
灾备与容灾:通过多副本和跨站点同步机制保障数据安全,增强灾难恢复能力。
Ceph 在 OpenStack 中的优势体现
高可用性与扩展性:线性扩展能力和自我修复功能确保了系统的稳定运行,并能随时添加新的存储节点。
高性能:基于 CRUSH 算法的分布方式消除了传统 SAN/NAS 的性能瓶颈,提高了数据访问速度。
统一存储架构:单一存储平台支持多样化的存储模式,减少了运维复杂度。
成本效益:采用普通硬件构建集群降低了初期投资,而自动化的管理和故障处理进一步节省了运营成本。
Ceph是一款高度灵活且强大的存储平台,能够同时提供对象存储、块存储和文件系统接口,适用于多种应用场景。通过其内置的S3 API和Swift API,Ceph可以无缝集成到现有的对象存储工作流中,为用户提供与Amazon S3或OpenStack Swift兼容的对象存储服务。
对于需要同时利用网络块存储和对象存储的企业来说,Ceph是一个理想的选择。它不仅提供了类似于Swift的分布式对象存储功能——在商用硬件上高效复制数据以确保高可用性和容错性——还额外支持块设备(如用于虚拟机磁盘)和文件共享(如通过NFS或CIFS协议),从而实现了三者的完美融合。
Ceph的核心优势在于其作为统一存储平台的能力,允许用户在一个系统中管理所有类型的数据存储需求。这种整合能力简化了基础设施架构,降低了管理和维护成本。此外,Ceph还可以作为Glance的后端来存储镜像,进一步增强了其在云环境中的适用性。
总之,Ceph不仅仅是一个简单的对象存储解决方案;它是一个全面的数据管理平台,能够在单个系统中同时提供对象、块和文件共享存储,非常适合那些寻求简化存储架构并提高资源利用率的企业。
Ceph的核心架构:RADOS与RBD
Ceph的核心是可靠的自主分布式对象存储(Reliable Autonomic Distributed Object Store,简称RADOS),它负责在存储集群内部高效地分发和复制数据对象。RADOS确保了数据的高可用性和持久性,并构成了Ceph所有高级功能的基础。
如图所示,在Ceph的存储层次结构中,RADOS之上是一层提供RADOS块设备(RADOS Block Device,简称RBD)的服务。RBD的关键特性之一是精简配置(thin provisioning),这意味着RBD设备仅在实际写入数据时分配存储空间,从而优化了存储利用率。通过使用librbd库,这些RBD对象可以被QEMU驱动程序访问,进而将Ceph与OpenStack Nova实例紧密集成,使得虚拟机可以直接利用高效的块存储资源。
tips:要从临时存储后端(ephemeral backend)或Cinder卷中启动虚拟机,则Glance镜像必须是RAW格式的。

相关文章:
Ceph分布式存储集群,不仅仅是一个简单的对象存储解决方案
Ceph 作为 OpenStack 的存储后端 块存储(Cinder 后端) Ceph 的 RBD(RADOS Block Device)模块作为 OpenStack Cinder 服务的后端,为虚拟机提供块级别的存储资源。RBD 支持快照、克隆和恢复等功能,能够满足虚…...
DSP+Simulink——点亮LED灯(TMSDSP28379D)超详细
实现功能:DSP28379D-LED灯闪烁 :matlab为2019a :环境建立见之前文章 Matlab2019a安装C2000 Processors超详细过程 matlab官网链接: Getting Started with Embedded Coder Support Package for Texas Instruments C2000 Processors Overview of Creat…...
Linux 环境下编译安装 OpenCV 4.8.x
在 Linux 环境下编译安装 OpenCV 4.8.x 需要安装一系列依赖库。以下是详细的步骤说明,并附上每个依赖库的作用解释。 1. 环境准备 操作系统 推荐使用 Ubuntu 20.04/22.04 或其他基于 Debian 的 Linux 发行版。 编译器 GCC 9 或更高版本(默认已安装&a…...
phpenc加密程序源码
免费扩展加密程序,类似于sg11加密,支持单个PHP(免费)文件以及批量PHP文件(ZIP压缩包格式)源码加密的保护平台,加密后的源码文件保持原有代码结构,可以跨平台运行,可以运行…...
学英语学Elasticsearch:04 Elastic integrations 工具箱实现对第三方数据源的采集、存储、可视化,开箱即用
📢📢📢: 先看关键单词,再看英文,最后看中文总结,再回头看一遍英文原文,效果更佳!! 关键词 ingestion 摄取 /ɪnˈdʒɛstʃən/ observability 可观察性 …...
2024.10.12 校招 实习 内推 面经
🛰️ :neituijunsir 交* 流*裙 ,内推/实习/校招汇总表格 1、校招 | 中车电动2025届校园招聘正式启动 校招 | 中车电动2025届校园招聘正式启动 2、校招 | 莱斯信息2025届校园招聘 校招 | 莱斯信息2025届校园招聘 3、招聘 | 中电熊猫2025…...
ios越狱脚本巨魔商店安装教程
使用爱思助手安装 安装爱思助手:在电脑上安装 iTunes 和爱思助手,并使用 Apple ID 登录2。 IPA 签名:打开爱思助手,选择工具箱中的 IPA 签名。点击添加 IPA 文件,选择下载的 TrollInstallerX.ipa 文件。选择使用 Apple…...
浅谈容灾技术方案详解
一、什么是容灾? 容灾指的是,在异地搭建一套或多套和主生产系统一样的IT系统,用于应对在系统因发生意外(自然灾害、人为灾害、设备系统故障等)造成业务影响的情况,达到尽量让生产业务损失最小的目的。 二…...
时序数据库InfluxDB—介绍与性能测试
目录 一、简述 二、主要特点 三、基本概念 1、主要概念 2、保留策略 3、连续查询 4、存储引擎—TSM Tree 5、存储目录 四、基本操作 1、Java-API操作 五、项目中的应用 六、单节点的硬件配置 七、性能测试 1、测试环境 2、测试程序 3、写入测试 4、查询测试 一…...
Python的循环
Python的循环 Python的循环有两种,分别是for…in循环和while循环。 for…in 循环 假设我们要循环输出一个列表里的元素: names [张三,李四,王五] for name in names:print(name)执行这段代码后,会依次打印names的每一个元素:…...
【机器学习】聚类评价指标之福尔克斯–马洛斯指数(Fowlkes–Mallows Index, FMI)
福尔克斯–马洛斯指数(Fowlkes–Mallows Index, FMI)是一种用于评估聚类结果与实际标签之间一致性的指标。FMI 值可以用于衡量聚类的准确性,特别是在有真值标签的监督评估场景中。 计算公式 FMI 的计算基于以下公式: 其中&#…...
分享一次面试经历
今天不只是分享面经,还分享一下主人公的整个面试经历,看看你是否会有相同的思路或者不同的见解,可以在评论区讨论一下: 问在项目里做了什么技术贡献。实施过程中,遇到哪些困难,怎么去思考解决的࿰…...
网络攻击行为可视化分析系统【数据分析 + 可视化】
一、系统背景 随着信息技术的快速发展,网络已成为现代社会不可或缺的一部分。然而,与此同时,网络攻击手段也日益多样化和复杂化,给企业和个人的信息安全带来了极大的威胁。传统的网络攻击分析方法往往依赖于人工分析和处理大量的…...
Qt 智能指针
Qt 智能指针 文章目录 Qt 智能指针QScopedPointer1. 自动删除对象2. 转移所有权3. 管理私有数据 QSharedPointer关键特性注意事项 QWeakPointer注意事项 QPointer QScopedPointer QScopedPointer 是 Qt 提供的一个智能指针,主要用于简化资源管理,防止内…...
CODESYS MODBUS TCP通信(禾川Q1 PLC作为MODBUS TCP从站)
禾川Q1 PLC MODBUS TCP 通信(PLC作为MODBUS TCP通信主站) 禾川Q1 PLC MODBUS TCP通信(CODESYS平台完整配置+代码)-CSDN博客文章浏览阅读28次。MATLAB和S7-1200PLC水箱液位高度PID控制联合仿真(MODBUSTCP通信)_将matlab仿真导入plc-CSDN博客文章浏览阅读722次。本文详细介绍了如…...
10.STM32F407ZGT6-内部温度传感器
参考: 1.正点原子 前言: 本笔记的主要目的和意义就是,再次练习ADC的使用。 32.1 内部温度传感器简介 STM32F407 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度(TA)。对于STM32F407 系列来说,该温度传感器在…...
运维安全中心(堡垒机)
阿里云运维安全中心(Alibaba Cloud Operation and Maintenance Security, OMS,通常也称为“堡垒机”)是一款针对云上运维管理的安全解决方案。它专注于加强云环境中运维过程的安全性,确保对关键云资源和服务的访问可控、可审计&am…...
Linux OOM | Early OOM | 进程监视
注: 本文为 “Linux OOM” 相关文章合辑。 Linux OOM 终结者 译者:花名有孚 | 2015-07-21 08:47 现在是早晨 6 点钟。已经醒来的我正在总结到底是什么事情使得我的起床闹铃提前了这么多。我们的监控系统显示,Plumbr 服务出故障了。 现在我…...
【2024年华为OD机试】(A卷,100分)- 等和子数组最小和(Java JS PythonC/C++)
一、问题描述 题目描述 给定一个数组nums,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值。 输入描述 第一行输入 m 接着输入m个数,表示此数组nums 数据范围:1<m&…...
NFS服务
nfs文件系统 NFS:NetworkFileSystem网络文件系统,基于内核的文件系统。 服务安装 不固定端口启动,会注册到rpcbind(固定端口)服务上, 局域网适用[rootvm ~]# yum -y install nfs-utils # 依赖安装rpcbind [ro…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
