Ceph:SSD日志故障后的OSD恢复

本文由 Ceph中国社区-Thomas翻译,小猴子校稿。

英文出处:Sébastien Han 欢迎加入 翻译组

通常建议将OSD日志存放在一个独立的SSD上,这意味着当日志故障时OSD数据目录不受牵连。本文假定你的OSDs初始是通过 ceph-disk 部署的。你也会意识到通过用新的SSD替换故障SSD,让你的OSDs“起死回生”是多么的简单。

即使OSD出现段错误,只要数据目录还处于挂载状态,你就能很容易的得到日志的FSID:

$ journal_uuid=$(sudo cat /var/lib/ceph/osd/ceph-0/journal_uuid)

$ sudo sgdisk --new=1:0:+20480M --change-name=1:'ceph journal' --partition-guid=1:$journal_uuid --typecode=1:$journal_uuid --mbrtogpt -- /dev/sdk

执行上述操作后,日志软连接/var/lib/ceph/osd/ceph-0/journal将不再是损坏状态而变得可用。现在让我们在新分区上重建日志并启动OSD。
$ sudo ceph-osd --mkjournal -i 20

$ sudo service ceph start osd.20

脚本福利大放送:

!/bin/bash

    osds="1 2 3"

journal_disk=/dev/sdk

for osd_id in $osds; do
journal_uuid=$(sudo cat /var/lib/ceph/osd/ceph-$osd_id/journal_uuid)
sudo sgdisk --new=0:0:+20480M --change-name=0:'ceph journal' --partition-guid=0:$journal_uuid --typecode=0:$journal_uuid --mbrtogpt -- $journal_disk
sudo ceph-osd --mkjournal -i $osd_id
sudo service ceph start osd.$osd_id
done

简单吧?要创建更多的分区,只需要简单的用另外一个数字替换sgdisk命令中的分区号1。

Leave a Comment

电子邮件地址不会被公开。