第12章 ノードの再起動
アンダークラウドおよびオーバークラウドでノードを再起動する必要がある場合があります。以下の手順では、異なるノード種別を再起動する方法を説明します。以下の点に注意してください。
- 1 つのロールで全ノードを再起動する場合には、各ノードを個別に再起動することを推奨しています。この方法は、再起動中にそのロールのサービスを保持するのに役立ちます。
- OpenStack Platform 環境の全ノードを再起動する場合、再起動の順序は以下のリストを参考にしてください。
推奨されるノード再起動順
- director の再起動
- コントローラーとその他のコンポーザブルノードを再起動します。
- Ceph Storage ノードの再起動
- コンピュートノードの再起動
12.1. アンダークラウドノードの再起動
以下の手順では、アンダークラウドノードを再起動します。
手順
-
アンダークラウドに
stackユーザーとしてログインします。 アンダークラウドを再起動します。
$ sudo reboot
- ノードが起動するまで待ちます。
12.2. コントローラーノードおよびコンポーザブルノードの再起動
以下の手順では、コントローラーノードと、コンポーザブルロールをベースとするスタンドアロンのノードを再起動します。これには、コンピュートノードと Ceph Storage ノードは含まれません。
手順
- ノードを選択してログインします。
ノードを再起動します。
[heat-admin@overcloud-controller-0 ~]$ sudo reboot
- ノードが起動するまで待ちます。
ノードにログインしてサービスをチェックします。以下に例を示します。
ノードが Pacemaker サービスを使用している場合には、ノードがクラスターに再度参加したかどうかを確認します。
[heat-admin@overcloud-controller-0 ~]$ sudo pcs status
ノードが Systemd サービスを使用している場合には、全サービスが有効化されているかどうかを確認します。
[heat-admin@overcloud-controller-0 ~]$ sudo systemctl status
12.3. Ceph Storage (OSD) クラスターの再起動
以下の手順では、Ceph Storage (OSD) ノードのクラスターを再起動します。
手順
Ceph MON またはコントローラーノードにログインして、Ceph Storage クラスターのリバランスを一時的に無効にします。
$ sudo ceph osd set noout $ sudo ceph osd set norebalance
- 再起動する最初の Ceph Storage ノードを選択して、ログインします。
ノードを再起動します。
$ sudo reboot
- ノードが起動するまで待ちます。
ノードにログインして、クラスターのステータスを確認します。
$ sudo ceph -s
pgsがpgmapにより通常通りに報告されていることを確認します (active+clean)。- ノードからログアウトして、次のノードを再起動し、ステータスを確認します。全 Ceph Storage ノードが再起動されるまで、このプロセスを繰り返します。
完了したら、Ceph MON またはコントローラーノードにログインして、クラスターのリバランスを再度有効にします。
$ sudo ceph osd unset noout $ sudo ceph osd unset norebalance
最終のステータスチェックを実行して、クラスターが
HEALTH_OKを報告していることを確認します。$ sudo ceph status
12.4. コンピュートノードの再起動
以下の手順では、コンピュートノードを再起動します。OpenStack Platform 環境内のインスタンスのダウンタイムを最小限に抑えるために、この手順には、選択したコンピュートノードからインスタンスを移行するステップも含まれています。これは、以下のワークフローを伴います。
- 再起動するコンピュートノードを選択して無効にし、新規インスタンスをプロビジョニングしないようにします。
- インスタンスを別のコンピュートノードに移行します。
- 空のコンピュートノードを再起動して有効化します。
手順
-
アンダークラウドに
stackユーザーとしてログインします。 全コンピュートノードとその UUID を一覧表示します。
$ source ~/stackrc (undercloud) $ openstack server list --name compute
再起動するコンピュートノードのUUID を特定します。
アンダークラウドから、コンピュートノードを選択し、そのノードを無効にします。
$ source ~/overcloudrc (overcloud) $ openstack compute service list (overcloud) $ openstack compute service set [hostname] nova-compute --disable
コンピュートノード上の全インスタンスを一覧表示します。
(overcloud) $ openstack server list --host [hostname] --all-projects
以下のコマンドの 1 つを使用して、インスタンスを移行します。
選択した特定のホストにインスタンスを移行します。
(overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
nova-schedulerにより対象のホストが自動的に選択されるようにします。(overcloud) $ nova live-migration [instance-id]
一度にすべてのインスタンスのライブマイグレーションを行います。
$ nova host-evacuate-live [hostname]
注記novaコマンドで非推奨の警告が表示される可能性がありますが、安全に無視することができます。
- 移行が完了するまで待ちます。
正常に移行したことを確認します。
(overcloud) $ openstack server list --host [hostname] --all-projects
- 選択したコンピュートノードのインスタンスがなくなるまで、移行を続けます。
コンピュートノードにログインして、再起動します。
[heat-admin@overcloud-compute-0 ~]$ sudo reboot
- ノードが起動するまで待ちます。
コンピュートノードを再度有効化します。
$ source ~/overcloudrc (overcloud) $ openstack compute service set [hostname] nova-compute --enable
コンピュートノードが有効化されているかどうかを確認します。
(overcloud) $ openstack compute service list

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.