1
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?

PVEのZFSプール上でNFSを利用する

Posted at

ユースケース

以下みたいなケースで、ファイル共有がほしくなったので手順をメモ。

  • PVEノード構成
    • クラスタにNFS等の共有ストレージなし
    • OS用のディスクは小さめ
    • VM用のディスクは大き目かつZFS
  • ファイル共有したい理由
    • ISOイメージ等を各PVEノードのlocal(デフォルト作成されるディレクトリ)に用意するのが大変
    • インポートウィザード以外の移行方式の場合にlocalがあるディスクが足りない
      • OVA/OVFインポート
      • P2V(Clonezillaとか)
        • ディスク→イメージを想定。ディスク→ディスクなら不要だが、失敗時の切り分け・手戻りを考慮。
      • Attach Disk & Move Disk (minimal downtime)
        • ZFSだとraw形式以外がVMディスクとして利用できないので、NFSとすることでvmdk形式が利用出来る点も〇

手順

有効化

  • NFSのパッケージインストール
  • 作成済みのZFSプールにNFS用のZFSファイルシステム作成
  • 作成したZFSファイルシステムにNFS権限設定
    • この時、PVEをrootで利用しているとno_root_squashが必要なのがはまりポイント。
  • サービス設定
apt update
apt install nfs-kernel-server

zfs create mypool/share

zfs set sharenfs="rw=@xxx.xxx.xxx.xxx/xx,no_root_squash" mypool/share
zfs get sharenfs mypool/share

systemctl start nfs-kernel-server
systemctl enable nfs-kernel-server

無効化

作業終了したら無効化。

VMのディスクとしてNFSを利用していても、ストレージから削除出来たり、NFS共有設定を削除出来てしまう。
この時、VMとディスクを削除出来なくなってしまい面倒なので、先にVM等で利用されていないこと・ZFSファイルシステムが空であることを確認したほうがいい。

systemctl stop nfs-kernel-server
systemctl disable nfs-kernel-server

zfs set sharenfs=off mypool/share
zfs destroy mypool/share

メモ

Clonezilla等であれば関係ないが、Attach Disk & Move Disk (minimal downtime)などESXiからNFSにファイルをコピーする際、ESXiのAPI制限を受けて速度が出ないため、やり方検討したい。(未検討)
ただし、API制限がかかっているのでESXiの利用状況を気にしなくていい、という観点はあり。
※無制限で帯域等の使用して、既存のESXi利用に影響出ちゃうとか。

  • データストアとしてでなく、普通にNFSとしてマウントする?
  • ESXiローカルからNFSにストレージマイグレーションする?
    • vCenterが必要っぽい?
1
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
1
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?