Приветствую!
Решил поделиться маленьким how-to по приготовлению NFS во FreeBSD. Rак раз назрела задача ввода нового сервера для хранения бекапов, взамен устаревшего сервера.
Немного информации из Википедии:
Network file system (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур . Позволяет подключать (монтировать) удалённые файловые системы через сеть.
NFS абстрагирован от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различных операционных систем и аппаратных архитектур.NFS предоставляет клиентам прозрачный доступ к файлам и файловой системе сервера. В отличие от FTP, протокол NFS осуществляет доступ только к тем частям файла, к которым обратился процесс, и основное достоинство его в том, что он делает этот доступ прозрачным. Это означает, что любое приложение клиента, которое может работать с локальным файлом, с таким же успехом может работать и с NFS файлом, без каких либо модификаций самой программы.
NFS-клиенты получают доступ к файлам на NFS-сервере путём отправки RPC-запросов на сервер. Это может быть реализовано с использованием обычных пользовательских процессов — а именно, NFS-клиент может быть пользовательским процессом, который осуществляет конкретные RPC-вызовы на сервер, который так же может быть пользовательским процессом.
Итак имеем два сервера с установленной FreeBSD:
- Будущий NFS сервер с IP 10.200.6.8
- Клиент NFS c IP 10.200.0.45
На сервере в /etc/rc.conf вписываем:
#NFS-Server rpcbind_enable="YES" nfs_server_enable="YES" nfs_server_flags="-u -t -n 4" mountd_enable="YES" mountd_flags="-r"
В файле /etc/exports опишем наши ресурсы которые мы будем отдавать
/data/backup -alldirs -maproot=root 10.200.0.45 10.200.6.2 10.200.6.6 10.200.6.120
Где:
- /data/backup — директория, которую мы раздаем клиентам
- ключ -alldirs позволит монтировать все поддиректории в указанном выше пути
- ключ -maproot=root позволит при монтировании на клиенте работать с файлами на запись
- 10.200.0.45 — IP клиента NFS, которому разрешен доступ, можно через пробел указать несколько или указать сеть
Перезагружать сервер не требуется, достаточно ввести три команды:
rpcbind nfsd -u -t -n 4 mountd -r
Сервер готов раздавать свои ресурсы.
На клиенте 10.200.0.45, вписываем строку в /etc/rc.conf разрешающую запуск nfs-клиента
nfs_client_enable="YES"
Запускаем клиента
nfsiod -n 4
Создаем директорию куда будем монтировать шару с NFS-сервера:
mkdir /mnt/backup
Далее можем смонтировать командой:
mount 10.200.6.8:/data/backup /mnt/backup
Для постоянного использования шары NFS, запишем строку монтирования в файл /etc/fstab
10.200.6.8:/data/backup /mnt/backup nfs rw 0 0
Проверяем:
mount | grep backup 10.200.6.8:/data/backup on /mnt/backup (nfs)
P.S. Вместо IP, можно использовать имена, при условии, что DNS в вашей сети все правильно резольвит.
Ссылка на Handbook.
Вот и все, спасибо, что зашли!