0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Proxmox × TrueNAS (NFS) で共有ストレージを作り、スナップショットも試してみた

Posted at

これは、TrueNAS 上で NFS を使って Proxmox クラスタの共有ストレージを構築し、スナップショットやマイグレーションを試してみた 記事です。
結論として、NFS はクラスタ環境でもメタデータ破損などのトラブルがなく、スナップショットも普通に取れて便利 でした。
同じように「Ceph は難しそうだけど、NFS で共有ストレージをやってみたい」という方の参考になれば嬉しいです。


背景

  • Proxmox クラスタで共有ストレージを使うには、Ceph などが有名。
  • しかし、自宅で簡単に導入するなら、NFS も十分に有力な選択肢。
  • 以前に TrueNAS 上で iSCSI + LVMThin-LVM を試してきたが、今回は NFS を利用してみたところ、
    スナップショットがバッチリ動く うえ、クラスタでもメタデータの破損などの問題がなく スムーズにマイグレーションできた。

環境イメージ

  • TrueNAS(詳細の設定は割愛)
    • NFS 共有をエクスポートしており、Proxmox ノード (pve53, pve54, pve55) からアクセス可能
  • Proxmox 3ノードでクラスタを構成
  • ネットワークは 1GbE で各ノードから TrueNAS へ到達できる設定

TrueNAS 側の設定

  • Sharing -> Unix Shares (NFS) から、NFS エクスポートを作成
  • Proxmox ノードの IP (またはサブネット) に対して書き込み権限を与える
  • 詳細なやり方は TrueNAS の UI に従う。ここは本記事では割愛。

image.png

image.png

image.png

Proxmox 側での NFS 接続設定

  • Datacenter -> Storage -> Add -> NFS
    • ID: NFS など任意
    • サーバ: TrueNAS の IP
    • Export: TrueNAS 側で設定したエクスポートパス (例: /mnt/nas_pool/vm_nfs)
    • 内容: “ディスクイメージ” や “ISO イメージ” を選択
  • 保存すると、Proxmox の各ノードが自動的にマウントして、NFS ストレージとして認識する

image.png

image.png

image.png


VM ディスクを NFS に作ってみる (qcow2)

Proxmox で NFS ストレージを使う場合、ディスクイメージは qcow2 形式 になるのが一般的です。(GUI 上でも自動的に qcow2 で作成されます)

新規 VM 作成

  • “ディスク” の項目で、さきほど追加した NFS を選択
  • すると、ディスクフォーマットとしては自動的に qcow2 となる
  • 他は通常と同じように OS インストールを実行

image.png

VM 起動後、普通に OS が動作すれば OK です。


スナップショットを試す

WebUI からのスナップショット

Proxmox で VM を選択 -> “スナップショット” タブ -> “スナップショット採取”

  • 名前を入力して OK をクリック
  • すぐにスナップショットが作成される

image.png

image.png

image.png

image.png

NFS (qcow2) の場合、プロセス自体がとてもシンプル で、メタデータ破損等のトラブルは起きません
取得したスナップショットは、同タブで一覧表示されるので、必要に応じて “ロールバック” もできます。

image.png

実際に ロールバック してみる

  • 例: VM を立ち上げて適当なファイルを書き換えたあと、スナップショット作成時点に戻せるか試す
  • “スナップショット” タブから先ほど作ったスナップショットを選択 -> “Rollback”
  • 数秒後に VM がスナップショット取得時点の状態に戻り、ディスク状態も巻き戻る
  • ちゃんと起動できることを確認

image.png

image.png

image.png

image.png

こうしたスナップショット・ロールバック操作が 特に難しい設定なく 使えるのが qcow2 ファイル形式の良いところです。


マイグレーションも問題なし

マイグレーションの流れ

  • VM を右クリック -> “マイグレート” -> 宛先ノードを選ぶ -> 実行
  • 共有ストレージ (NFS) にディスクイメージがあるので、ディスクデータのコピーは不要
  • メモリの同期だけ行われて、素早く移行が完了する
  • 移行後は /etc/pve/nodes/pve54/qemu-server/<VMID>.conf のように設定ファイルが切り替わり、宛先ノードで VM が動作する

クラスタ環境でも メタデータの破損 といった問題は発生せず、非常にスムーズ。
NFS なので複雑な LVM-Thin のメタデータのような仕組みがなく、ファイル共有ベースでの扱いのためです。

VM ディスクを NFS に作ってみる (raw)

試験用に、VMディスクをrawとして仮想マシンを作成してみます。

新規 VM 作成

  • “ディスク” の項目で、さきほど追加した NFS を選択
  • ディスクフォーマットとして、あえて raw を選択
  • 他は通常と同じように OS インストールを実行

image.png

image.png

image.png

このように、スナップショット採取 がグレーアウトされて使えません。


実際に使ってみた感想

  • NFS は扱いがとてもシンプル。ファイル共有の仕組みなので、複数ノードで同じディスクイメージを問題なく参照できる
  • qcow2 形式なら Proxmox のスナップショットにも対応できるし、柔軟な運用 が可能

まとめ

  1. TrueNAS 上で NFS をエクスポート し、Proxmox クラスタから “NFS” ストレージとして追加
  2. VM ディスクを qcow2 形式で置くことで、WebUI からスナップショットが撮れる
  3. クラスタ環境でもメタデータ破損なし で安定稼働。マイグレーションも高速
  4. シンプルかつ手軽に共有ストレージを実現したい人には NFS はかなりおすすめ

おうちラボ中規模環境 なら十分な機能と安定性が得られるように思われました。

もし iSCSI (LVM) は面倒そうCeph は重そう… と思っている方は、
NFS をぜひ試してみるとよいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?