24.2. FileStore から BlueStore への OSD の移行

FileStore から BlueStore に移行するのに、director は Ansible を使用してノード上のすべての OSD を削除して再作成します。director は、移行プロセスの前に容量の確認を行います。最後に、director は BlueStore バックエンドを使用して OSD を再デプロイします。

前提条件

  • 正常な稼働中の Red Hat Ceph Storage (RHCS) 4 クラスター。コントローラーノードまたはスタンドアロンの Ceph MON ノード上の ceph MON コンテナーにおいて、以下のコマンドを入力してクラスターを確認することができます。

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

手順

  1. CephAnsibleDisksConfig パラメーターの osd_objectstorefilestore にデフォルト設定されないようにします。いずれかのカスタム heat 環境ファイルに osd_objectstore パラメーターが存在する場合は、bluestore の値を明示的に定義する必要があります。

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

    ジャーナル等に対する特定の FileStore 設定がある場合は、適切に設定を更新するようにしてください。高度な設定についての詳しい情報は、コンテナー化された Red Hat Ceph を持つオーバークラウドのデプロイCeph Storage ノードのディスクレイアウトのマッピング を参照してください。

  2. アンダークラウドに stack ユーザーとしてログインします。
  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 を参照してください。