15.2. Red Hat Ceph Storage ノードのスケールダウンと置き換え
場合によっては、Red Hat Ceph Storage クラスターをスケールダウンしたり、Red Hat Ceph Storage ノードを置き換えたりしないといけない場合があります。いずれの場合も、データの損失を防ぐために、オーバークラウドから削除する Red Hat Ceph Storage ノードを無効にして再調整する必要があります。
director でデプロイされた Red Hat Ceph Storage を使用している場合は、コントローラーノードの置き換えによる影響を理解することが重要です。Ceph Monitor サービスはコントローラーノードで実行され、通常は Storage ネットワークから IP アドレスが割り当てられます。これらの Ceph Monitor サービス IP アドレスは、Red Hat Ceph Storage が使用される仮想マシンインスタンスに関連付けられます。コントローラーノードの代わり時に Ceph Monitor サービス IP アドレスが変更されても、これらのアドレスは動的に更新されません。これにより、特に複数のコントローラーノードが置き換えられる場合に、ストレージが停止する可能性があります。各仮想マシンインスタンスを移行、再起動、または退避して、IP アドレスの変更を解決し、停止する必要があります。
この状況を回避するために、新しい IP アドレスを使用する代わりに、削除された Ceph Monitor サービスインスタンスの IP アドレスを再利用します。
たとえば、オーバークラウド用のベアメタルノードのプロビジョニング の手順 5 の fixed_ip 設定の例を参照し てください。
コントローラーノードで以下のコマンドを使用して、現在の Ceph Monitor サービスの IP アドレスを検索します。
$ sudo cephadm shell -- ceph mon stat
Red Hat Ceph Storage クラスターに OSD を失うだけの容量がない場合は、この手順を続行しないでください。
-
tripleo-adminユーザーとしてオーバークラウドのコントローラーノードにログインします。 -
sudo cephadm shellコマンドを使用して、Ceph シェルを開始します。 ceph osd treeコマンドを使用して、サーバーによって削除される OSD を識別します。次の例では、
ceph-2ホストの OSD を識別します。[ceph: root@oc0-controller-0 /]# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.58557 root default -7 0.19519 host ceph-2 5 hdd 0.04880 osd.5 up 1.00000 1.00000 7 hdd 0.04880 osd.7 up 1.00000 1.00000 9 hdd 0.04880 osd.9 up 1.00000 1.00000 11 hdd 0.04880 osd.11 up 1.00000 1.00000- cephadm シェルを終了します。
Ceph クラスター仕様を YAML ファイルにエクスポートします。
$ sudo cephadm shell -- ceph orch ls --export > spec.yaml-
前の手順でエクスポートした仕様ファイルを編集します。
spec.yamlファイルのplacement:hostsセクションから、スケールダウンされたノードの出現をすべて削除します。 - 編集したファイルを保存します。
変更した Ceph 仕様ファイルを適用します。
$ sudo cephadm shell -m spec.yaml -- ceph orch apply -i /mnt/spec.yaml重要OSD を削除する前に Ceph 仕様ファイルをエクスポートして編集しない場合、Ceph Manager は OSD を再作成しようとします。
-
sudo cephadm shellコマンドを使用して、Ceph シェルを開始します。 OSD を削除するには、コマンド
ceph orch osd rm --zap <osd_list>を使用します。[ceph: root@oc0-controller-0 /]# ceph orch osd rm --zap 5 7 9 11 Scheduled OSD(s) for removal [ceph: root@oc0-controller-0 /]# ceph orch osd rm status OSD_ID HOST STATE PG_COUNT REPLACE FORCE DRAIN_STARTED_AT 7 ceph-2 draining 27 False False 2021-04-23 21:35:51.215361 9 ceph-2 draining 8 False False 2021-04-23 21:35:49.111500 11 ceph-2 draining 14 False False 2021-04-23 21:35:50.243762コマンド
ceph orch osd statusを使用して、OSD 削除のステータスを確認します。[ceph: root@oc0-controller-0 /]# ceph orch osd rm status OSD_ID HOST STATE PG_COUNT REPLACE FORCE DRAIN_STARTED_AT 7 ceph-2 draining 34 False False 2021-04-23 21:35:51.215361 11 ceph-2 draining 14 False False 2021-04-23 21:35:50.243762警告このコマンドが結果を返さなくなるまで、次のステップに進まないでください。
コマンド
ceph orch host drain <HOST>を使用して、残りのデーモンをドレインします。[ceph: root@oc0-controller-0 /]# ceph orch host drain ceph-2コマンド
ceph orch host rm <HOST>を使用して、ホストを削除します。[ceph: root@oc0-controller-0 /]# ceph orch host rm ceph-2注記このノードは Ceph クラスターでは使用されなくなりましたが、まだベアメタルノードとして director により管理されます。
Ceph シェルセッションを終了します。
注記Ceph クラスターのスケールダウンが一時的であり、削除されたノードが後で復元される場合、スケールアップアクションは
countを増やし、以前はprovisioned: falseに設定されていたノードでprovisioned: trueを設定できます。ノードが再利用されない場合は、provisioned: falseを無期限で設定し、スケールアップアクションで新しいインスタンスエントリーを指定できます。+ 次のファイルサンプルは、各インスタンスの例をいくつか示しています。
- name: Compute count: 2 instances: - hostname: overcloud-compute-0 name: node10 # Removed from deployment due to disk failure provisioned: false - hostname: overcloud-compute-1 name: node11 - hostname: overcloud-compute-2 name: node12- director からノードを削除するには、director を 使用した Red Hat OpenStack Platform のインストールと管理 の ベアメタルノードのスケールダウン を参照してください。