Установка и настройка NFS сервера и клиента в Ubuntu

дело было вечером - делать было нечего (точнее дело было ночью)

в общем что то я начал подозревать что юзать самбу на линукс машинах есть не очень корректно по сему решил поднять на домашнем сервере вместо самбы (а точнее в дополнение к ней) NFS

конфигурация такова

сервер - ubuntu 9.04 desktop там торрнент клиент крутиться ну и немного софта для просмотра видео ну и много HDD

рабочая станция тут уже как месяц тоже ubuntu 9.04 desktop естественно немного винчестера и опять торрнет только уже для часто меняющихся загрузок ну и торрент естественно скачивает на серверную машину

сеть - 100 мегабит инет и 1G локально (сервер-раб.станции)

немного погуглив нашел немного (гуглил русский сегмент инета), но того что нашел я посчитал будет предостаточно. Так что начинаем (статья писалась в процессе установки-настройки)

СЕРВЕР

Устанавливаем NFS-сервер:

sudo apt-get install nfs-kernel-server nfs-common portmap

Настраиваем, какие именно директории мы хотим открыть для совместного пользования и кому. Все это делается в файле /etc/exports:

sudo nano -w /etc/exports

В приведенном ниже примере я выделил директорию /data (директория с данными на сервере) в совместное пользование всем компьютерам с IP - 192.168.0.1 - 192.168.3.255 с правами чтения и записи:

/hard 192.168.0.1/22(rw,no_root_squash,async)

Или еще пример:

/home/samnick/ 192.168.2.96(ro,async)

домашняя директория пользователя samnick стала доступной в режиме только чтение для компьютера с IP 192.168.2.96. Все остальные компьютеры сети к этому разделу доступа не имеют.

Опции:

  • ro - права только на чтение. Можно и не указывать, так как она установлена по умолчанию.
  • rw - дает клиентам право на запись.
  • no_root_squash - по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать.
  • noaccess - запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.

О других опция можно почитать тут:

http://www.toucheatout.net/informatics/linux/nfs-tuning-options

про /22 (маску подсети) читаем тут:

http://ru.wikipedia.org/wiki/CIDR сам оч чясто смотрю (запомнить никак не могу)

Теперь нужно перезапустить дабы все заработало nfs-kernel-server:

sudo /etc/init.d/nfs-kernel-server restart

в дальнейшем при изменении конфигурационного файла будет достаточно перечитать конфигурационный файл тут все просто

sudo exportfs -a

все радуемся сервер подняли и настроили теперь беремся за клиента

КЛИЕНТ

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

Установка:

sudo apt-get install portmap nfs-common

Монтирование:

создаем точку монтирования (папку к которой будет монтирована папка с сервера)

я лично предпочитаю все монтировать в каталог /media/

cd /media

так как каталог системный то нам необходимы права root`a

sudo mkdir hard

способов монтирования несколько одн это постоянно вручную (то есть после каждой перезагрузки) а второй это автоматически

первый вариант я допишу чуть позднее

вариант второй

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

для этого отредактируем файл /etc/fstab (в нем описаны файловые системы, что куда и как монтировать)

sudo nano -w /etc/fstab

для прописывания нашего сетевого диска просто допишем в конец файла наши данные

192.168.2.98:/hard /media/hard nfs rw,hard,intr 0 
  • 192.168.2.98:/hard -адрес_вашего_сервера:папака_на_вашем_сервере
  • /media/hard -/папка_куда_будем_монтировать
  • nfs rw,hard,intr 0 -опции монтирования (в подробности вдаваться не будем)

подробнее про монтирование можно прочитать тут http://rus-linux.net/lib.php?name=MyLDP/file-sys/fstab.html

после того как записали свои данные сохраняем файл конфигурации монтируем нашу NFS

sudo mount /media/hard

все готово теперь мы можем лицезреть наш диск в проводнике как простой физический диск

более глубже почитать про NFS можно тут http://www.linuxshare.ru/docs/HOWTO/NFS-HOWTO.html

материалы:

Статью написал samnick a.k.a Roman Paschenko