вторник, 18 июня 2013 г.

NFS

Про настройку NFS.

Есть удаленная файловая система server - NFS Server(пусть его ip=192.168.100.50). Есть файловая система на которую мы хотим монтировать сlient - NFS Client(предположим, его ip=192.168.5.4). Хотим примонтировать папку folder1.

На машине, выступающей в роли NFS сервера, выполняем:
apt-get install nfs-kernel-server nfs-common portmap



На машине, выступающей в роли NFS клиента, выполняем:
apt-get install nfs-common portmap 


Из удаленной файловой системы server редактируем:
sudo vim /etc/exports

Добавляем в конец папку, которую хотим примонтировать (folder1) из сервера и ip клиента, на который собираемся примонтироваться.



# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)

/home/<user>/folder1    192.168.5.4 (rw,sync,no_subtree_check,no_root_squash)

Подробнее об этих ключах:
rw - чтение и запись  для клиента с IP 192.168.*.*
no_root_squash — рут на клиентской машине имеет тот уровень доступа к файлам в расшариной паке, что и рут на сервере. По умолчанию опция отключена, так как представляет собой реальную угрозу безопасности.
no_subtree_check — если монтируется только часть тома, то сервер будет выполнять проверку принадлежности файла запрошенного клиентом, именно к той части с тома которая примонтирована. Это замедляет передачу данных, по этому зачастую данная опция включена в список параметров, как у меня выше. Т.е. эта опция блокируют проверку, за ее не надобностью.
sync — синхронное поведение файловой системы по отношению к клиенту и серверу. (грубо говоря в режиме реального времени, закинул файл в шару на серваке и вы тут же его видите на клиенте)

После изменения /etc/exports перезапускаем сервер server
sudo /etc/init.d/nfs-kernel-server reload

Заходим к клиенту. На клиенте создадим пустую папку, на которую смонтируем:
mkdir folder1

Затем в клиенте монтируемся:
mount -o nolock 192.168.100.50:/home/user/folder1 folder1

Монтирую обычно с опцией nolock, чтоб отключить блокировку файлов в NFS. Цитата из мана: 
"This setting is occasionally required when connecting to older NFS servers." 

Проверяем:
ls -la folder1

Теперь при изменении данных в folder1 на сервере, на клиенте данные тоже изменятся. Наоборот тоже верно.

Более подробный man тут.


Комментариев нет:

Отправить комментарий