16.4. コントローラーノードの置き換え
コントローラーノードを置き換えるには、置き換えるノードのインデックスを特定します。
- ノードが仮想ノードの場合には、障害の発生したディスクが含まれるノードを特定し、バックアップからそのディスクをリストアします。障害の発生したサーバー上での PXE ブートに使用する NIC の MAC アドレスは、ディスク置き換え後も同じアドレスにしてください。
- ノードがベアメタルノードの場合には、ディスクを置き換え、オーバークラウド設定で新しいディスクを準備し、新しいハードウェア上でノードのイントロスペクションを実施します。
- ノードがフェンシングの設定された高可用性クラスタの一部である場合、Galera ノードを個別に復元しなければならない場合があります。詳しくは、アーティクル「How Galera works and how to rescue Galera clusters in the context of Red Hat OpenStack Platform」を参照してください。
overcloud-controller-1 ノードを overcloud-controller-3 ノードに置き換えるには、以下の手順例を実施します。overcloud-controller-3 ノードの ID は 75b25e9a-948d-424a-9b3b-f0ef70a6eacf です。
ノードを既存のベアメタルノードに置き換えるには、director がノードを自動的に再プロビジョニングしないように、削除するノードをメンテナンスモードに切り替えます。
オーバークラウドのコントローラーノードを置き換えると、ノード間で swift リングの一貫性が失われる可能性があります。これにより、Object Storage サービスの可用性が低下する場合があります。これは既知の問題です。その場合には、SSH を使用してそれまで存在していたコントローラーノードにログインして更新されたリングをデプロイし、Object Storage コンテナーを再起動します。
手順
stackrcファイルを取得します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow overcloud-controller-1ノードのインデックスを特定します。INSTANCE=$(openstack server list --name overcloud-controller-1 -f value -c ID)
$ INSTANCE=$(openstack server list --name overcloud-controller-1 -f value -c ID)Copy to Clipboard Copied! Toggle word wrap Toggle overflow インスタンスに関連付けられたベアメタルノードを特定します。
NODE=$(openstack baremetal node list -f csv --quote minimal | grep $INSTANCE | cut -f1 -d,)
$ NODE=$(openstack baremetal node list -f csv --quote minimal | grep $INSTANCE | cut -f1 -d,)Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードをメンテナンスモードに切り替えます。
openstack baremetal node maintenance set $NODE
$ openstack baremetal node maintenance set $NODECopy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーノードが仮想ノードの場合には、コントローラーホストで以下のコマンドを実行し、障害の発生した仮想ディスクをバックアップからの仮想ディスクに置き換えます。
cp <VIRTUAL_DISK_BACKUP> /var/lib/libvirt/images/<VIRTUAL_DISK>
$ cp <VIRTUAL_DISK_BACKUP> /var/lib/libvirt/images/<VIRTUAL_DISK>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <VIRTUAL_DISK_BACKUP>を障害の発生した仮想ディスクのバックアップへのパスに、<VIRTUAL_DISK>を置き換える仮想ディスクの名前にそれぞれ置き換えます。削除するノードのバックアップがない場合には、新しい仮想ノードを使用する必要があります。
コントローラーノードがベアメタルノードの場合には、以下の手順を実施してディスクを新しいベアメタルディスクに置き換えます。
- 物理ハードドライブまたはソリッドステートドライブを置き換えます。
- 障害が発生したノードと同じ設定のノードを準備します。
関連付けられていないノードの一覧を表示し、新規ノードの ID を特定します。
openstack baremetal node list --unassociated
$ openstack baremetal node list --unassociatedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規ノードを
controlプロファイルにタグ付けします。(undercloud) $ openstack baremetal node set --property capabilities='profile:control,boot_option:local' 75b25e9a-948d-424a-9b3b-f0ef70a6eacf
(undercloud) $ openstack baremetal node set --property capabilities='profile:control,boot_option:local' 75b25e9a-948d-424a-9b3b-f0ef70a6eacfCopy to Clipboard Copied! Toggle word wrap Toggle overflow