第11章 KernelArgs を定義するための手動でのノード再起動の設定

オーバークラウドのデプロイメントに KernelArgs の初回設定が含まれる場合に、オーバークラウドノードは自動的に再起動されます。KernelArgs をすでに運用中のデプロイメントに追加する場合には、ノードを再起動することで、既存のワークロードに対して問題となる可能性があります。デプロイメントの更新時にノードの自動再起動を無効にし、代わりに各オーバークラウドのデプロイメント後にノードの再起動を手動で実行できます。

注記

自動再起動を無効にしてから新しいコンピュートノードをデプロイに追加すると、新しいノードは初期プロビジョニング中に再起動されません。KernelArgs の設定は再起動後にのみ適用されるため、デプロイメントエラーが発生する可能性があります。

11.1. KernelArgs を定義するための手動でのノード再起動の設定

KernelArgs を初めて設定するときにノードの自動再起動を無効にし、代わりにノードを手動で再起動できます。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. stackrc ファイルを取得します。

    [stack@director ~]$ source ~/stackrc
  3. カスタム環境ファイル (kernelargs_manual_reboot.yaml など) で KernelArgsDeferReboot ロールパラメーターを有効にします。

    parameter_defaults:
      <Role>Parameters:
        KernelArgsDeferReboot: True
  4. その他の環境ファイルと共にこれらのカスタム環境ファイルをスタックに追加して、オーバークラウドをデプロイします。

    (undercloud)$ openstack overcloud deploy --templates \
     -e [your environment files] \
     -e /home/stack/templates/kernelargs_manual_reboot.yaml
  5. コンピュートノードのリストを取得して、再起動するノードのホスト名を特定します。

    (undercloud)$ source ~/overcloudrc
    (overcloud)$ openstack compute service list
  6. 再起動するコンピュートノードで Compute サービスを無効にして、Compute スケジューラーが新しいインスタンスをノードに割り当てないようにします。

    (overcloud)$ openstack compute service set <node> nova-compute --disable

    <node> を、Compute サービスを無効にするノードのホスト名に置き換えます。

  7. 移行するコンピュートノードでホストされているインスタンスのリストを取得します。

    (overcloud)$ openstack server list --host <node_UUID> --all-projects
  8. インスタンスを別の Compute ノードに移行します。インスタンスの移行については、コンピュートノード間での仮想マシンインスタンスの移行 を参照してください。
  9. 再起動するノードにログインします。
  10. ノードをリブートします。

    [heat-admin@overcloud-compute-0 ~]$ sudo reboot
  11. ノードがブートするまで待ちます。
  12. Compute ノードを再度有効にします。

    (overcloud)$ openstack compute service set <node_UUID>  nova-compute --enable
  13. Compute ノードが有効であることを確認します。

    (overcloud)$ openstack compute service list