OpenZFS+NFSサーバーの設定

Ubuntu 21.10+OpenZFSでNFSサーバーを建てる

パッケージ追加

サーバー用のパッケージを追加する

sudo apt install nfs-kernel-server

NFS用のデータセットを作成

既存のzpoolにNFSでエクスポートするデータセット(ディレクトリのようなもの)を作成

ubuntu@ubuntu:~$ sudo zfs create pool01/NFS
ubuntu@ubuntu:~$ zfs list
NAME         USED  AVAIL     REFER  MOUNTPOINT
pool01       258K   391G       25K  /pool01
pool01/NFS    24K   391G       24K  /pool01/NFS

エクスポート設定

通常/etc/exportsへ設定を記載するが、ZFSだとプロパティのsharenfsをonにするだけでいい

ubuntu@ubuntu:~$ sudo zfs get sharenfs pool01/NFS
NAME        PROPERTY  VALUE     SOURCE
pool01/NFS  sharenfs  off       inherited from pool01
ubuntu@ubuntu:~$ sudo zfs set sharenfs=on pool01/NFS
ubuntu@ubuntu:~$ sudo zfs get sharenfs pool01/NFS
NAME        PROPERTY  VALUE     SOURCE
pool01/NFS  sharenfs  on        local

サービス再起動しておく

systemctl restart nfs-server

クライアントからマウント

hoge@hoge-desktop:~$ sudo mount -t nfs 192.168.11.47:/pool01/NFS /mnt
hoge@hoge-desktop:/mnt$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
tmpfs                      1.5G  2.2M  1.5G   1% /run
/dev/sdf2                  457G   42G  393G  10% /
tmpfs                      7.3G   64M  7.2G   1% /dev/shm
tmpfs                      5.0M  4.0K  5.0M   1% /run/lock
tmpfs                      7.3G     0  7.3G   0% /run/qemu
/dev/nvme0n1p1              96M   33M   64M  34% /boot/efi
/dev/sda                   2.9T  209G  2.1T   9% /data
tmpfs                      1.5G  1.3M  1.5G   1% /run/user/1000
192.168.11.47:/pool01/NFS  392G     0  392G   0% /mnt