お金をかけずにサーバーの勉強をしよう

PROXMOXクラスター 6

2023年10月1日

メニューへ戻る

PROXMOXクラスターの機能を試してみます。

PROXMOXクラスター 1」で、PROXMOXクラスター環境を設計し、
PROXMOXクラスター 2」で、FreeNASを使って iSCSIの共有ディスクを作り、
PROXMOXクラスター 3」で、PROXMOXサーバーを 3台作り、
PROXMOXクラスター 4」で、クラスターの設定をし、
PROXMOXクラスター 5」で、共有ディスク上に仮想マシンを作って Windows Server 2022をインストールしました。

ここまでで、ネットワーク的にはこんな環境ができあがっています。
構成 1

仮想環境はこんな感じになっています。
構成 2
Windows Server 2022の仮想OSは、[proxmox3]サーバーのCPUとメモリを使いながら、ディスクはクラスターで共有している FreeNASの iSCSIストレージに配置されています。

こういった構成を取る仮想基盤の特筆すべき機能に、VMwareでは「vMotion」と言い、PROXMOXでは「マイグレーション」と言う仮想OSが稼働したままサーバー間を移動させられるというのがあります。
構成 3
「ハァ?!」ってにわかには信じ難いですが、物理ハードウェアとOSの間に仮想的なハードウェアを挟む構成でこのような事が可能になっています。

論より証拠でやってみるのが早いですね。


ここまで作った環境で、現在 [proxmox3]サーバーで [100 (VM 100)]って名前で Windows Server 2022の仮想マシンが立ち上がっている状態からスタートします。

外部から Windows Server 2022にアクセスしている状態を作っておくと、マイグレーション時に通信が切れなかったよって証拠になるので、VMware Workstation PlayerのホストOSの Windows 10で、リモートデスクトップを使って Windows Server 2022にログオンしておきます。
リモートデスクトップ

なお、CD/DVDドライブを利用している仮想マシンをマイグレーションすることができない、という前提があります。
よく考えてみると当たり前ですが。

Windows Serve 2022のインストール時にインストールメディアファイルを使いっ放し(DVDドライブを使ってる)状態ですので、DVDを取り出すアクションをしておきます。

[データセンター] - [proxmox3] - [100 (VM 100)] - [ハードウェア] と選択し、[CD/DVDドライブ]行をダブルクリックします。
マイグレーション 1

[メディアを使用しない] を選択し、OKを押します。
マイグレーション 2

この部分が [none] になればOKです。
マイグレーション 3


ではいよいよマイグレーションします。

[データセンター] - [proxmox3] - [100 (VM 100)] で右クリックするとメニューが出ますので、[マイグレート]を選択します。
マイグレーション 4

[ターゲットノード:] に行き先の PROXMOXサーバーを指定します。
今回は [proxmox2]サーバーにしました。
マイグレートを押します。
マイグレーション 5

ホストOSの CPU負荷です。重ぉ…
ホストOSの CPU使用率

[TASK OK] になれば完了です。
メモリが 4GBの仮想マシンで 30秒くらいかかりました。
私の環境はかなり無理させているので、ちゃんとした環境ならずっと速いんじゃないでしょうか。
×で閉じます。
マイグレーション 6
なお、ログの全体がこれです。
[proxmox3]サーバーから、対象の仮想マシンのメモリ内容を [proxmox2]サーバーに全コピしているのでしょう。

2023-10-01 10:34:01 starting migration of VM 100 to node 'proxmox2' (192.168.1.152)
2023-10-01 10:34:01 starting VM 100 on remote node 'proxmox2'
2023-10-01 10:34:05 [proxmox2] Task finished with 1 warning(s)!
2023-10-01 10:34:05 start remote tunnel
2023-10-01 10:34:07 ssh tunnel ver 1
2023-10-01 10:34:07 starting online/live migration on unix:/run/qemu-server/100.migrate
2023-10-01 10:34:07 set migration capabilities
2023-10-01 10:34:07 migration downtime limit: 100 ms
2023-10-01 10:34:07 migration cachesize: 512.0 MiB
2023-10-01 10:34:07 set migration parameters
2023-10-01 10:34:07 start migrate command to unix:/run/qemu-server/100.migrate
2023-10-01 10:34:08 migration active, transferred 76.0 MiB of 4.0 GiB VM-state, 53.0 MiB/s
2023-10-01 10:34:09 migration active, transferred 226.7 MiB of 4.0 GiB VM-state, 154.8 MiB/s
2023-10-01 10:34:10 migration active, transferred 371.6 MiB of 4.0 GiB VM-state, 141.6 MiB/s
2023-10-01 10:34:11 migration active, transferred 517.5 MiB of 4.0 GiB VM-state, 157.5 MiB/s
2023-10-01 10:34:12 migration active, transferred 665.4 MiB of 4.0 GiB VM-state, 149.6 MiB/s
2023-10-01 10:34:13 migration active, transferred 811.3 MiB of 4.0 GiB VM-state, 145.9 MiB/s
2023-10-01 10:34:14 migration active, transferred 956.2 MiB of 4.0 GiB VM-state, 148.7 MiB/s
2023-10-01 10:34:15 migration active, transferred 1.1 GiB of 4.0 GiB VM-state, 146.3 MiB/s
2023-10-01 10:34:16 migration active, transferred 1.2 GiB of 4.0 GiB VM-state, 137.9 MiB/s
2023-10-01 10:34:17 migration active, transferred 1.3 GiB of 4.0 GiB VM-state, 141.0 MiB/s
2023-10-01 10:34:18 migration active, transferred 1.5 GiB of 4.0 GiB VM-state, 139.2 MiB/s
2023-10-01 10:34:19 migration active, transferred 1.6 GiB of 4.0 GiB VM-state, 133.1 MiB/s
2023-10-01 10:34:20 migration active, transferred 1.8 GiB of 4.0 GiB VM-state, 137.7 MiB/s
2023-10-01 10:34:21 migration active, transferred 1.9 GiB of 4.0 GiB VM-state, 160.3 MiB/s
2023-10-01 10:34:22 migration active, transferred 2.0 GiB of 4.0 GiB VM-state, 177.0 MiB/s
2023-10-01 10:34:23 migration active, transferred 2.1 GiB of 4.0 GiB VM-state, 141.6 MiB/s
2023-10-01 10:34:24 migration active, transferred 2.3 GiB of 4.0 GiB VM-state, 112.2 MiB/s
2023-10-01 10:34:25 migration active, transferred 2.4 GiB of 4.0 GiB VM-state, 153.4 MiB/s
2023-10-01 10:34:26 migration active, transferred 2.6 GiB of 4.0 GiB VM-state, 134.2 MiB/s
2023-10-01 10:34:27 migration active, transferred 2.7 GiB of 4.0 GiB VM-state, 153.7 MiB/s
2023-10-01 10:34:28 migration active, transferred 2.8 GiB of 4.0 GiB VM-state, 151.0 MiB/s
2023-10-01 10:34:29 migration active, transferred 2.9 GiB of 4.0 GiB VM-state, 165.2 MiB/s
2023-10-01 10:34:30 migration active, transferred 3.1 GiB of 4.0 GiB VM-state, 126.2 MiB/s
2023-10-01 10:34:31 migration active, transferred 3.2 GiB of 4.0 GiB VM-state, 158.1 MiB/s
2023-10-01 10:34:32 migration active, transferred 3.4 GiB of 4.0 GiB VM-state, 153.9 MiB/s
2023-10-01 10:34:33 migration active, transferred 3.5 GiB of 4.0 GiB VM-state, 144.6 MiB/s
2023-10-01 10:34:34 migration active, transferred 3.6 GiB of 4.0 GiB VM-state, 126.2 MiB/s
2023-10-01 10:34:35 migration active, transferred 3.8 GiB of 4.0 GiB VM-state, 168.2 MiB/s
2023-10-01 10:34:36 average migration speed: 141.9 MiB/s - downtime 227 ms
2023-10-01 10:34:36 migration status: completed
2023-10-01 10:34:40 migration finished successfully (duration 00:00:39)
TASK OK


[データセンター] - [proxmox2] の下に、[100 (VM 100)]が移動してきています。 マイグレーション 7

先にログオンしておいたリモートデスクトップは、何も無かったかのように普通に使えています!\(^o^)/


==========
いや〜、タダでここまでできてしまうなんて素晴らしいです。

仮想OSの安定度合いも良いですし、PROXMOXは今後伸びるのではないか〜と思いました。

本当はこの後で、サーバーが障害で止まってしまったときに、他のサーバーで仮想OSが自動で起動するって High Availability(HA)の機能をやろうと思ったのですが、結構長くなってしまいました。
PROXMOXクラスター 7」につづきます。