Как установить NFS-сервер в Fedora 14

Статья на тему установки установки NFS-сервера уже когда то была на этом блоге, она была написана для Ubuntu. Теперь, я решил опубликовать похожую статью, но теперь для Fedora 14, в принципе, разница не большая, но есть некоторые тонкости, которые могут поставить в тупик порой даже опытного пользователя, об админах я речи не веду, они работают за деньги, так что если у них что-то не получается, то это их проблемы. Я в последнее время активно использую Fedora, и этот дистрибутив мне очень нравится, он свежий, быстрый и прилично защищенный. Мало того, его использует Линус 😉 Ну хватит лирики, давайте установим и настроим NFS-сервер для Fedora 14.

Установка NFS-сервера

Установка NFS-сервера и клиента очень проста, давайте сначала поищем что-нибудь в репозиториях:

yum search nfs-utils
 
nfs-utils-lib-devel.i686 : Development files for the nfs-utils-lib library
nfs-utils.i686 : NFS utilities and supporting clients and daemons for the kernel NFS server
nfs-utils-lib.i686 : Network File System Support Library
yum search nfs-utils

nfs-utils-lib-devel.i686 : Development files for the nfs-utils-lib library
nfs-utils.i686 : NFS utilities and supporting clients and daemons for the kernel NFS server
nfs-utils-lib.i686 : Network File System Support Library

Теперь давайте вспомним что есть что:
nfs-utils – Пакет содержащий в себе демона и клиента NFS-сервера и все сопроводительные инструменты.
nfs-utils-libs– Это библиотеки необходимые для для пакета nfs-utils
system-config-nfs system-config-nfs – это GUI-утилита для настройки NFS-сервера

NFSServer

Теперь давайте влепим всё это добро себе в систему, но сначала проверьте, нет ли NFS уже в системе:

rpm -q nfs-utils
rpm -q nfs-utils

Если нет, то смело ставим:

su -c 'yum install nfs-utils.i686 nfs-utils-lib.i686 system-config-nfs.noarch '
su -c 'yum install nfs-utils.i686 nfs-utils-lib.i686 system-config-nfs.noarch '

Итак сервер в системе, осталось настроить сервер:
Основные конфиги для настройки NFS:
/etc/exports – основной конфигурационный файл
/etc/hosts.allow – хосты которым будет разрешен доступ
/etc/hosts.deny – хосты которым будет запрещен доступ

Поехали настраивать сервер, открываем его главный конфигурационный файл:

cd ~
mkdir Temp
su -c 'nano /etc/export'
/home/booch/Temp 192.168.1.100(rw,sync,no_subtree_check)
cd ~
mkdir Temp
su -c 'nano /etc/export'
/home/booch/Temp 192.168.1.100(rw,sync,no_subtree_check)

192.168.1.100 – IP-адрес хоста, для которого делается шара
/home/user/Temp – парка которую мы расшариваем

rw – дать права на запись/чтение
no_subtree_check – если монтируется только часть тома, то сервер будет выполнять проверку принадлежности файла запрошенного клиентом, именно к той части с тома которая примонтирована. Это замедляет передачу данных, по этому зачастую данная опция включена в список параметров, как у меня выше. Т.е. эта опция блокируют проверку, за ее не надобностью.

Что-бы более детально разобраться в расшаривания папки/папок для компьютера/целый сетей смотрите пожалуйста статью NFS сервер на Ubuntu 9.10, директивы файла /etc/exports/ одинаковы для любого дистрибутива.

Итак продолжаем, теперь вам необходимо рестартовать NFS-сервер и все сопутствующие сервисы:

su -c 'service rpcbind restart'
su -c 'service nfs restart' 
su -c 'service nfslock restart'
 
chkconfig nfs on
chkconfig rpcbind on
su -c 'service rpcbind restart'
su -c 'service nfs restart' 
su -c 'service nfslock restart'

chkconfig nfs on
chkconfig rpcbind on

Экспортируем шары:

exportfs -a -v
exportfs -a -v

Ну и на клиенте теперь коннекстимся к серваку:

mount.nfs 192.168.1.101:/home/user/Temp /home/user/data -rw
mount.nfs 192.168.1.101:/home/user/Temp /home/user/data -rw

Если вы получили ошибку:
mount.nfs: No route to host

То делаем так (на сервере):

service iptables stop
service iptables stop

И снова лезим в коннект:

mount.nfs 192.168.1.101:/home/user/Temp /home/user/data -rw
mount.nfs 192.168.1.101:/home/user/Temp /home/user/data -rw

Если получаем вот такую ошибку:
mount.nfs: access denied by server while mounting 192.168.1.101:/home/booch/Temp

Это значит, что вы что-то намутили в файлах: /etc/hosts.deny или /etc/hosts.allow. Если вы не знаете, что с ними делать, то смотрите статью NFS сервер на Ubuntu 9.10, там написано, но лучше оставить их пустыми.

Если вы ничего не делали с этими файлами, а ошибка по прежнему не дает вам соединиться с сервером, то проверьте все ли правильно с вашими IP-адресами и папками и правами на них

Протестировать работу NFS:

nfsstat -o net
nfsstat -o net

Вы всё проверили? Но ошибка по прежнему на месте? Поздравляю, папка которую вы расшариваете на сервере, находится в зашифрованном хомяке, а зашифрованные папки расшаривать по NFS нельзя. Облом. Ну ниче. Надеюсь вам будет полезно на заметку.