コンピュートノードのインストールと設定

コンピュートノードのインストールと設定

このセクションでは、コンピュートノードに Compute サービスをインストールして設定する方法を説明します。 Compute サービスでは、インスタンス すなわち 仮想マシン を配備する ハイパーバイザー が数種類サポートされています。簡単のため、この設定では、仮想マシン向けにハードウェア支援機能をサポートするコンピュートノードにおいて、KVM 拡張を持つ QEMU ハイパーバイザーを使用します。古いハードウェアでは、この設定では汎用的な QEMU ハイパーバイザーを使用します。これらの手順を少し修正するだけで、追加のコンピュートノードを用いて、お使いの環境を水平的にスケールできます。

注釈

このセクションは、このガイドにあるステップバイステップの手順に従い、最初のコンピュートノードを設定して来ていることを前提にしています。追加のコンピュートノードを設定したい場合、サンプルアーキテクチャー セクションの最初のコンピュートノードと同じ方法で準備します。追加のコンピュートノードは、それぞれ一意な IP アドレスを必要とします。

コンポーネントのインストールと設定

注釈

設定ファイルのデフォルトは、ディストリビューションにより異なります。これらの既存のセクションとオプションを編集するのではなく、追加する必要があるかもしれません。また、設定のスニペットにある 省略 (...) は、保持すべきデフォルトの設定オプションを意味します。

  1. パッケージをインストールします。

    # zypper install openstack-nova-compute genisoimage kvm libvirt
    
  1. /etc/nova/nova.conf ファイルを編集し、以下の作業をすべて行います。

    • [DEFAULT][oslo_messaging_rabbit] セクションに、RabbitMQ メッセージキューのアクセス方法を設定します。

      [DEFAULT]
      ...
      rpc_backend = rabbit
      
      [oslo_messaging_rabbit]
      ...
      rabbit_host = controller
      rabbit_userid = openstack
      rabbit_password = RABBIT_PASS
      

      RABBIT_PASSRabbitMQopenstack アカウント用に選択したパスワードで置き換えます。

    • [DEFAULT] セクションと [keystone_authtoken] セクションに、Identity サービスへのアクセス方法を設定します。

      [DEFAULT]
      ...
      auth_strategy = keystone
      
      [keystone_authtoken]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      auth_plugin = password
      project_domain_id = default
      user_domain_id = default
      project_name = service
      username = nova
      password = NOVA_PASS
      

      NOVA_PASS は Identity サービスで nova ユーザー用に選択したパスワードで置き換えます。

      注釈

      [keystone_authtoken] セクションにある他のオプションは、コメントアウトまたは削除します。

    • [DEFAULT] セクションに my_ip オプションを設定します。

      [DEFAULT]
      ...
      my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      

      MANAGEMENT_INTERFACE_IP_ADDRESS はコンピュートノードの管理ネットワークインターフェースの IP アドレスに置き換えます。一般的に、サンプルアーキテクチャー にある 1 番目のノードは 10.0.0.31 です。

    • [DEFAULT] セクションで、Networking サービスのサポートを有効にします。

      [DEFAULT]
      ...
      network_api_class = nova.network.neutronv2.api.API
      security_group_api = neutron
      linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
      firewall_driver = nova.virt.firewall.NoopFirewallDriver
      

      注釈

      デフォルトで、Compute は組み込みのファイアウォールサービスを使用します。Networking サービスがファイアウォールサービスを提供するため、nova.virt.firewall.NoopFirewallDriver ファイアウォールドライバーを使用して、Compute のファイアウォールサービスを無効化する必要があります。

    • [vnc] セクションで、リモートコンソールアクセスを有効にし、その設定を行います。

      [vnc]
      ...
      enabled = True
      vncserver_listen = 0.0.0.0
      vncserver_proxyclient_address = $my_ip
      novncproxy_base_url = http://controller:6080/vnc_auto.html
      

      サーバーコンポーネントは、すべての IP アドレスをリッスンします。プロキシーコンポーネントはコンピュートノードの管理インターフェースの IP アドレスのみをリッスンします。ベース URL は、Web ブラウザーがこのコンピュートノードにあるインスタンスのリモートコンソールにアクセスするための場所を示します。

      注釈

      リモートコンソールにアクセスする Web ブラウザーをホスト名 controller を解決できないホストで使用している場合、controller をコントローラーノードの管理インターフェースの IP アドレスに置き換える必要があります。

    • [glance] セクションに、Image service の場所を設定します。

      [glance]
      ...
      host = controller
      
    • [oslo_concurrency] セクションにロックパスを設定します。

      [oslo_concurrency]
      ...
      lock_path = /var/run/nova
      
    • (オプション) トラブルシューティングしやすくするために、冗長ロギングを [DEFAULT] セクションで有効にします。

      [DEFAULT]
      ...
      verbose = True
      
  1. カーネルモジュール nbd が読み込まれていることを確認します。

    # modprobe nbd
    
  2. /etc/modules-load.d/nbd.conf ファイルに nbd を追加することにより、確実に、モジュールが起動時に毎回読み込まれるようにします。

インストールの最終作業

  1. お使いのコンピュートノードが仮想マシンのハードウェア支援機能をサポートするかどうかを確認します。

    $ egrep -c '(vmx|svm)' /proc/cpuinfo
    

    このコマンドが 1 以上 の値を返した場合、お使いのコンピュートノードはハードウェア支援機能をサポートしており、通常は追加の設定は必要ありません。

    このコマンドが 0 を返す場合、お使いのコンピュートノードはハードウェア支援機能をサポートしていません。libvirt が KVM の代わりに QEMU を使用するように設定する必要があります。

    • /etc/nova/nova.conf ファイルの [libvirt] セクションを以下のように編集します。

      [libvirt]
      ...
      virt_type = qemu
      
  1. Compute サービスおよび関連するサービスを起動します。また、それらのサービスがシステム起動時に自動的に起動するよう設定します。

    # systemctl enable libvirtd.service openstack-nova-compute.service
    # systemctl start libvirtd.service openstack-nova-compute.service
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.