これは、TrueNAS 上で NFS を使って Proxmox クラスタの共有ストレージを構築し、スナップショットやマイグレーションを試してみた 記事です。
結論として、NFS はクラスタ環境でもメタデータ破損などのトラブルがなく、スナップショットも普通に取れて便利 でした。
同じように「Ceph は難しそうだけど、NFS で共有ストレージをやってみたい」という方の参考になれば嬉しいです。
背景
- Proxmox クラスタで共有ストレージを使うには、Ceph などが有名。
- しかし、自宅で簡単に導入するなら、NFS も十分に有力な選択肢。
- 以前に TrueNAS 上で iSCSI + LVM や Thin-LVM を試してきたが、今回は NFS を利用してみたところ、
スナップショットがバッチリ動く うえ、クラスタでもメタデータの破損などの問題がなく スムーズにマイグレーションできた。
環境イメージ
- TrueNAS(詳細の設定は割愛)
-
NFS
共有をエクスポートしており、Proxmox ノード (pve53, pve54, pve55) からアクセス可能
-
- Proxmox 3ノードでクラスタを構成
- ネットワークは 1GbE で各ノードから TrueNAS へ到達できる設定
TrueNAS 側の設定
-
Sharing -> Unix Shares (NFS)
から、NFS エクスポートを作成 - Proxmox ノードの IP (またはサブネット) に対して書き込み権限を与える
- 詳細なやり方は TrueNAS の UI に従う。ここは本記事では割愛。
Proxmox 側での NFS 接続設定
- Datacenter -> Storage ->
Add -> NFS
-
ID
:NFS
など任意 -
サーバ
: TrueNAS の IP -
Export
: TrueNAS 側で設定したエクスポートパス (例:/mnt/nas_pool/vm_nfs
) -
内容
: “ディスクイメージ” や “ISO イメージ” を選択
-
- 保存すると、Proxmox の各ノードが自動的にマウントして、NFS ストレージとして認識する
VM ディスクを NFS に作ってみる (qcow2)
Proxmox で NFS ストレージを使う場合、ディスクイメージは qcow2
形式 になるのが一般的です。(GUI 上でも自動的に qcow2 で作成されます)
新規 VM 作成
- “ディスク” の項目で、さきほど追加した
NFS
を選択 - すると、ディスクフォーマットとしては自動的に
qcow2
となる - 他は通常と同じように OS インストールを実行
VM 起動後、普通に OS が動作すれば OK です。
スナップショットを試す
WebUI からのスナップショット
Proxmox で VM を選択 -> “スナップショット” タブ -> “スナップショット採取”
- 名前を入力して OK をクリック
- すぐにスナップショットが作成される
NFS (qcow2) の場合、プロセス自体がとてもシンプル で、メタデータ破損等のトラブルは起きません 。
取得したスナップショットは、同タブで一覧表示されるので、必要に応じて “ロールバック” もできます。
実際に ロールバック してみる
- 例: VM を立ち上げて適当なファイルを書き換えたあと、スナップショット作成時点に戻せるか試す
- “スナップショット” タブから先ほど作ったスナップショットを選択 -> “Rollback”
- 数秒後に VM がスナップショット取得時点の状態に戻り、ディスク状態も巻き戻る
- ちゃんと起動できることを確認
こうしたスナップショット・ロールバック操作が 特に難しい設定なく 使えるのが qcow2 ファイル形式の良いところです。
マイグレーションも問題なし
マイグレーションの流れ
- VM を右クリック -> “マイグレート” -> 宛先ノードを選ぶ -> 実行
- 共有ストレージ (NFS) にディスクイメージがあるので、ディスクデータのコピーは不要
- メモリの同期だけ行われて、素早く移行が完了する
- 移行後は
/etc/pve/nodes/pve54/qemu-server/<VMID>.conf
のように設定ファイルが切り替わり、宛先ノードで VM が動作する
クラスタ環境でも メタデータの破損 といった問題は発生せず、非常にスムーズ。
NFS なので複雑な LVM-Thin のメタデータのような仕組みがなく、ファイル共有ベースでの扱いのためです。
VM ディスクを NFS に作ってみる (raw)
試験用に、VMディスクをrawとして仮想マシンを作成してみます。
新規 VM 作成
- “ディスク” の項目で、さきほど追加した
NFS
を選択 - ディスクフォーマットとして、あえて
raw
を選択 - 他は通常と同じように OS インストールを実行
このように、スナップショット採取 がグレーアウトされて使えません。
実際に使ってみた感想
- NFS は扱いがとてもシンプル。ファイル共有の仕組みなので、複数ノードで同じディスクイメージを問題なく参照できる
- qcow2 形式なら Proxmox のスナップショットにも対応できるし、柔軟な運用 が可能
まとめ
- TrueNAS 上で NFS をエクスポート し、Proxmox クラスタから “NFS” ストレージとして追加
- VM ディスクを
qcow2
形式で置くことで、WebUI からスナップショットが撮れる - クラスタ環境でもメタデータ破損なし で安定稼働。マイグレーションも高速
- シンプルかつ手軽に共有ストレージを実現したい人には NFS はかなりおすすめ
おうちラボ や 中規模環境 なら十分な機能と安定性が得られるように思われました。
もし iSCSI (LVM) は面倒そう や Ceph は重そう… と思っている方は、
NFS をぜひ試してみるとよいと思います。