ceph存储 ceph集群集成到OpenStack云中

在 IBM Bluemix 云平台上开发并部署您的下一个应用。

现在就开始免费试用

Ceph 是一个符合 POSIX (Portable Operating System for UNIX)、开源的分布式存储系统,依据 GNU 次通用公共许可而运行。该项目最初由 Sage Weill 于 2007 年开发,该项目的理念是提出一个没有任何单点故障的集群,确保能够跨集群节点进行永久数据复制。

与在任何经典的分布式文件系统中一样,放入集群中的文件是条带化的,依据一种称为 Ceph Controlled Replication Under Scalable Hashing (CRUSH) 的伪随机的数据分布算法放入集群节点中。

Ceph 是一种有趣的存储替代方案,这得益于它实现的一些概念,比如元数据分区,以及一种复制或放置组策略(将一系列对象聚合到一个分组中,然后将该分组映射到一系列对象存储后台进程 (OSD))。

这些特性支持自动扩展、恢复和自主管理集群,,因为他们使用以下绑定(在不同的级别上)提供了与您的 Ceph 集群的交互方式:

Reliable Autonomic Distributed Object Store (RADOS) 网关是一种 RESTful 接口,您的应用程序可与其通信,以便将对象直接存储在集群中。librados 库是一种访问 RADOS 的便利方式,它支持 PHP、Ruby、Java、Python 和C/C++ 编程语言。Ceph 的 RADOS 块设备 (RBD) 是一个完全分布式的块设备,它使用一个 Linux 内核和一个 Quick EMUlator (QEMU)/基于内核的虚拟机 (KVM) 驱动程序。原生 CephFS 是一个分布式文件系统,全面支持 Filesystem in Userspace (FUSE)。

如 中所示,Ceph 生态系统可分解为 5 个组成部分:

图 1. Ceph 生态系统

Ceph 生态系统原生支持许多与其交互的方式,这使得在已运行的基础架构中集成它变得既轻松又便捷,即使它执行的是一个在统一项目文件中提供块和对象存储功能的复杂任务。

接下来我们来看一下组成 Ceph 的各个部分以及它们在 Ceph 中分别扮演的角色。

RADOS 对象存储

表明 RADOS 对象存储是存储集群的基础。对于通过众多客户端或网关(RADOSGW、RBD 或 CephFS)执行的每个操作,数据会进入 RADOS 或者可以从中读取数据。图 2 显示了 RADOS 集群,它包含两个后台守护进程:Ceph 对象存储后台进程 (OSD) 和维护集群映射的主要副本的 Ceph 监视器。

图 2. The RADOS 对象存储

集群映射描述了对象块的物理位置,以及一个将设备聚合到物理位置的 “桶” 列表。该映射由 Ceph 的高级放置算法控制,该算法在物理位置上建模逻辑位置。图 3 描绘了集群内的 “池”,即存储对象的逻辑分区。每个池被动态映射到 OSD。

图 3. RADOS 位置分组

现在让我们看看第一组后台进程 OSD,然后再看看监视器,最后看看属于 CephFS 分布式文件系统的 Ceph 元数据服务器。

OSD

OSD 是访问文件系统并向其中写入数据的后台进程,它提供了通过集群网络访问文件系统的能力。要让集群正常运行,Ceph 开发人员建议使用 XFS(Silicon Graphics 日志文件系统)或 B 树文件系统 (Btrfs) 作为用于对象存储的文件系统。也可使用第 4 代扩展文件系统 (ext4),但它未提供 XFS 和 Btrfs 为 Ceph 提供的功能。

在本示例中,XFS 部署在所有存储节点上。图 4 演示了 Ceph OSD 如何与物理存储交互。

图 4. RADOS OSD

监视器

Paxos 协商协议(consensus protocols)

Paxos 是一组解决不可信处理器网络中的协商一致问题的协议;协商是指在参与者之间就某个结果达成一致意见的过程。当参与者或他们的沟通方式失败时,就会出现问题。Paxos 包含处理器数量、了解协定值之前的消息延迟、参与者活动级别、发送的消息数量和故障类型之间许多权衡方法。当需要耐久性(durability)并且处于耐久状态的数据量可能很大(比如在复制一个文件或数据库时)时,通常会使用 Paxos。

在 RADOS 集群中,Ceph 监视器后台进程 (ceph-mon) 位于 OSD 旁边。监视器是一些后台进程,客户端通过与这些后台进程进行通信来操作存储在集群中的数据。这是 Ceph 提出的一种创新方法:无需联系一个管理数据集群访问的集中的元数据服务器,这些轻量型后台进程向客户端提供集群映射,并处理与外部应用程序的所有通信。

ceph-mon 还管理集群中的数据一致性。监视器根据 Paxos 协商协议来进行操作,运行至少 3 个ceph-mon 实例是您的集群设置的前提条件。

图 5 给出了客户端通过监视器后台进程与集群交互的图像。

图 5. RADOS 监视器

元数据服务器

为什么 CephFS 被认为不是生产环境就绪的漫过心际的孤独,早已蔚然成冰,而你是这个季节里最美的音符。

ceph存储 ceph集群集成到OpenStack云中

相关文章:

你感兴趣的文章:

标签云: