8.10. Ceph 维护

8.10.1 更换OSD

Ceph中的常见维护任务之一是更换OSD的磁盘。如果磁盘已经处于故障状态,则可以继续执行销毁OSD中的步骤。如果可能,Ceph将在剩余的OSD上重新创建这些副本。一旦检测到OSD故障或主动停止了OSD,重新平衡将立即开始。

注意

  • 使用pool的默认容量/最小容量(3/2),恢复仅在‘size+1’节点可用时开始。这样做的原因是Ceph对象平衡器Ceph crush缺省为一个完整的节点作为“故障域”。

要更换仍然正常工作的磁盘,请在GUI上执行销毁OSD中的步骤。唯一需要添加的是等待群集显示HANTON_OK,然后再停止OSD将其销毁。

在命令行上使用以下命令。

ceph osd out osd.<id>

您可以使用下面的命令检查是否可以安全地移除OSD。

ceph osd safe-to-destroy osd.<id>

一旦上面的检查告诉您已保存以删除OSD,您就可以继续执行以下命令。

systemctl stop ceph-osd@<id>.service 
pveceph osd destroy <id>

用新磁盘替换旧磁盘,并使用创建OSD中描述的相同过程。

8.10.2 Trim/Discard

在虚拟机或容器上定期运行fstrim(丢弃)是一种很好的措施。这会释放文件系统不再使用的数据块。它减少了数据使用和资源负载。大多数操作系统定期向其磁盘发出这样的丢弃命令。您只需确保虚拟机启用磁盘丢弃选项第10.2.4节。

8.10.3 Scrub & Deep Scrub

Ceph通过清理放置组来确保数据完整性。Ceph会检查PG中的每个对象的健康状况。有两种形式的清理,每日简单元数据检查和每周深度数据检查。每周深度清理读取对象并使用校验和来确保数据完整性。如果正在运行的擦除干扰业务(性能)需求,您可以调整执行擦除的时间。