admin:linux:nfs

NFS

З.Ы.

В линукс контейнере запустить можно только NFS3, NFS4 запускается только в основной системе

Установка бинарных файлов NFS-сервера.

# apt-get install nfs-kernel-server

Проверка правильности установки сервера

 # rpcinfo -p | grep nfs

Должны быть строки с nfs, если их нет, значит что то пошло не так и сервер не работает.

Экспортировать каталог NFS. Все настройки сервера хранятся в файле /etc/exports . Открываем его на редактирование

# nano /etc/exports

Добавляем в конец файла строки вида

/mnt/data/export/ftp  192.168.88.0/24(rw,sync,no_subtree_check,no_root_squash,no_all_squash)

Для большего количества примеров смотрим man exports

# man exports

Для автоматического запуска NFS сервера вносим его в systemctl

# systemctl enable nfs-kernel-server

Когда все будет настроено, останется только обновить таблицу экспорта NFS:

sudo exportfs -a

После этого надо не забыть настроить firewall

https://qastack.ru/server/377170/which-ports-do-i-need-to-open-in-the-firewall-to-use-nfs

На машине, выступающей в роли NFS клиента, выполняем:

 apt-get install nfs-common portmap

Монтируем NFS ресурс на клиенте

Создаем каталоги, куда мы будем монтировать шары NFS:

 mkdir -p /mnt/nfs/home
 mkdir -p /mnt/nfs/var/nfs

Монтируем:

 mount 192.168.0.100:/home /mnt/nfs/home
 mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

Проверяем:

 client:~# df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/vg0-root   19G  676M   17G   4% /
 tmpfs                 253M     0  253M   0% /lib/init/rw
 udev                   10M   80K   10M   1% /dev
 tmpfs                 253M     0  253M   0% /dev/shm
 /dev/sda1             471M   20M  427M   5% /boot
 192.168.0.100:/home    29G  684M   27G   3% /mnt/nfs/home
 192.168.0.100:/var/nfs 29G  684M   27G   3% /mnt/nfs/var/nfs

И:

 client:~# mount
 /dev/mapper/vg0-root on / type ext3 (rw,errors=remount-ro)
 tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
 proc on /proc type proc (rw,noexec,nosuid,nodev)
 sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
 udev on /dev type tmpfs (rw,mode=0755)
 tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
 devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)  /dev/sda1 on /boot type ext3 (rw)
 192.168.0.100:/home on /mnt/nfs/home type nfs (rw,addr=192.168.0.100)
 192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,addr=192.168.0.100)

Проверка

На клиенте создадим несколько файлов:

 touch /mnt/nfs/home/test.txt
 touch /mnt/nfs/var/nfs/test.txt

Зайдем на сервер и полюбуемся на результат:

 server:~# ls -l /home/
 total 4
 drwxr-xr-x 2 administrator administrator 4096 2009-02-16 13:18 administrator
 -rw-r--r-- 1 root          root             0 2009-03-12 17:08 test.txt
 server:~# ls -l /var/nfs
 total 0
 -rw-r--r-- 1 nobody nogroup 0 2009-03-12 17:08 test.txt
 server:~#

Обратите внимание на то, что владельцы файлов различаются.

Монтирование ресурсов NFS во время загрузки

Вместо ручного монтирования шар, вы можете указать их в файле /etc/fstab для автоматического монтирования во время начальной загрузки.

 vi /etc/fstab
 [...]
 192.168.0.100:/home  /mnt/nfs/home   nfs      rw,sync,hard,intr  0     0
 192.168.0.100:/var/nfs  /mnt/nfs/var/nfs   nfs    

Вместо опций rw,sync,hard,intr вы можете использовать что-то другое, для получения дополнительной информации, обратитесь к man nfs.

Для проверки правильности монтирования перезагрузите систему. После этого в очередной раз проверим результат:

df -h
  1. нельзя из контейнера примонтировать хост ресурс, на KVM машине - все работает.
  2. В контейнере монтируем через монтирование ресурсов хоста.
    1. Примонтировать директорию внутрь контейнера admin:linux:mount_in_ct
  • /home/c12628/integrarium.ru/www/data/pages/admin/linux/nfs.txt
  • Последнее изменение: 2021/03/08 18:20
  • truadmin