2.2. アンダークラウドの要件
director をホストするアンダークラウドシステムは、オーバークラウド内の全ノードのプロビジョニングおよび管理を行います。
- Intel 64 または AMD64 CPU 拡張機能をサポートする、8 コア 64 ビット x86 プロセッサー
最小 16 GB の RAM
-
ceph-ansible
Playbook は、アンダークラウドによりデプロイされたホスト 10 台につき 1 GB の常駐セットサイズ (RSS) を消費します。デプロイされたオーバークラウドが既存の Ceph クラスターを使用する、または新たな Ceph クラスターをデプロイする場合には、それに応じてアンダークラウド用 RAM をプロビジョニングしてください。
-
ルートディスク上に最小 100 GB の空きディスク領域。その内訳を以下に示します。
- コンテナーイメージ用に 10 GB
- QCOW2 イメージの変換とノードのプロビジョニングプロセスのキャッシュ用に 10 GB
- 一般用途、ログの記録、メトリック、および将来の拡張用に 80 GB 以上
- 最小 2 枚の 1 Gbps ネットワークインターフェイスカード。ただし、特にオーバークラウド環境で多数のノードをプロビジョニングする場合には、ネットワークトラフィックのプロビジョニング用に 10 Gbps インターフェイスを使用することを推奨します。
- ホストオペレーティングシステムとして、最新バージョンの Red Hat Enterprise Linux 7 がインストール済みであること。
- ホスト上で SELinux が Enforcing モードで有効化されていること
2.2.1. 仮想化サポート
Red Hat は、以下のプラットフォームでのみ仮想アンダークラウドをサポートします。
プラットフォーム | 説明 |
---|---|
Kernel-based Virtual Machine (KVM) | 認定済みのハイパーバイザーとしてリストされている Red Hat Enterprise Linux 7 でホストされていること |
Red Hat Virtualization | 認定済みのハイパーバイザーとしてリストされている Red Hat Virtualization 4.x でホストされていること |
Microsoft Hyper-V | Red Hat Customer Portal Certification Catalogue に記載の Hyper-V のバージョンでホストされている。 |
VMware ESX および ESXi | Red Hat Customer Portal Certification Catalogue に記載の ESX および ESXi のバージョンでホストされていること |
Red Hat OpenStack Platform director には、ホストオペレーティングシステムとして、最新バージョンの Red Hat Enterprise Linux 7 がインストールされている必要があります。このため、仮想化プラットフォームは下層の Red Hat Enterprise Linux バージョンもサポートする必要があります。
仮想マシンの要件
仮想アンダークラウドのリソース要件は、ベアメタルのアンダークラウドの要件と似ています。ネットワークモデル、ゲスト CPU 機能、ストレージのバックエンド、ストレージのフォーマット、キャッシュモードなどプロビジョニングの際には、さまざまなチューニングオプションを考慮する必要があります。
ネットワークの考慮事項
仮想アンダークラウドの場合は、以下にあげるネットワークの考慮事項に注意してください。
- 電源管理
-
アンダークラウドの仮想マシンには、オーバークラウドのノードにある電源管理のデバイスへのアクセスが必要です。これには、ノードの登録の際に、
pm_addr
パラメーターに IP アドレスを設定してください。 - プロビジョニングネットワーク
-
プロビジョニング (
ctlplane
) ネットワークに使用する NIC には、オーバークラウドのベアメタルノードの NIC に対する DHCP 要求をブロードキャストして、対応する機能が必要です。仮想マシンの NIC をベアメタルの NIC と同じネットワークに接続するブリッジを作成することを推奨します。
一般的に、ハイパーバイザーのテクノロジーにより、アンダークラウドが不明なアドレスのトラフィックを伝送できない場合に問題が発生します。Red Hat Enterprise Virtualization を使用する場合には、anti-mac-spoofing
を無効にしてこれを回避してください。VMware ESX または ESXi を使用している場合は、偽装転送を承諾してこれを回避します。これらの設定を適用したら、director 仮想マシンの電源を一旦オフにしてから再投入する必要があります。仮想マシンをリブートするだけでは不十分です。
アーキテクチャーの例
これは、KVM サーバーを使用した基本的なアンダークラウドの仮想化アーキテクチャー例です。これは、ネットワークやリソースの要件に合わせてビルド可能な基盤としての使用を目的としています。
KVM ホストは Linux ブリッジを 2 つ使用します。
- br-ex (eth0)
- アンダークラウドへの外部アクセスを提供します。
- 外部ネットワークの DHCP サーバーは、仮想 NIC (eth0) を使用してアンダークラウドにネットワーク設定を割り当てます。
- アンダークラウドがベアメタルサーバーの電源管理インターフェイスにアクセスできるようにします。
- br-ctlplane (eth1)
- ベアメタルのオーバークラウドノードと同じネットワークに接続します。
- アンダークラウドは、仮想 NIC (eth1) を使用して DHCP および PXE ブートの要求に対応します。
- オーバークラウドのベアメタルサーバーは、このネットワークの PXE 経由でブートします。
これらのブリッジを作成および設定する方法の詳細は、Red Hat Enterprise Linux 7 ネットワークガイドの ネットワークブリッジの設定 を参照してください。
KVM ホストには、以下のパッケージが必要です。
$ yum install libvirt-client libvirt-daemon qemu-kvm libvirt-daemon-driver-qemu libvirt-daemon-kvm virt-install bridge-utils rsync virt-viewer
以下のコマンドは、KVM ホストにアンダークラウドの仮想マシンして、適切なブリッジに接続するための仮想 NIC を 2 つ作成します。
$ virt-install --name undercloud --memory=16384 --vcpus=4 --location /var/lib/libvirt/images/rhel-server-7.5-x86_64-dvd.iso --disk size=100 --network bridge=br-ex --network bridge=br-ctlplane --graphics=vnc --hvm --os-variant=rhel7
このコマンドにより、libvirt
ドメインが起動します。virt-manager
に接続し、段階を追ってインストールプロセスが進められます。または、以下のオプションを使用してキックスタートファイルを指定し、無人インストールを実行することもできます。
--initrd-inject=/root/ks.cfg --extra-args "ks=file:/ks.cfg"
インストールが完了したら、root
ユーザーとしてインスタンスに SSH 接続して、4章アンダークラウドのインストール の手順に従います。
バックアップ
以下のように、仮想アンダークラウドをバックアップするためのソリューションは複数あります。
- オプション 1:director のアンダークラウドのバックアップとリストア の説明に従います。
- オプション 2: アンダークラウドをシャットダウンして、アンダークラウドの仮想マシンストレージのバックアップのコピーを取ります。
- オプション 3: ハイパーバイザーがライブまたはアトミックのスナップショットをサポートする場合は、アンダークラウドの仮想マシンのスナップショットを作成します。
KVM サーバーを使用する場合は、以下の手順でスナップショットを作成してください。
-
qemu-guest-agent
がアンダークラウドのゲスト仮想マシンで実行していることを確認してください。 - 実行中の仮想マシンのライブスナップショットを作成します。
$ virsh snapshot-create-as --domain undercloud --disk-only --atomic --quiesce
- QCOW バッキングファイルのコピー (読み取り専用) を作成します。
$ rsync --sparse -avh --progress /var/lib/libvirt/images/undercloud.qcow2 1.qcow2
- QCOW オーバーレイファイルをバッキングファイルにマージして、アンダークラウドの仮想マシンが元のファイルを使用するように切り替えます。
$ virsh blockcommit undercloud vda --active --verbose --pivot