第 4 章 池


Ceph 客户端在池中存储数据。在创建池时,您将为客户端创建 I/O 接口以存储数据。从 Ceph 客户端(即块设备、网关和其他)与 Ceph 存储集群交互的视角来说比较简单:创建集群处理和连接到集群;然后创建一个 I/O 上下文,用于读取和编写对象及其扩展属性。

创建集群 Handle 和连接到集群

若要连接 Ceph 存储集群,Ceph 客户端需要集群名称(默认为 ceph )和初始监控地址。Ceph 客户端通常使用 Ceph 配置文件的默认路径来检索这些参数,然后从 文件读取,但用户也可能会在命令行中指定参数。Ceph 客户端也提供用户名和密码密钥( 默认为 身份验证 )。然后,客户端联系 Ceph 监控集群,并检索 cluster map 的最新副本,包括其监视器、OSD 和池。

创建流程

创建池 I/O 上下文

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

I/O 上下文

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

池为您提供:

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

4.1. 池和存储策略

若要管理池,您可以列出、创建和删除池。您还可以查看每个池的利用率统计信息。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.