第 4 章 池概述


Ceph 客户端将数据存储在池中。当您创建池时,您要为客户端创建一个 I/O 接口来存储数据。从 Ceph 客户端的角度来看,即块设备、网关和其余功能与 Ceph 存储集群交互非常简单:创建集群处理并连接到集群;然后,创建一个 I/O 上下文来读取和写入对象及其扩展属性。

创建 Cluster Handle 并连接到集群

若要连接 Ceph 存储集群,Ceph 客户端需要集群名称,即 ceph,默认情况下通常是 ceph,另一个是初始的监控器地址。Ceph 客户端通常使用 Ceph 配置文件的默认路径检索这些参数,然后从文件读取,但用户也可以在命令行中指定参数。Ceph 客户端还提供用户名和 secret 密钥,身份验证默认为 on。然后,客户端联系 Ceph 监控集群,并检索集群映射的最新副本,包括其监视器、OSD 和池。

创建池 I/O 上下文

为了读取和写入数据,Ceph 客户端会为 Ceph 存储群集中的特定池创建一个 I/O 上下文。如果指定的用户具有池的权限,Ceph 客户端可以从其读取和写入到指定的池。

Ceph 的架构使存储集群能够向 Ceph 客户端提供这种显著简单的接口,以便客户端可以通过指定池名称并创建 I/O 上下文来选择您定义的其中一个复杂的存储策略。存储策略对所有容量和性能中的 Ceph 客户端不可见。类似地,Ceph 客户端的复杂性(如将对象映射到块设备表示或提供 S3/Swift RESTful 服务)对 Ceph 存储集群不可见。

池为您提供了:

  • 弹性 :您可以设置允许多少 OSD 失败而不丢失数据。对于复制池,这是对象的副本数或对象的副本。典型的配置存储一个对象和一个额外副本,即 size = 2,但您可以确定副本或副本数。对于纠删代码池,它是纠删代码 profile 中的 m=2 编码区块数。
  • 放置组 :您可以为池设置放置组数量。典型的配置在每个 OSD 使用大约 50-100 放置组来提供最佳平衡,而无需使用太多的计算资源。在设置多个池时,要小心,请务必为池和集群设置合理的放置组数量。
  • CRUSH Rules :当您在池中存储数据时,映射到池的 CRUSH 规则可让 CRUSH 识别每个对象放置的 CRUSH 规则及其副本,或者用于纠删代码池的区块。您可以为池创建自定义 CRUSH 规则。
  • Quotas :当您在具有 ceph osd pool set-quota 的池中设置配额时,您可以限制在指定池中存储的最大字节数或最大字节数。

4.1. 池和存储策略概述

要管理池,您可以列出、创建和删除池。您还可以查看各个池的使用情况统计信息。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat