3.6.7. コンピュートノードのアップグレード
各コンピュートノードを個別にアップグレードし、OpenStack Platform 環境のインスタンスのダウンタイムがゼロになるようにします。これは、以下のワークフローを伴います。
- アップグレードするコンピュートノードを選択する
- そのノードのインスタンスを別のコンピュートノードに移行する。
- 空のコンピュートノードをアップグレードする
全コンピュートノードとその UUID を一覧表示します。
openstack server list | grep "compute"
$ openstack server 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 - コンピュートノードから全インスタンスを移行するまで、このステップを繰り返します。
インスタンスの設定および移行に関する詳しい説明は、『 director のインストールと使用方法』の 「コンピュートノード間の仮想マシンインスタンスの移行」 を参照し てください。
director は upgrade-non-controller.sh コマンドを使用して、major-upgrade-pacemaker-init.yaml 環境ファイルからコントローラー以外の各ノードに渡されるアップグレードスクリプトを実行します。以下のコマンドを使用して、それぞれのコンピュートノードをアップグレードします。
source ~/stackrc upgrade-non-controller.sh --upgrade NODE_UUID
$ source ~/stackrc
$ upgrade-non-controller.sh --upgrade NODE_UUID
NODE_UUID は、選択したコンピュートノードの UUID に置き換えます。コンピュートノードのアップグレードが完了するまで待ちます。
アップグレードしたコンピュートノードの /var/log/yum.log ファイルをチェックして、カーネル または openvswitch パッケージのメジャーまたはマイナーバージョンが更新されているかどうかを確認します。その場合には、コンピュートノードのリブートを実施します。
コンピュートノードにログインして、リブートします。
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 - 次にリブートするノードを選択します。
すべてのノードを再起動するまで、各ノードで移行およびリブートプロセスを繰り返します。
コントローラーノードにログインし、pcs status コマンドを実行して、全リソースがコントローラークラスターでアクティブかどうかを確認します。エラーが発生したリソースがある場合には、pcs resource cleanup を実行してエラーを消去し、各リソースの状態を Started に設定します。引き続きエラーが発生する場合は、Red Hat に連絡してアドバイス/サポートをリクエストしてください。