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