第11章 KernelArgs を定義するための手動でのノード再起動の設定
オーバークラウドのデプロイメントに KernelArgs
の初回設定が含まれる場合に、オーバークラウドノードは自動的に再起動されます。KernelArgs
をすでに運用中のデプロイメントに追加する場合には、ノードを再起動することで、既存のワークロードに対して問題となる可能性があります。デプロイメントの更新時にノードの自動再起動を無効にし、代わりに各オーバークラウドのデプロイメント後にノードの再起動を手動で実行できます。
自動再起動を無効にしてから新しいコンピュートノードをデプロイに追加すると、新しいノードは初期プロビジョニング中に再起動されません。KernelArgs
の設定は再起動後にのみ適用されるため、デプロイメントエラーが発生する可能性があります。
11.1. KernelArgs
を定義するための手動でのノード再起動の設定
KernelArgs
を初めて設定するときにノードの自動再起動を無効にし、代わりにノードを手動で再起動できます。
手順
-
アンダークラウドに
stack
ユーザーとしてログインします。 stackrc
ファイルを取得します。[stack@director ~]$ source ~/stackrc
カスタム環境ファイル (
kernelargs_manual_reboot.yaml
など) でKernelArgsDeferReboot
ロールパラメーターを有効にします。parameter_defaults: <Role>Parameters: KernelArgsDeferReboot: True
その他の環境ファイルと共にこれらのカスタム環境ファイルをスタックに追加して、オーバークラウドをデプロイします。
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/kernelargs_manual_reboot.yaml
コンピュートノードのリストを取得して、再起動するノードのホスト名を特定します。
(undercloud)$ source ~/overcloudrc (overcloud)$ openstack compute service list
再起動するコンピュートノードで Compute サービスを無効にして、Compute スケジューラーが新しいインスタンスをノードに割り当てないようにします。
(overcloud)$ openstack compute service set <node> nova-compute --disable
<node>
を、Compute サービスを無効にするノードのホスト名に置き換えます。移行するコンピュートノードでホストされているインスタンスのリストを取得します。
(overcloud)$ openstack server list --host <node_UUID> --all-projects
- インスタンスを別の Compute ノードに移行します。インスタンスの移行については、コンピュートノード間での仮想マシンインスタンスの移行 を参照してください。
- 再起動するノードにログインします。
ノードをリブートします。
[heat-admin@overcloud-compute-0 ~]$ sudo reboot
- ノードがブートするまで待ちます。
Compute ノードを再度有効にします。
(overcloud)$ openstack compute service set <node_UUID> nova-compute --enable
Compute ノードが有効であることを確認します。
(overcloud)$ openstack compute service list