【XCP-ng 8.3】 3Tier 構成:仮想マシンの作成と操作(ライブ マイグレーション・HA・経路障害)

XCP-ng のプールで、iSCSI の共有 SR に仮想マシンを作り、ライブ マイグレーション、iSCSI の経路障害、ホスト障害時の HA(高可用性)の動作を確認する手順です。

目次

この記事の前提

参照した公式ドキュメント

構成

項目内容
プールdoc-pool(doc-xcp1〜3)。iSCSI+マルチパスの SR の作成手順で iscsi-sr01(共有)と iso-nfs を作成済み
仮想マシンrocky-xcp01(Rocky Linux 9.8、2 vCPU、メモリ 2 GB、ディスク 20 GB を iscsi-sr01 に、IP アドレス 192.168.1.135)
移行用ネットワークStorage-Migration(bond0、プールの設定手順で既定に設定済み)

仮想マシンの作成

(1) Xen Orchestra の [New] → [VM] をクリックし、作成先のプール(doc-pool)を選びます。テンプレートと各項目を入力します。

新しい仮想マシン
項目説明設定値
TemplateOS の種類ごとのテンプレート。既定の CPU・メモリ・ディスクが入りますRocky Linux 9
Name/Description名前と説明rocky-xcp01/Rocky Linux 9.8 (kickstart)
vCPUs/RAMCPU 数とメモリ2/2 GiB
Install settingsインストール元ISO/DVD:Rocky-9.8-x86_64-minimal.iso(iso-nfs)
InterfacesネットワークManagement
Disks仮想ディスクの SR・名前・サイズiscsi-sr01/rocky-xcp01-disk0/20 GiB

仮想ディスクを共有 SR(iscsi-sr01)に置くと、ライブ マイグレーションや HA でほかのホストに移せます。ローカル SR(Local storage)に置いた仮想マシンは、ディスクごと移す(Storage XenMotion)必要があり、HA では再起動できません。

(2) [Show advanced settings] をクリックして詳細設定を開きます。ここでは OS のインストールを自動にする準備のため、[Boot VM after creation] をオフにしました。[Boot firmware] は、テンプレートの既定の [uefi] です。設定を確認して [Create] をクリックします。

詳細設定

(3) 仮想マシンが作られます。[Console] タブを開き、上の起動のボタンで仮想マシンを起動します。

作成した仮想マシン

(4) コンソールにインストーラーのメニュー(GRUB)が表示されます。この検証では、キックスタートで自動インストールしました([e] キーで linuxefi の行の最後に inst.ks=http://192.168.1.182:8080/rocky-xcp01.cfg を追加して [Ctrl]+[X])。手動でインストールする場合は、そのまま [Enter] キーを押します。

インストーラーのメニュー
キックスタートの指定

XO の Web コンソールでは、キーボードの配列によって「/」などの記号が正しく入力されないことがあります。この検証でも「/」が入力されず、ブラウザーのコンソールの外から(OS のキー入力で)入力し直しました。

ゲスト ツールのインストール

インストールが終わったら、ゲストに XCP-ng の管理エージェント(xe-guest-utilities)を入れます。IP アドレスなどが XO に表示され、仮想マシンの正常なシャットダウンや移行ができるようになります。Rocky Linux では EPEL のパッケージを使いました。

dnf -y install epel-release
dnf -y install xe-guest-utilities-latest
systemctl enable --now xe-linux-distribution

インストール後、仮想マシンの [General] タブに IP アドレスと「Management agent 8.2.0-2 detected」が表示されます。仮想化のモードも「Hardware virtualization with paravirtualization drivers enabled (PVHVM)」になります。

ゲスト ツールの認識

インストール メディアは取り出しておきます(ローカルの ISO などを入れたままにすると、移行や HA の再起動の妨げになります)。

xe vm-cd-eject vm=rocky-xcp01

ライブ マイグレーション

(1) 仮想マシンの画面の上の [Migrate] ボタン(矢印のアイコン)をクリックします。移動先のホストを選んで [OK] をクリックします。

ライブ マイグレーション
項目説明設定値
Select a destination host移動先のホストdoc-xcp1
Select a destination SRディスクも移す場合の移動先の SR(任意)空のまま(共有 SR なのでディスクは移しません)
Select a migration network移行の通信に使うネットワーク(任意)Storage-Migration(プールの既定が入ります)

(2) 完了すると、画面上部のホスト名が移動先(doc-xcp1)に変わります。ゲスト OS は再起動されません。

ライブ マイグレーション後

この検証環境での結果です(0.2 秒間隔で ping を送り続けました)。

項目結果
所要時間約 24 秒(doc-xcp3 → doc-xcp1)
ping の欠落142 回中 22 回(約 4.4 秒)
ゲスト OS再起動なし(uptime は継続)

CLI で移行する場合は、次のコマンドです。

xe vm-migrate vm=rocky-xcp01 host=doc-xcp2 live=true

iSCSI の経路障害

仮想マシンが動いている doc-xcp1 で、iSCSI の経路 A(eth1)のリンクを切りました。

(1) SR の [Hosts] タブで、doc-xcp1 の [Paths] が「1 of 2 paths」になります。ほかのホストは 2 本のままです。

経路障害中
確認したこと結果
multipath -ll経路 A(sdc)が failed faulty、経路 B(sdd)が active ready
仮想マシンのディスク書き込み(200 MB、dd oflag=direct)正常に完了(25.7 MB/s)
仮想マシンの ping(0.2 秒間隔、約 66 秒間)欠落 0 回

(2) リンクを戻すと、約 1 分以内に「2 of 2 paths」に戻りました。

経路の復旧後

HA(高可用性)

HA を有効にすると、ホストが停止したときに、そのホストで動いていた保護対象の仮想マシンをほかのホストで自動的に再起動します。HA には、全ホストから見える共有 SR(ハートビート SR)が必要です。

(1) プールの [Advanced] タブで、[High Availability] のスイッチをオンにします。[Select heartbeat SR candidates] でハートビートに使う SR(iscsi-sr01)を選んで [OK] をクリックします。

HA の有効化

(2) [High Availability] がオンになり、[Heartbeat SR] に iscsi-sr01 が表示されます。

HA の有効化後

(3) 仮想マシンの [Advanced] タブで、[HA] を [restart] にします。

仮想マシンの HA
HA の設定動作
restart保護対象。ホストの障害時に再起動します(許容する障害数の計算の対象になります)
best-effort保護対象の再起動の後、リソースに余裕があれば再起動します
Disabled再起動しません(既定)

(4) 許容するホストの障害数を設定します。プールの [ha-host-failures-to-tolerate] は、有効にした直後は 0 でした。保護対象の仮想マシンを再起動できる余裕があるかを計算し、1 に設定しました(この環境では最大 2 と計算されました)。

xe pool-ha-compute-max-host-failures-to-tolerate
xe pool-param-set uuid=$(xe pool-list --minimal) ha-host-failures-to-tolerate=1

(5) 動作確認として、rocky-xcp01 を doc-xcp2 に移してから、doc-xcp2 の電源を強制的に切りました。XO の [Home] → [Hosts] では doc-xcp2 が表示されなくなり、[VMs] では rocky-xcp01 が doc-xcp3 で動いています。

HA の動作後
項目結果
ホストの停止から仮想マシンの応答まで152 秒
再起動したホストdoc-xcp3
ホストの復帰doc-xcp2 を起動すると、約 10 秒後に自動で有効(enabled)に戻り、iSCSI も 2 本の経路で再接続されました

プールのマスター(doc-xcp1)が停止した場合も、HA が有効ならほかのホストがマスターになります。この検証では、XOA がマスターのローカル SR で動いているため、マスターは止めずに試験しました。XOA を共有 SR に置いて HA の保護対象にしておくと、管理画面も障害後に復旧します。

次の手順

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次