7.8. BlueFS データの移行
RocksDB データである BlueStore ファイルシステム (BlueFS) のデータは、migrate
LVM サブコマンドを使用して、ソースボリュームからターゲットボリュームに移行することができます。成功すると、メインボリューム以外のソースボリュームが削除されます。
LVM ボリュームは主にターゲット専用になります。
新しいボリュームは、ソースドライブの 1 つを置き換えて、OSD にアタッチされます。
LVM ボリュームの配置ルールは以下の通りです。
- ソースリストに DB または WAL ボリュームがある場合、ターゲットデバイスはそれを置き換えます。
-
ソースリストのボリュームが遅いだけの場合は、
new-db
またはnew-wal
コマンドを使用した明示的な割り当てが必要です。
new-db
コマンドおよび new-wal
コマンドは、それぞれ DB または WAL ボリュームとして、特定の論理ボリュームを特定の OSD にアタッチします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph OSD ノードへのルートレベルのアクセス。
-
ceph-volume
ユーティリティーが準備する Ceph OSD。 - ボリュームグループと論理ボリュームが作成されます。
手順
cephadm
シェルにログインします。例
[root@host01 ~]# cephadm shell
DB または WAL デバイスを追加する OSD を停止します。
例
[ceph: root@host01 /]# ceph orch daemon stop osd.1
新しいデバイスをコンテナーにマウントします。
例
[root@host01 ~]# cephadm shell --mount /var/lib/ceph/72436d46-ca06-11ec-9809-ac1f6b5635ee/osd.1:/var/lib/ceph/osd/ceph-1
特定の論理ボリュームを DB/WAL デバイスとして OSD にアタッチします。
注記このコマンドは、OSD に DB がアタッチされている場合は失敗します。
構文
ceph-volume lvm new-db --osd-id OSD_ID --osd-fsid OSD_FSID --target VOLUME_GROUP_NAME/LOGICAL_VOLUME_NAME
例
[ceph: root@host01 /]# ceph-volume lvm new-db --osd-id 1 --osd-fsid 7ce687d9-07e7-4f8f-a34e-d1b0efb89921 --target vgname/new_db [ceph: root@host01 /]# ceph-volume lvm new-wal --osd-id 1 --osd-fsid 7ce687d9-07e7-4f8f-a34e-d1b0efb89921 --target vgname/new_wal
BlueFS のデータ移行は、以下の方法で行うことができます。
BlueFS データをメインデバイスから DB としてすでにアタッチされている LV に移動します。
構文
ceph-volume lvm migrate --osd-id OSD_ID --osd-fsid OSD_UUID --from data --target VOLUME_GROUP_NAME/LOGICAL_VOLUME_NAME
例
[ceph: root@host01 /]# ceph-volume lvm migrate --osd-id 1 --osd-fsid 0263644D-0BF1-4D6D-BC34-28BD98AE3BC8 --from data --target vgname/db
BlueFS データを共有のメインデバイスから、新しい DB としてアタッチされる LV に移動します。
構文
ceph-volume lvm migrate --osd-id OSD_ID --osd-fsid OSD_UUID --from data --target VOLUME_GROUP_NAME/LOGICAL_VOLUME_NAME
例
[ceph: root@host01 /]# ceph-volume lvm migrate --osd-id 1 --osd-fsid 0263644D-0BF1-4D6D-BC34-28BD98AE3BC8 --from data --target vgname/new_db
BlueFS データを DB デバイスから新しい LV に移動し、DB デバイスを置き換えます。
構文
ceph-volume lvm migrate --osd-id OSD_ID --osd-fsid OSD_UUID --from db --target VOLUME_GROUP_NAME/LOGICAL_VOLUME_NAME
例
[ceph: root@host01 /]# ceph-volume lvm migrate --osd-id 1 --osd-fsid 0263644D-0BF1-4D6D-BC34-28BD98AE3BC8 --from db --target vgname/new_db
BlueFS データをメインデバイスおよび DB デバイスから新しい LV に移動し、DB デバイスを置き換えます。
構文
ceph-volume lvm migrate --osd-id OSD_ID --osd-fsid OSD_UUID --from data db --target VOLUME_GROUP_NAME/LOGICAL_VOLUME_NAME
例
[ceph: root@host01 /]# ceph-volume lvm migrate --osd-id 1 --osd-fsid 0263644D-0BF1-4D6D-BC34-28BD98AE3BC8 --from data db --target vgname/new_db
BlueFS データをメインデバイス、DB デバイス、および WAL デバイスから新しい LV に移動し、WAL デバイスを削除して、DB デバイスを置き換えます。
構文
ceph-volume lvm migrate --osd-id OSD_ID --osd-fsid OSD_UUID --from data db wal --target VOLUME_GROUP_NAME/LOGICAL_VOLUME_NAME
例
[ceph: root@host01 /]# ceph-volume lvm migrate --osd-id 1 --osd-fsid 0263644D-0BF1-4D6D-BC34-28BD98AE3BC8 --from data db --target vgname/new_db
BlueFS データをメインデバイス、DB デバイス、および WAL デバイスからメインデバイスに移動し、WAL デバイスおよび DB デバイスを削除します。
構文
ceph-volume lvm migrate --osd-id OSD_ID --osd-fsid OSD_UUID --from db wal --target VOLUME_GROUP_NAME/LOGICAL_VOLUME_NAME
例
[ceph: root@host01 /]# ceph-volume lvm migrate --osd-id 1 --osd-fsid 0263644D-0BF1-4D6D-BC34-28BD98AE3BC8 --from db wal --target vgname/data