8.5. Ceph Storage ノードの置き換え

Ceph Storage ノードに障害が発生する可能性があります。このような状況では、データが失われないように、問題のあるノードを無効化してリバランスしてから、オーバークラウドから削除するようにしてください。以下の手順では、Ceph Storage ノードを置き換えるプロセスについて説明します。

注記

以下の手順では、『Red Hat Ceph Storage Administration Guide』からの手順を使用して、手動で Ceph Storage ノードを削除します。Ceph Storage ノードの手動での削除に関する詳しい情報は、『Red Hat Ceph Storage Administration Guide』の「Chapter 15. Removing OSDs (Manual)」を参照してください。
  1. heat-admin ユーザーとして、コントローラーノードまたは Ceph Storage ノードにログインします。director の stack ユーザーには、heat-admin ユーザーにアクセスするための SSH キーがあります。
  2. OSD ツリーを一覧表示して、ノードの OSD を検索します。たとえば、削除するノードには、以下の OSD が含まれる場合があります。
    -2 0.09998     host overcloud-cephstorage-0
    0 0.04999         osd.0                         up  1.00000          1.00000
    1 0.04999         osd.1                         up  1.00000          1.00000
    
  3. Ceph Storage ノードの OSD を無効化します。今回は、OSD ID は 0 と 1 です。
    [heat-admin@overcloud-controller-0 ~]$ sudo ceph osd out 0
    [heat-admin@overcloud-controller-0 ~]$ sudo ceph osd out 1
    
    Ceph Storage Cluster がリバランスを開始します。このプロセスが完了するまで待ってください。以下のコマンドを使用して、ステータスを確認できます。
    [heat-admin@overcloud-controller-0 ~]$ sudo ceph -w
    
  4. Ceph クラスターのリバランスが完了したら、heat-admin ユーザーとして、問題のある Ceph Storage ノードにログインして、このノードを停止します。
    [heat-admin@overcloud-cephstorage-0 ~]$ sudo /etc/init.d/ceph stop osd.0
    [heat-admin@overcloud-cephstorage-0 ~]$ sudo /etc/init.d/ceph stop osd.1
    
  5. これ以上データを受信しないように、CRUSH マップからこの Ceph Storage ノードを削除します。
    [heat-admin@overcloud-cephstorage-0 ~]$ sudo ceph osd crush remove osd.0
    [heat-admin@overcloud-cephstorage-0 ~]$ sudo ceph osd crush remove osd.1
    
  6. OSD 認証キーを削除します。
    [heat-admin@overcloud-cephstorage-0 ~]$ sudo ceph auth del osd.0
    [heat-admin@overcloud-cephstorage-0 ~]$ sudo ceph auth del osd.1
    
  7. クラスターから OSD を削除します。
    [heat-admin@overcloud-cephstorage-0 ~]$ sudo ceph osd rm 0
    [heat-admin@overcloud-cephstorage-0 ~]$ sudo ceph osd rm 1
    
  8. ノードからログアウトして、stack ユーザーとして director ホストに戻ります。
    [heat-admin@overcloud-cephstorage-0 ~]$ exit
    [stack@director ~]$
    
  9. director が再度プロビジョニングしないように、Ceph Storage ノードを無効にします。
    [stack@director ~]$ ironic node-list
    [stack@director ~]$ ironic node-set-maintenance [UUID] true
    
  10. Ceph Storage ノードを削除するには、ローカルのテンプレートファイルを使用して overcloud スタックへの更新が必要です。最初に、オーバークラウドスタックの UUID を特定します。
    $ heat stack-list
    
    削除する Ceph Storage ノードの UUID を特定します。
    $ nova list
    
    以下のコマンドを実行してスタックからノードを削除し、それに応じてプランを更新します。
    $ openstack overcloud node delete --stack [STACK_UUID] --templates -e [ENVIRONMENT_FILE] [NODE1_UUID] [NODE2_UUID] [NODE3_UUID]
    

    重要

    オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで -e または --environment-file オプションを使用して環境ファイルを再度渡します。
    stack が更新を完了するまで待ちます。heat stack-list --show-nested を使用して、stack の更新を監視します。
  11. 「コンピュートノードまたは Ceph Storage ノードの追加」の手順に従って新しいノードを director のノードプールに追加し、Ceph Storage ノードとしてデプロイします。--ceph-storage-scale を使用してオーバークラウド内の Ceph Storage ノードの合計数を定義します。たとえば、3 つのノードで構成されるクラスターから、問題があって削除したノードを置き換える場合には、 --ceph-storage-scale 3 を使用すると Ceph Storage ノードの数が元の値に戻ります。
    $ openstack overcloud deploy --templates --ceph-storage-scale 3 -e [ENVIRONMENT_FILES]
    

    重要

    オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで -e または --environment-file オプションを使用して環境ファイルを再度渡します。
    director は、新しいノードをプロビジョニングして、新しいノードの詳細を用いて stack 全体を更新します。
  12. heat-admin ユーザーとしてコントローラーノードにログインして、Ceph Storage ノードのステータスを確認します。以下に例を示します。
    [heat-admin@overcloud-controller-0 ~]$ sudo ceph status
    
    osdmap セクションの値が、クラスターで必要なノード数と一致していることを確認します。
エラーの発生した Ceph Storage ノードが新規ノードに置き換えられました。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。