问题描述
该笔记将记录:在 Ceph Cluster 中,如何对 OSD 进行管理,以及相关问题的解决方案;
解决方案
OSD 维护是 Ceph Cluster 维护的常见任务;
增加 OSD 实例(增)
添加 OSD 实例
Ceph Documentation/OSD Service/CREATING NEW OSDS
# Tell Ceph to consume any available and unused storage device:
ceph orch apply osd –all-available-devices
# Create an OSD from a specific device on a specific host:
ceph orch daemon add osd *<host>*:*<device-path>*
# ceph osd tree
通过标志位,控制 OSD 行为
noout:该标志位将使 Ceph 集群不会将任何 OSD 标记为 out,无论其实际状态如何。这将会把所有的 OSD 保留在 Ceph 集群中; nodown:该标志位将使得 Ceph 集群不会将任何 OSD 标记为 down,无论其实际状态如何。这将会使集群中的所有 OSD 保持 UP 状态,而不会是 DOWN 状态; noup:该标志位将使得 Ceph 集群不会将任何 DOWN OSD 标记为 UP 状态。这样,任何被标记为 DOWN 的 OSD 都将只有在该标志位被清除以后,才会被标记为 UP。该标志位也会被用于新加入集群中的 OSD; noin:该标志位将使得 Ceph 集群不允许任何新的 OSD 加入集群。这在需要一次性加入多个 OSD 到集群中而不想它们自动地被加入集群时非常有用; norecover:该标志位将使得 Ceph 集群不做集群恢复(cluster recovery); nobackfil1:该标志位将使得 Ceph 集群不做数据回填 (backfilling)。这在一次性加入多个 OSD 但是不想 Ceph 自动将数据分布到它们上时会非常有用; norebalance:该标志位将使得 Ceph 集群不做任何集群再平衡(cluster rebalancing ); noscrub:该标志位将使得 Ceph 集群不做 OSD 清理 (scrubbing); nodeep-scrub:该标志位将使得 Ceph 不做 OSD 深度清理(deep scrubbing ); notieragent:该标志位将禁用缓存分层代理 (cache pool tiering agent);
# ceph osd set noout
# ce[……]