QNAP NASをHA構成でProxmox VEのストレージとして利用する方法 + フェイルオーバー発生時のVMの挙動確認

仮想マシン環境として最近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の条件によって結果が異なる場合が有りますので、ご注意ください。

1 Like