仮想マシン環境として最近Proxmox VEが注目されていますので、手元でProxmoxからHA構成のQNAP NASに接続して使用する方法について、手順の確認と、挙動を確認してみましたので、シェアいたします。
Proxmox VE環境の用意
今回は細かい点については触れませんが、Proxmox VEのインストールを行います。インストール用のisoファイルは下記より入手できます。
こちらをダウンロードした後、USBフラッシュにブータブルな状態で書き込みをしてインストールメディアを作成します。
作成したインストールメディアをProxmox VEをインストールしたいHWに接続、USBからブートさせ、インストールします。
今回は使わなくなった古い評価用のNAS(TVS-882T)にインストールしてProxmox VE化しました。
iSCSI接続
Proxmox VEで使用する場合、iSCSIとNFSで使用できるようですが、まずはiSCSIで試してみます。NASのStorage ManagerにてiSCSI LUNを切り出します。
Proxmox VE環境にて、[データセンター] - [ストレージ] - [追加] - [iSCSI]と選択し、
ID(Proxomox VE上でのデバイス名)、ポータル(QNAP NASのIPアドレス)を入力すると、使用できる(Exportされている)LUNが選べるので、Proxmox VEにて使用したいLUNを選択します。
ここまででiSCSIボリュームがディスクとして認識されるのですが、さらに、該当ディスクをLVMにしました。(VMWareの場合だとVMFSでフォーマットしていたと思うのですが、LVMで使用するというのがProxmox上で使用できるようにするための儀式なのかな?という理解です。ZFS over iSCSIなどでもいい気がします・・・)
ここまで行えば、仮想マシン作成時にiSCSIデバイスをストレージの格納先として選択できるようになります。
実際にiSCSIディスクを使ってボリュームを作成、Windows11をインストールすると、こんな感じで使用できます。
VMからのパフォーマンス
今回の環境ですが、こちらのような環境になります。(TS-h1290FXのHA構成構築手順については、こちらをご確認ください。)
Proxmox VEとスイッチ間は10GbEで接続されています。
TS-h1290FXは、2台でHA構成をとっており、表側は10GbE、Heartbeat用の接続は25GbEとなっています。
Proxmox VE上にWindows 11 Proをインストールし、ディスクイメージの保存場所をTS-h1290C(HAクラスタ上)としたうえで、ローカルドライブの速度を測定します。
CrystalDiskMarkで測定したときの結果が下記になります。
シーケンシャルReadでは、ばっちり10GbEの帯域満額のパフォーマンスが出ています。また、シーケンシャルWriteについては858MB/sとHA構成内でのデータ同期のためのパフォーマンスデグレードは若干あるものの、10GbE接続にて満足いくパフォーマンスが出ています。
HA構成にてフェイルオーバーが発生した場合のVMの挙動
せっかくなので、HA構成にてフェイルーバーが発生した場合のVMの挙動を確認してみます。
VMのWindowsが止まった場合にわかるように時計を秒針まで表示させます。(ここです)
また、HAストレージにアクセスを発生させるために、VMのローカルディスク上に動画を置いて、連続再生させておきます。こちらがHAのメイン機から電源を抜いて、サブ機にフェイルオーバーさせた場合の動きになります。
フェイルオーバー発生時にProxmox VE上で動作するVM自体は停止していませんが、ローカルディスク含めHA構成上のデータにアクセスする場合は、IO waitが発生するような感じかと思います。
Single Node構成であれば当然VM自身も停止してしまうので、Proxmox VE用のストレージをHAで構成することで、可用性を高めてより安全にVMを運用可能なことがわかります。※環境やIOの条件によって結果が異なる場合が有りますので、ご注意ください。