Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

11.3. Red Hat Virtualization ドライバーを使用した仮想コントローラーのプロビジョニング

本項では、RHOSP および Red Hat Virtualization を使用して、オーバークラウドの仮想 RHOSP コントロールプレーンをプロビジョニングする方法について説明します。

前提条件

  • Intel 64 または AMD64 CPU 拡張機能をサポートする、64 ビット x86 プロセッサーが必要です。
  • 以下のソフトウェアがすでにインストールされ、設定されている必要があります。

  • 事前に仮想コントローラーノードを準備しておく必要があります。これらの要件は、ベアメタルのコントローラーノードの要件と同じです。詳しい情報は、「コントローラーノードの要件」を参照してください。
  • オーバークラウドのコンピュートノードおよびストレージノードとして使用するベアメタルノードを、事前に準備しておく必要があります。ハードウェアの仕様については、「コンピュートノードの要件」および「Ceph Storage ノードの要件」を参照してください。POWER (ppc64le) ハードウェアにオーバークラウドのコンピュートノードをデプロイするには、「Red Hat OpenStack Platform for POWER」を参照してください。
  • 論理ネットワークが作成され、クラスターまたはホストネットワークで複数ネットワークによるネットワーク分離を使用する用意ができている必要があります。詳しい情報は、『Red Hat Virtualization Administration Guide』の「Logical Networks」を参照してください。
  • 各ノードの内部 BIOS クロックが UTC に設定されている必要があります。タイムゾーンオフセットを適用する前に hwclock が BIOS クロックを同期すると、ファイルのタイムスタンプに未来の日時が設定されていました。この設定により、この問題を防ぐことができます。
ヒント

パフォーマンスのボトルネックを防ぐために、コンポーザブルロールを使用しデータプレーンサービスをベアメタルのコントローラーノード上に維持します。

手順

  1. undercloud .conf 設定ファイルの enabled_hardware_typesstaging-ovirt ドライバーを追加して、director アンダークラウドでこのドライバーを有効にします。

    enabled_hardware_types = ipmi,redfish,ilo,idrac,staging-ovirt
  2. アンダークラウドに staging-ovirt ドライバーが含まれることを確認します。

    (undercloud) [stack@undercloud ~]$ openstack baremetal driver list

    アンダークラウドが正しく設定されていると、コマンドにより以下の結果が返されます。

     +---------------------+-----------------------+
     | Supported driver(s) | Active host(s)        |
     +---------------------+-----------------------+
     | idrac               | localhost.localdomain |
     | ilo                 | localhost.localdomain |
     | ipmi                | localhost.localdomain |
     | pxe_drac            | localhost.localdomain |
     | pxe_ilo             | localhost.localdomain |
     | pxe_ipmitool        | localhost.localdomain |
     | redfish             | localhost.localdomain |
     | staging-ovirt       | localhost.localdomain |
  3. python-ovirt-engine-sdk4.x86_64 パッケージをインストールします。

    $ sudo yum install python-ovirt-engine-sdk4
  4. オーバークラウドノードの定義テンプレート (例: nodes.json) を更新し、Red Hat Virtualization がホストする仮想マシンを director に登録します。詳しい情報は、「オーバークラウドノードの登録」を参照してください。以下のキー/値のペアを使用して、オーバークラウドでデプロイする仮想マシンの特性を定義します。

    表11.1 オーバークラウド用仮想マシンの設定

    キーこの値に設定します

    pm_type

    oVirt/RHV 仮想マシン用の OpenStack Bare Metal Provisioning (ironic) サービスドライバー staging-ovirt

    pm_user

    Red Hat Virtualization Manager のユーザー名。

    pm_password

    Red Hat Virtualization Manager のパスワード。

    pm_addr

    Red Hat Virtualization Manager サーバーのホスト名または IP。

    pm_vm_name

    コントローラーが作成される Red Hat Virtualization Manager の仮想マシンの名前。

    以下に例を示します。

    {
          "nodes": [
              {
                  "name":"osp13-controller-0",
                  "pm_type":"staging-ovirt",
                  "mac":[
                      "00:1a:4a:16:01:56"
                  ],
                  "cpu":"2",
                  "memory":"4096",
                  "disk":"40",
                  "arch":"x86_64",
                  "pm_user":"admin@internal",
                  "pm_password":"password",
                  "pm_addr":"rhvm.example.com",
                  "pm_vm_name":"{vernum}-controller-0",
                  "capabilities": "profile:control,boot_option:local"
              },
      }

    Red Hat Virtualization Host ごとに 1 つのコントローラーを設定します。

  5. Red Hat Virtualization でアフィニティーグループを「ソフトネガティブアフィニティー」に設定し、コントローラー用仮想マシンの高可用性を確保します。詳しい情報は、『Red Hat Virtualization Virtual Machine Management Guide』の「Affinity Groups」を参照してください。
  6. Red Hat Virtualization Manager のインターフェースにアクセスし、これを使用してそれぞれの VLAN をコントローラー用仮想マシンの個別の論理仮想 NIC にマッピングします。詳しい情報は、『Red Hat Virtualization Administration Guide』の「Logical Networks」を参照してください。
  7. director とコントローラー用仮想マシンの仮想 NIC で no_filter を設定し、仮想マシンを再起動します。これにより、コントローラー用仮想マシンにアタッチされたネットワークで MAC スプーフィングフィルターが無効化されます。詳しい情報は、『Red Hat Virtualization Administration Guide』の「Virtual Network Interface Cards」を参照してください。
  8. オーバークラウドをデプロイして、新しい仮想コントローラーノードを環境に追加します。

    (undercloud) [stack@undercloud ~]$ openstack overcloud deploy --templates