NFS
З.Ы.
В линукс контейнере запустить можно только NFS3, NFS4 запускается только в основной системе
Установка NFS server в Debian
Установка бинарных файлов 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 client в Debian
На машине, выступающей в роли 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
PS
- нельзя из контейнера примонтировать хост ресурс, на KVM машине - все работает.
- В контейнере монтируем через монтирование ресурсов хоста.
- Примонтировать директорию внутрь контейнера admin:linux:mount_in_ct