====== 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}}