4.8. ホストアグリゲートを使用した物理マシンと仮想マシンのプロビジョニングの分離

OpenStack Compute は、ホストアグリゲートを使用してアベイラビリティーゾーンをパーティション分割し、特定の共有属性が指定されたノードをグループ化します。インスタンスがプロビジョニングされると、Compute のスケジューラーがフレーバーのプロパティーをホストアグリゲートに割り当てられたプロパティーと比較して、インスタンスが正しいアグリゲート内の正しいホストに (物理マシン上または仮想マシンとして) プロビジョニングされたことを確認します。

本項の手順を実施して、以下の操作を行います。

  • baremetal プロパティーをフレーバーに追加して、true または false に設定する。
  • 一致する baremetal プロパティーを設定して、ベアメタルホスト用とコンピュートノード用のホストアグリゲートを別々に作成する。1 つのアグリゲートでグループ化されたノードは、このプロパティーを継承します。

前提条件

手順

  1. ベアメタル用のフレーバーで baremetal プロパティーを true に設定します。

    $ openstack flavor set baremetal --property baremetal=true
  2. 仮想インスタンスに使用するフレーバーで baremetal プロパティーを false に設定します。

    $ openstack flavor set FLAVOR_NAME --property baremetal=false
  3. baremetal-hosts という名前のホストアグリゲートを作成します。

    $ openstack aggregate create --property baremetal=true baremetal-hosts
  4. 各コントローラーノードを baremetal-hosts アグリゲートに追加します。

    $ openstack aggregate add host baremetal-hosts HOSTNAME
    注記

    NovaIronic サービスでコンポーザブルロールを作成していた場合には、このサービスがあるノードをすべて baremetal-hosts アグリゲートに追加します。デフォルトでは、NovaIronic サービスがあるのはコントローラーノードのみです。

  5. virtual-hosts という名前のホストアグリゲートを作成します。

    $ openstack aggregate create --property baremetal=false virtual-hosts
  6. 各コンピュートノードを virtual-hosts アグリゲートに追加します。

    $ openstack aggregate add host virtual-hosts HOSTNAME
  7. オーバークラウドのデプロイ時に以下の Compute フィルタースケジューラーを追加していなかった場合には、この時点で _/etc/nova/nova.conf_scheduler_default_filters セクションの既存リストに追加します。

    AggregateInstanceExtraSpecsFilter