24.2. 将 OSD 从 FileStore 迁移到 BlueStore


要从 FileStore 迁移到 BlueStore,director 使用 Ansible 删除并重新创建节点上的所有 OSD。director 在迁移过程前执行容量检查。最后,director 使用 BlueStore 后端重新定义 OSD。

先决条件

  • 一个正常运行的 Red Hat Ceph Storage (RHCS) 4 集群。您可以通过在 Controller 或 Standalone Ceph MON 节点上的 ceph MON 容器中输入以下命令来检查集群:

    [root@overcloud-controller-1 ~]# podman exec -it ceph-mon-overcloud-controller-1 sh -c  "ceph  -s"

流程

  1. 确保 CephAnsibleDisksConfig 参数中的 osd_objectstore 不默认为 filestore。如果任何自定义 heat 环境文件中存在 osd_objectstore 参数,则必须明确定义 bluestore 的值。

    parameter_defaults:
      CephAnsibleDisksConfig:
        devices:
          - /dev/sdb
          - /dev/sdc
          - /dev/sdd
        osd_scenario: lvm
       osd_objectstore: bluestore
    注意

    如果您使用任何特定的 FileStore 配置,例如日志,请确保相应地更新配置。有关高级配置的更多信息,请参阅 Deploying an overcloud with containerized Red Hat Ceph 指南中的 Mapping the Ceph Storage Node Disk Layout

  2. stack 用户的身份登录 undercloud。
  3. 使用 ceph_fstobs 标签输入 openstack overcloud external-upgrade run 命令。将 <NODE_NAME > 替换为您要升级的 Ceph OSD 节点的名称。您可以使用 openstack server list 命令查找节点名称。

    [stack@undercloud ~] $ openstack overcloud external-upgrade run --tags ceph_fstobs -e ceph_ansible_limit=<NODE_NAME> | tee oc-fstobs.log
  4. 登录具有 Ceph MON 服务的节点,并查询 Ceph 集群来检查您升级的节点 OSD 的状态。在开始迁移下一个 OSD 节点前,您必须确保您已成功迁移升级:

    [heat-admin@overcloud-controller-1 ~]$ sudo -i
    [root@overcloud-controller-1 ~]# podman exec -it ceph-mon-overcloud-controller-1 sh -c "ceph -f json osd metadata" | jq -c '.[] | select(.hostname == "<NODE_NAME>") | ["host", .hostname, "osd_id", .id, "objectstore", .osd_objectstore]'
    [root@overcloud-controller-1 ~]# exit

    将 <NODE_NAME> 替换为迁移的节点的名称。如果结果显示 OSD 使用 BlueStore,则其迁移成功。

  5. 可选: 要查看特定 OSD 的更多详情,请输入以下命令:

    [root@overcloud-controller-1 ~]# podman exec -it ceph-mon-overcloud-controller-1 sh -c "ceph osd metadata <ID>"

    将 <ID> 替换为您要查询的 OSD 的 ID。

  6. 在下一个节点上启动迁移过程前,您必须等待集群同步。

    [root@overcloud-controller-1 ~]# podman exec -it ceph-mon-overcloud-controller-1 sh -c  "ceph  -s"
    Review the command output and ensure that the health of the cluster is `HEALTH_OK` and the PGs are in the `active+clean` state.
  7. 在下一个节点上启动迁移过程前,您必须等待集群重新平衡过程完成。要遵循状态,请运行以下命令:

    [heat-admin@overcloud-controller-0 ~]$ sudo podman exec ceph-mon-<NODE_NAME> ceph -w

    将 <NODE_NAME> 替换为迁移的节点的名称。

  8. 为存储集群中的每个节点重复迁移过程。

有关从 FileStore 迁移到 BlueStore 的更多信息,请参阅 Red Hat Ceph Storage 管理指南中的 BlueStore

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部