7.8. 迁移 BlueFS 数据
您可以使用 migrate
LVM 子命令将位于 RocksDB 数据的 BlueStore 文件系统 (BlueFS) 数据迁移到目标卷。源卷(除主卷)被删除成功。
LVM 卷主要用于目标。
新卷附加到 OSD,替换其中一个源驱动器。
以下是 LVM 卷的放置规则:
- 如果源列表有 DB 或 WAL 卷,则目标设备会替换它。
-
如果源列表仅具有较慢的卷,则需要使用
new-db
或new-wal
命令显式分配。
new-db
和 new-wal
命令分别将给定逻辑卷作为 DB 或 WAL 卷附加到给定的 OSD。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 对 Ceph OSD 节点的 root 级别访问权限。
-
Ceph OSD 由
ceph-volume
实用程序准备。 - 创建卷组和逻辑卷。
流程
登录到
cephadm
shell:示例
[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 数据从共享主设备移动到 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 数据从 main、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 数据从 main、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