Настройка сервера и клиента Networks File Server

1. NFS-сервер

Ядро должно быть собрано с опциями:
# Network file system
options         NFSCL
options         NFSD
options         NFSLOCKD

В /etc/rc.conf добавляем:
# nfs_server_enable="YES"
# nfs_server_flags=" -u -t -n 3 -h ip-адрес_сервера"
# rcpbind_enable="YES"
# mountd_enable="YES"

Где u — поддержка UDP-клиентов, t — поддержка TCP-клиентов, n 3 — количество одновременных подключений, h 192.168.1.50 — IP-адрес сервера (можно указать имя хоста).

Если у вас не установлен IPv6, то в файле /etc/netconfig удаляем все строки где есть tcp6 и udp6.

Создаём файл /etc/exports пишем в него папку, которую надо открыть в общий доступ:
echo "/shared_folder -alldirs -maproot=root" >> /etc/exports

Запускаем NFS-сервер, для чего:
# /etc/rc.d
# ./nfsd start
# ./mountd start
# ./rpcbind start


Часть 2. NFS-клиент

Создаем папку в которой будет примонтирована сетевая папка, например:
# cd /mnt
# mkdir share

В /etc/rc.conf добавляем:
# nfs_client_enable="YES"

Запускаем клиента вручную:
# cd /etc/rc.d
# ./nfsclient start

Цепляем сетевую папку:
# mount -t nfs ip-адрес_сервера:/shared_folder /mnt/share

Если всё правильно сделано, то в папке /mnt/share вы увидите папки NFS-сервера.

Монтирование сетевой папки при загрузке системы.

В файл /etc/fstab добавьте строку:
ip-адрес_сервера:/shared_folder         /mnt/share        nfs        rw        0        0 


Часть 3. ZFS и NFS

 Когда вам надо расшарить пулы или датасеты ZFS по NFS, необходимо в консоли прописать:

# zfs get sharenfs zpool1/backups
# zfs get sharenfs zpool1/libs
# zfs get sharenfs zpool1/music
# zfs set sharenfs=on zpool1/backups
# zfs set sharenfs=on zpool1/libs
# zfs set sharenfs=on zpool1/music

И в /etc/rc.conf дописать:
nfsv4_server_enable="YES"