第10章 ノードのリブート
アンダークラウドおよびオーバークラウドで、ノードをリブートしなければならない場合があります。以下の手順では、異なるノード種別をリブートする方法を説明します。以下の点に注意してください。
- 1 つのロールで全ノードをリブートする場合には、各ノードを個別にリブートすることを推奨しています。この方法は、リブート中にそのロールのサービスを保持するのに役立ちます。
- OpenStack Platform 環境の全ノードをリブートする場合、リブートの順序は以下のリストを参考にしてください。
推奨されるノードリブート順
- director のリブート
- コントローラーノードのリブート
- スタンドアロンの Ceph MON ノードのリブート
- Ceph Storage ノードのリブート
- コンピュートノードのリブート
- オブジェクトストレージノードのリブート
10.1. director のリブート リンクのコピーリンクがクリップボードにコピーされました!
director ノードをリブートするには、以下のプロセスに従います。
ノードをリブートします。
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートするまで待ちます。
ノードがブートしたら、全サービスのステータスを確認します。
sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
$ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記リブート後に
openstack-nova-computeが有効になるまでに約 10 分かかる場合があります。オーバークラウドとそのノードが存在することを確認します。
source ~/stackrc openstack server list openstack baremetal node list openstack stack list
$ source ~/stackrc $ openstack server list $ openstack baremetal node list $ openstack stack listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2. コントローラーノードのリブート リンクのコピーリンクがクリップボードにコピーされました!
コントローラーノードをリブートするには、以下のプロセスに従います。
リブートするノードを選択します。リブートする前に、そのノードにログインしてクラスターを停止します。
sudo pcs cluster stop
$ sudo pcs cluster stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターをリブートします。
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow リブート中、クラスターの残りのコントローラーノードは高可用性サービスを維持します。
- ノードがブートするまで待ちます。
ノードのクラスターを再度有効化します。
sudo pcs cluster start
$ sudo pcs cluster startCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノードにログインして、クラスターのステータスを確認します。
sudo pcs status
$ sudo pcs statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノードは、クラスターに再度参加します。
注記リブート後にエラーの生じるサービスがあった場合には、
sudo pcs resource cleanupを実行し、エラーを消去して各リソースの状態をStartedに設定します。引き続きエラーが発生する場合は、Red Hat に連絡してアドバイス/サポートをリクエストしてください。コントローラーノード上の
systemdサービスがすべてアクティブであることを確認します。sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
$ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードからログアウトして、次にリブートするコントローラーノードを選択し、すべてのコントローラーノードをリブートするまでこの手順を繰り返します。
10.3. スタンドアロンの Ceph MON ノードのリブート リンクのコピーリンクがクリップボードにコピーされました!
Ceph MON ノードをリブートするには、以下のプロセスに従います。
- Ceph MON ノードにログインします。
ノードをリブートします。
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートして MON クラスターに再度加わるまで待ちます。
クラスター内の各 MON ノードで、この手順を繰り返します。
10.4. Ceph Storage ノードのリブート リンクのコピーリンクがクリップボードにコピーされました!
Ceph Storage ノードをリブートするには、以下のプロセスに従います。
Ceph MON またはコントローラーノードにログインして、Ceph Storage クラスターのリバランスを一時的に無効にします。
sudo ceph osd set noout sudo ceph osd set norebalance
$ sudo ceph osd set noout $ sudo ceph osd set norebalanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - リブートする最初の Ceph Storage ノードを選択して、ログインします。
ノードをリブートします。
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートするまで待ちます。
ノードにログインして、クラスターのステータスを確認します。
sudo ceph -s
$ sudo ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow pgmapにより、すべてのpgsが正常な状態 (active+clean) として報告されることを確認します。- ノードからログアウトして、次のノードをリブートし、ステータスを確認します。全 Ceph Storage ノードがリブートされるまで、このプロセスを繰り返します。
完了したら、Ceph MON またはコントローラーノードにログインして、クラスターのリバランスを再度有効にします。
sudo ceph osd unset noout sudo ceph osd unset norebalance
$ sudo ceph osd unset noout $ sudo ceph osd unset norebalanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最終のステータスチェックを実行して、クラスターが
HEALTH_OKを報告していることを確認します。sudo ceph status
$ sudo ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.5. コンピュートノードのリブート リンクのコピーリンクがクリップボードにコピーされました!
各コンピュートノードを個別にリブートして、OpenStack Platform 環境のインスタンスのダウンタイムがゼロになるようにします。これは、以下のワークフローを伴います。
- リブートするコンピュートノードを選択する。
- そのノードのインスタンスを別のコンピュートノードに移行する。
- 空のコンピュートノードをリブートする
全コンピュートノードとその UUID を一覧表示します。
nova list | grep "compute"
$ nova list | grep "compute"
リブートするコンピュートノードを選択し、まず以下のプロセスに従ってそのノードのインスタンスを移行します。
アンダークラウドから、リブートするコンピュートノードを選択し、そのノードを無効にします。
source ~/overcloudrc openstack compute service list openstack compute service set [hostname] nova-compute --disable
$ source ~/overcloudrc $ openstack compute service list $ openstack compute service set [hostname] nova-compute --disableCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンピュートノード上の全インスタンスを一覧表示します。
openstack server list --host [hostname] --all-projects
$ openstack server list --host [hostname] --all-projectsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 無効にしたホストから各インスタンスを移行します以下のコマンドの 1 つを使用します。
選択した特定のホストにインスタンスを移行する。
openstack server migrate [instance-id] --live [target-host]--wait
$ openstack server migrate [instance-id] --live [target-host]--waitCopy to Clipboard Copied! Toggle word wrap Toggle overflow nova-schedulerにより対象のホストが自動的に選択されるようにする。nova live-migration [instance-id]
$ nova live-migration [instance-id]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記novaコマンドで非推奨の警告が表示される可能性がありますが、無視して問題ありません。
- 移行が完了するまで待ちます。
インスタンスがコンピュートノードから移行されたことを確認します。
openstack server list --host [hostname] --all-projects
$ openstack server list --host [hostname] --all-projectsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コンピュートノードから全インスタンスを移行するまで、このステップを繰り返します。
インスタンスの設定および移行に関する詳しい説明は、「8章コンピュートノード間の仮想マシンの移行」を参照してください。
以下の手順に従ってコンピュートノードをリブートします。
コンピュートノードにログインして、リブートします。
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートするまで待ちます。
コンピュートノードを再度有効化します。
source ~/overcloudrc openstack compute service set [hostname] nova-compute --enable
$ source ~/overcloudrc $ openstack compute service set [hostname] nova-compute --enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 次にリブートするノードを選択します。
10.6. オブジェクトストレージノードのリブート リンクのコピーリンクがクリップボードにコピーされました!
オブジェクトストレージノードをリブートするには、以下のプロセスに従います。
リブートするオブジェクトストレージノードを選択します。そのノードにログインしてリブートします。
sudo reboot
$ sudo rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードがブートするまで待ちます。
ノードにログインしてステータスを確認します。
sudo systemctl list-units "openstack-swift*"
$ sudo systemctl list-units "openstack-swift*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードからログアウトし、次のオブジェクトストレージノードでこのプロセスを繰り返します。