【OLVM 4.5】 3Tier 構成:仮想マシンの作成・ライブ マイグレーション・HA・経路障害の確認手順

iSCSI のストレージ ドメイン上に仮想マシンを作り、ライブ マイグレーション、iSCSI の片系の経路障害、ホスト障害時の HA(高可用性)の動きを確認する手順です。

目次

この記事の前提

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

構成

項目内容
ホストdoc-olvm1〜3(Oracle Linux 8.10、KVM ホスト)
ストレージiscsi-data(iSCSI、2 経路のマルチパス)。iSCSI の手順で作成済み
ライブ マイグレーションのネットワークstorage(bond0、active-backup)。ネットワークの手順で設定済み
ISO イメージRocky Linux 9.8 の minimal ISO を iscsi-data にアップロード済み
仮想マシンrocky-olvm01(2 vCPU、メモリー 2 GB、ディスク 20 GB)

仮想マシンの作成

(1) [Compute] → [Virtual Machines] を開き、[New] をクリックします。

仮想マシンの一覧

(2) [General] タブで OS の種類と名前を入力し、[Instance Images] の [Create] をクリックします。

General タブ
項目説明設定値
Cluster仮想マシンを作るクラスタDefault
Operating Systemゲスト OS の種類(既定のデバイスなどが決まる)Oracle Linux 9.x x64
Chipset/Firmware TypeチップセットとファームウェアQ35 Chipset with UEFI
Name仮想マシン名rocky-olvm01
Description説明Rocky Linux 9.8

(3) 仮想ディスクの設定を入力し、[OK] をクリックします。

仮想ディスクの作成
項目説明設定値
Size (GiB)ディスクのサイズ20
InterfaceディスクのインターフェースVirtIO-SCSI
Storage Domainディスクを置くストレージ ドメインiscsi-data
Allocation PolicyThin Provision(使った分だけ確保)または PreallocatedThin Provision
Bootable起動ディスクにするオン

(4) [nic1] で vNIC プロファイル ovirtmgmt/ovirtmgmt を選び、[Show Advanced Options] をクリックします。

ネットワークの選択

(5) [System] タブで、メモリーと仮想 CPU の数を設定します。

System タブ
項目説明設定値
Memory Size仮想マシンのメモリー2048 MB
Maximum memoryメモリーのホットプラグの上限8192 MB(既定)
Physical Memory Guaranteed必ず確保する物理メモリー2048 MB
Total Virtual CPUs仮想 CPU の数2

(6) [High Availability] タブで [Highly Available] をオンにし、[Target Storage Domain for VM Lease] で iscsi-data を選びます。

High Availability タブ
項目説明設定値
Highly Availableホストの障害時に、ほかのホストで仮想マシンを自動で再起動するオン
Target Storage Domain for VM Lease仮想マシンのリースを置くストレージ ドメイン。リースがあると、障害が起きたホストを電源管理で止められなくても、二重起動を防いだうえでほかのホストで起動できるiscsi-data
Resume Behaviorストレージの一時停止から戻ったときの動き(リースを使うときは Kill)Kill
Priority再起動・移行の優先度Low

(7) [Boot Options] タブで、[Second Device] を CD-ROM にし、[Attach CD] をオンにして ISO イメージを選びます。[OK] をクリックします。

Boot Options タブ

(8) 仮想マシン(Status:Down)を選び、[Run] をクリックします。

仮想マシンの起動

OS のインストール

[Console] からコンソールを開き、通常どおり OS をインストールします。この検証では、GRUB のメニューで e を押し、カーネルの行の末尾にキックスタートの指定(inst.ks=http://<Web サーバー>/rocky-olvm01.cfg)を追加して、Ctrl+X で自動インストールしました。

GRUB でのキックスタートの指定

インストールが終わったら、ゲストにゲスト エージェントを入れます。IP アドレスや空きメモリーが管理ポータルに表示され、シャットダウンもゲスト OS 経由で行えるようになります。

dnf install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent

ISO イメージは、仮想マシンの右上のメニュー(︙)→ [Change CD] で [Eject] を選んで取り出します。

ライブ マイグレーション

(1) 仮想マシンの詳細画面で、[Status] が Up、[Highly Available] が Yes であることを確認し、[Migrate] をクリックします。

仮想マシンの詳細

(2) [Destination host] を選び、[Migrate] をクリックします。[Automatically Choose Host] にすると、クラスタのスケジューリング ポリシーで移行先が選ばれます。

Migrate VM(s)

(3) 移行中は [Status] が Migrating From になります。

移行中の状態

(4) [Events] タブに Migration completed が記録されます。

移行の完了

この検証の結果は次のとおりです(ゲストへ 0.2 秒間隔で ping を送りながら計測)。

項目結果
移行元 → 移行先doc-olvm1 → doc-olvm2
所要時間27 秒(イベントの Duration。Total は 38 秒)
ping の欠落1 回(約 0.2 秒)
移行に使ったネットワークstorage(bond0)。クラスタの Migration Network

iSCSI の片系の経路障害

仮想マシンが動いているホスト(doc-olvm2)の ens19(経路 A)のリンクを切り、仮想マシンの I/O が経路 B で続くことを確認しました。

ホストでは、切った経路が failed faulty になり、残りの経路で I/O が続きます。

multipath -ll
|-+- policy='service-time 0' prio=50 status=active
| `- 4:0:0:0 sdc 8:32 active ready running
`-+- policy='service-time 0' prio=0 status=enabled
  `- 5:0:0:0 sdd 8:48 failed faulty offline
項目結果
管理ポータルのイベントリンクを切って約 15 秒で Faulty multipath paths on host doc-olvm2 が記録された
ゲストの I/O経路の障害中も 200 MB の書き込み(direct I/O)が完了(410 MB/s)
ゲストへの ping欠落なし
ホストの状態Up のまま(Non Operational にならない)
復旧リンクを戻して約 15 秒で No faulty multipath paths が記録され、経路が active ready running に戻った

HA(ホスト障害時の再起動)

仮想マシンが動いているホスト(doc-olvm2)の電源を強制的に切り、ほかのホストで仮想マシンが再起動されることを確認しました。

(1) 仮想マシンの [Events] タブに、Unknown 状態への変化と、doc-olvm1 での再起動が記録されます。

HA のイベント

(2) [Events] 画面では、ホストが Non Responsive になった経緯と、少し前に行った経路障害のイベントも確認できます。

イベントの一覧
経過時間イベント
0 秒doc-olvm2 の電源を切る
約 49 秒Host doc-olvm2 is non responsive./VM rocky-olvm01 was set to the Unknown status.
約 52 秒Host doc-olvm2 became non responsive. It has no power management configured.
約 76 秒Trying to restart VM rocky-olvm01 on Host doc-olvm1(1 回目)
約 150 秒Trying to restart VM rocky-olvm01 on Host doc-olvm1(2 回目)
約 174 秒ゲストが ping に応答(doc-olvm1 で起動)

再起動の試行は 2 回記録され、2 回目で起動しました(電源を切ってから約 2 分 54 秒)。

この検証環境ではホストの電源管理(IPMI などによるフェンシング)を設定していませんが、仮想マシンのリースを iscsi-data に置いているので、リースの期限が切れたあとにほかのホストで起動されました。電源管理を設定すると、障害が起きたホストをフェンシング(電源の再投入)してから再起動するので、より早く確実に切り替わります。本番の環境では、ホストの [Power Management] を設定してください。

電源管理のないホストが Non Responsive になると、「Please check the host status, manually reboot it, and click “Confirm Host Has Been Rebooted”」と表示されます。ホストを手動で再起動して状態を確かめるまで、ホストは Non Responsive のままです。

次の手順

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

この記事を書いた人

目次