当前位置:网站首页 > C++编程 > 正文

ceph存储池容量阈值(ceph存储池有哪些类型)



池是用于存储对象的逻辑分区。

当您首次部署集群而不创建池时,Ceph 使用默认池来存储数据。池为您提供:

  • 弹性:您可以设置允许多少 OSD 失败而不会丢失数据。对于复制池,它是对象的所需副本/副本数。典型配置存储一个对象和一个附加副本(即size = 2),但您可以确定副本/副本的数量。对于纠删码池,它是编码块的数量(即在纠删码配置文件中m=2)
  • Placement Groups:您可以为池设置归置组的数量。典型的配置为每个 OSD 使用大约 100 个归置组来提供最佳平衡,而不会占用太多计算资源。设置多个池时,请注意确保为池和整个集群设置合理数量的归置组。
  • CRUSH 规则:当您将数据存储在池中时,对象及其副本(或用于纠删码池的块)在集群中的放置由 CRUSH 规则控制。如果默认规则不适合您的用例,您可以为您的池创建自定义 CRUSH 规则。
  • 快照:当您使用 ceph osd pool mksnap 创建快照时,您可以有效地拍摄特定池的快照。

要将数据组织到池中,您可以列出、创建和删除池。您还可以查看每个池的利用率统计信息。

要列出集群的池,请执行:

 
  

在创建池之前,请参阅Pool、PG 和 CRUSH 配置参考。理想情况下,您应该覆盖 Ceph 配置文件中归置组数量的默认值,因为默认值并不理想。有关归置组编号的详细信息,请参阅设置归置组编号

笔记: 从 Luminous 开始,所有池都需要与使用该池的应用程序相关联。有关更多信息,请参阅下面的将池关联到应用程序。

例如:

 
  

要创建池,请执行:

 
  

在哪里:

描述:池类型可以被复制以通过保留对象的多个副本从丢失的 OSD 中恢复,也可以通过擦除来获得一种通用的 RAID5功能。复制池需要更多的原始存储,但会实现所有 Ceph 操作。擦除池需要较少的原始存储,但只实现可用操作的子集。
类型:字符串
必需:否
默认:replicated







  • [crush-rule-name]
  • [erasure-code-profile=profile]
  • --autoscale-mode=<on,off,warn>

如果您将自动缩放模式设置为on或warn,您可以让系统自动调整或根据实际使用情况建议更改池中的归置组数量。如果您不使用它,那么您应该参考归置组以获取更多信息。

  • [expected-num-objects]

池需要在使用前与应用程序关联。将与 CephFS 一起使用的池或由 RGW 自动创建的池会自动关联。应使用该rbd工具初始化旨在与 RBD 一起使用的池(有关更多信息,请参阅块设备命令)。

对于其他情况,您可以手动将自由格式的应用程序名称关联到池。:

 
  

笔记: CephFS 使用应用程序名称cephfs,RBD 使用应用程序名称rbd,RGW 使用应用程序名称rgw。

您可以为每个池的最大字节数和/或最大对象数设置池配额。

 
  

例如:

 
  

要删除配额,请将其值设置为0。

要删除池,请执行:

 
  

要删除池,mon_allow_pool_delete 标志必须在 Monitor 的配置中设置为 true。否则他们将拒绝移除池。

有关详细信息,请参阅监视器配置。

如果您为创建的池创建了自己的规则,则应考虑在不再需要池时删除它们:

 
  

例如,如果规则是“123”,您可以像这样检查其他池:

 
  

如果没有其他池使用该自定义规则,则可以安全地从集群中删除该规则。

如果您为不再存在的池创建了具有严格权限的用户,您也应该考虑删除这些用户:

 
  

要重命名池,请执行:

 
  

如果您重命名了一个池并且您对经过身份验证的用户具有每个池的功能,则必须使用新的池名称更新用户的功能(即caps)。

要显示池的利用率统计信息,请执行:

 
  

此外,要获取特定池或所有池的 I/O 信息,请执行:

 
  

要创建池的快照,请执行:

 
  

要删除池的快照,请执行:

 
  

要将值设置为池,请执行以下命令:

 
  

您可以为以下键设置值:

  • compression_algorithm
  • compression_mode
  • compression_min_blob_size
  • compression_max_blob_size
  • size
  • min_size
  • pg_num
  • pgp_num
  • crush_rule
  • allow_ec_overwrites
  • hashpspool
  • nodelete
  • nopgchange
  • nosizechange
  • bulk
  • write_fadvise_dontneed
  • noscrub
  • nodeep-scrub
  • hit_set_type
  • hit_set_count
  • hit_set_period
  • hit_set_fpp
  • cache_target_dirty_ratio
  • cache_target_dirty_high_ratio
  • cache_target_full_ratio
  • target_max_bytes
  • target_max_objects
  • hit_set_grade_decay_rate
  • hit_set_search_last_n
  • cache_min_flush_age
  • cache_min_evict_age
  • fast_read
  • scrub_min_interval
  • scrub_max_interval
  • deep_scrub_interval
  • recovery_priority
  • recovery_op_priority

要从池中获取值,请执行以下命令:

 
  

您可能会获得以下键的值:

  • size
  • min_size
  • pg_num
  • pgp_num
  • crush_rule

描述:见crush_rule

  • hit_set_type
  • hit_set_count
  • hit_set_period
  • hit_set_fpp
  • cache_target_dirty_ratio
  • cache_target_dirty_high_ratio
  • cache_target_full_ratio
  • target_max_bytes
  • target_max_objects
  • cache_min_flush_age
  • cache_min_evict_age
  • fast_read
  • scrub_min_interval
  • scrub_max_interval
  • deep_scrub_interval
  • allow_ec_overwrites
  • recovery_priority
  • recovery_op_priority

要设置复制池上的对象副本数,请执行以下命令:

 
  

重要: 包括{num-replicas}对象本身。如果您希望对象和对象的两个副本总共三个对象实例,请指定3.

例如:

 
  

您可以为每个池执行此命令。 注意:对象可能会在低于pool size 副本的降级模式下接受 I/O。要设置 I/O 所需的最小副本数,您应该使用该min_size设置。例如:

 
  

这确保了数据池中的任何对象都不会收到少于 min_size副本的 I/O。

要获取对象副本的数量,请执行以下操作:

 
  

Ceph 将列出池,并突出显示 replicated size 属性。默认情况下,ceph 会为一个对象创建两个副本(总共三个副本,或者大小为 3)。

到此这篇ceph存储池容量阈值(ceph存储池有哪些类型)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • iec104协议详解(iec101和iec104区别)2025-08-21 22:18:09
  • cnn什么意思骂人不带脏字(cnn什么意思的缩写)2025-08-21 22:18:09
  • 佳能cp1500和富士小俏印二代哪个好(富士小俏印和佳能1300)2025-08-21 22:18:09
  • vconsole是什么意思怎样能删除(如何删除vconsole)2025-08-21 22:18:09
  • ceph的存储类型(ceph支持的存储类型)2025-08-21 22:18:09
  • kubectl 命令(kubectl 命令补全)2025-08-21 22:18:09
  • dbf文件怎么转换成excel(dbf文件怎么转换成excel网站)2025-08-21 22:18:09
  • 数组方法map(数组方法slice)2025-08-21 22:18:09
  • MSVCP140.dll是什么意思(msvcp140.dll有什么影响)2025-08-21 22:18:09
  • hipee官网(hipc官网)2025-08-21 22:18:09
  • 全屏图片