====== 32 Ceph 再同期 ======
===== 1.LVM設定 =====
※RAMディスクを利用しているため、サーバ強制停止後は基本的にLVMが壊れています。
下記でramdisk作成、opencasで/dev/ceph/lvをキャッシュするように設定している。
modprobe brd rd_size=8192000
casadm -S -i 1 -d /dev/ram1 -c wb
casadm -A -i 1 -d /dev/ceph/lv
上記の設定で下記のLVMが見えているはず
[root@ceph001 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
rocksdb cas -wi-ao---- <200.00g
waldb cas -wi-ao---- 2.00g
home centos -wi-ao---- <779.45g
root centos -wi-ao---- 50.00g
swap centos -wi-ao---- <7.88g
lv ceph -wi-ao---- 202.00g
osd ceph -wi-ao---- <10.45t
===== 2.再同期 =====
LVMが見えると、ceph-volume lvm listでリストが見える。
[root@ceph005 ~]# ceph-volume lvm list
====== osd.3 =======
[db] /dev/cas/rocksdb
block device /dev/ceph/osd
block uuid Hq1Za9-hglA-4O2Z-YIgG-nB9k-xoep-Ah7nu0
cephx lockbox secret
cluster fsid 68be67b9-b1a6-411e-8b65-c29c23a7968a
cluster name ceph
crush device class None
db device /dev/cas/rocksdb
db uuid V1FXMK-ceJQ-loMb-n2oO-7kPh-kITD-ivaVSy
encrypted 0
osd fsid 7b03b099-c6bb-47b7-b010-143799410dda
osd id 3
type db
vdo 0
wal device /dev/cas/waldb
wal uuid f0EUdc-V2c2-O8NM-nnE3-2xQn-2Mht-UXgsIo
devices /dev/cas1-1
[wal] /dev/cas/waldb
block device /dev/ceph/osd
block uuid Hq1Za9-hglA-4O2Z-YIgG-nB9k-xoep-Ah7nu0
cephx lockbox secret
cluster fsid 68be67b9-b1a6-411e-8b65-c29c23a7968a
cluster name ceph
crush device class None
encrypted 0
osd fsid 7b03b099-c6bb-47b7-b010-143799410dda
osd id 3
type wal
vdo 0
wal device /dev/cas/waldb
wal uuid f0EUdc-V2c2-O8NM-nnE3-2xQn-2Mht-UXgsIo
devices /dev/cas1-1
[block] /dev/ceph/osd
block device /dev/ceph/osd
block uuid Hq1Za9-hglA-4O2Z-YIgG-nB9k-xoep-Ah7nu0
cephx lockbox secret
cluster fsid 68be67b9-b1a6-411e-8b65-c29c23a7968a
cluster name ceph
crush device class None
db device /dev/cas/rocksdb
db uuid V1FXMK-ceJQ-loMb-n2oO-7kPh-kITD-ivaVSy
encrypted 0
osd fsid 7b03b099-c6bb-47b7-b010-143799410dda
osd id 3
type block
vdo 0
wal device /dev/cas/waldb
wal uuid f0EUdc-V2c2-O8NM-nnE3-2xQn-2Mht-UXgsIo
devices /dev/sdb
==== Ⅰ. OSDをそのまま起動のパターン ====
もしも、rocksdb/waldb/osdなど壊れてなければ、このままOSDをactivateすれば再同期されます。
ceph-volume lvm activate {ID} {FSID}
ceph-volume lvm activate 3 7b03b099-c6bb-47b7-b010-143799410dda
=== ログ確認 ===
tailf /var/log/ceph/ceph-osd.3.log
==== Ⅱ. 普通に起動できないパターン ====
データが壊れていて、OSDが同期できない状態の場合は、全てデータを消してネットワーク越しに再同期します。
=== 一度LVMを削除する ===
# lvremote /dev/ceph/osd
# lvremote /dev/cas/rocksdb
# lvremote /dev/cas/waldb
# lvcreate -l 100%free -n osd ceph
# lvcreate -L 2G -n waldb cas
# lvcreate -l 100%free -n rocksdb cas
=== 壊れた対象ののOSDを削除 ===
ID 3を想定して記載
[root@ceph005 ~]# ceph osd status
+----+---------+-------+-------+--------+---------+--------+---------+----------------+
| id | host | used | avail | wr ops | wr data | rd ops | rd data | state |
+----+---------+-------+-------+--------+---------+--------+---------+----------------+
| 0 | ceph001 | 3060G | 7835G | 14 | 388k | 0 | 0 | exists,up |
| 1 | ceph002 | 3285G | 7610G | 22 | 1382k | 2 | 1638 | exists,up |
| 2 | ceph004 | 2882G | 8014G | 16 | 485k | 2 | 0 | exists,up |
| 3 | ceph005 | 0 | 0 | 3 | 49.6k | 0 | 0 | autoout,exists |
| 4 | ceph006 | 2815G | 8080G | 9 | 450k | 2 | 825 | exists,up |
| 5 | ceph003 | 3360G | 7536G | 29 | 593k | 2 | 4096 | exists,up |
+----+---------+-------+-------+--------+---------+--------+---------+----------------+
下記のコマンドでOSDの「3」が消えます。
# OSD=3
# ceph osd out osd.$OSD
# ceph osd crush remove osd.$OSD
# ceph auth del osd.$OSD
# ceph osd down osd.$OSD
# ceph osd rm $OSD
=== 再度OSDの準備 ===
# ceph-volume lvm prepare --bluestore --data /dev/ceph/osd --block.db cas/rocksdb --block.wal cas/waldb
=== OSD起動 ===
# systemctl reset-failed ceph-osd@3
# systemctl start ceph-osd@3
{{tag>Ceph}}