Регулярно приходится настраивать NFS сервер для различных прикладных задач. Причём в основном не на постоянное использование, а временное. На практике именно по nfs достигается максимальная скорость копирования, быстрее чем по scp, ssh, smb или http.
Обычно просто через поиск нахожу какую-то статью и делаю. Своей инструкции нет. Решил написать, уместив максимально кратко и ёмко в одну публикацию, чтобы можно было сохранить и использовать для быстрого копипаста.
Обычно всё хранение файлов под различные нужды делаю в разделе /mnt
:# mkdir /mnt/nfs
# chown nobody:nogroup /mnt/nfs
Устанавливаем пакет для nfs-server:# apt install nfs-kernel-server
Добавляем в файл /etc/exports
описание экспортируемой файловой системы только для ip адреса 10.20.1.56:/mnt/nfs 10.20.1.56(rw,all_squash,no_subtree_check,crossmnt)
Для всей подсети просто добавляем маску:/mnt/nfs 10.20.1.56/24(rw,all_squash,no_subtree_check,crossmnt)
Для нескольких IP адресов пишем их каждый в своей строке (так нагляднее, но можно и в одну писать):/mnt/nfs 10.20.1.56(rw,all_squash,no_subtree_check,crossmnt)
/mnt/nfs 10.20.1.52(rw,all_squash,no_subtree_check,crossmnt)
Перезапускаем сервер# systemctl restart nfs-server
Проверяем работу:# systemctl status nfs-server
Для работы NFS сервера должен быть открыт TCP порт 2049. Если всё ок, переходим на клиент. Ставим туда необходимый пакет:# apt install nfs-common
Проверяем, видит ли клиент что-то на сервере:# showmount -e 10.20.1.36
Export list for 10.20.1.36:
/mnt/nfs 10.20.1.56
Всё в порядке, видим ресурс для нас. Монтируем его к себе:# mkdir /mnt/nfs
# mount 10.20.1.36:/mnt/nfs /mnt/nfs
Проверяем:# df -h | grep nfs
10.20.1.36:/mnt/nfs 48G 3.2G 43G 7% /mnt/nfs
Смотрим версию протокола. Желательно, чтобы работало по v4:# mount -t nfs4
10.20.1.36:/ on /mnt/nfs type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.20.1.56,local_lock=none,addr=10.20.1.36)
Создаём файл:# echo "test" > /mnt/nfs/testfile
При желании можно в fstab добавить на постоянку:10.20.1.36:/mnt/nfs /mnt/nfs nfs4 defaults 0 0
Не забудьте в конце поставить переход на новую строку. Либо подключайте через systemd unit. В моей заметке есть пример с NFS.
Похожие короткие инструкции для настройки SMB сервера:
◽на базе python
◽на базе ядерного ksmbd
#fileserver #nfs
>>Click here to continue<<