воскресенье, 30 августа 2009 г.

Настройка NFS

Для понимания особенностей работы читаем это.

Установка для ubuntu и debian

для сервера
aptitude install nfs-kernel-server nfs-common

для клиента
aptitude install nfs-common

возможно понадобится перезапустить
# /etc/init.d/portmap restart
# /etc/init.d/nfs-common restart



Настройка

Особенности настройки сервера в Debian Lenny.

# nano /etc/exports

Не указываем в ip адресе звездочек - работает не правильно. Не ставим пробелы в скобках после запятых.

Пример:

/srv/film 192.168.1.10(rw,sync,fsid=0,crossmnt,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
/srv/media 192.168.1.0/24(ro,async,all_squash,anonuid=1000,anongid=1000,no_subtree_check)


Поскольку NFS думает что у нас централизованная аутентификация, то смонтированые по сети каталоги будут использоваться под логинами локальных пользователей, а то что они разные нет никаких гарантий(у меня на ноуте и на десктопе два разных пользователя с одним uid).

Для устранения проблем с безопасностью и разными накладками эта запись all_squash,anonuid=1000,anongid=1000 приводит всех входящих юзеров к одному логину и группе. Им уже можно без головной боли выдавать права.

fsid=0,crossmnt, - если внутри /srv/film будут встречаться смонтированные каталоги(смотри внизу) то без этой записи они останутся пустыми.

Обязательно после сохранения настроек

# exportfs -ra

покажет ошибки в конфиге и применяем новые настройки.

На стороне клиента

mount 192.168.0.100:/srv/film /mnt/film (что-то типа -F nfs для монтировани nfs не нужно)

или в fstab

192.168.0.100:/opt/files /mnt nfs rw,noauto,user 0 0

(noauto,user - не монтировать автоматом, ибо может не быть сети и монтировать с правами непривилегированного пользователя)

upd

оптимизированные параметры монтирования на основе заметки

при потерях пакетов убираем udp, soft только для ro(насколько он кошерней, пока не знаю)

mount -t nfs -o rw,async,noatime,udp,hard,intr
mount -t nfs -o ro,async,noatime,udp,soft


имхо для записи лучше синхроность - для надежности(опция sync)
mount -t nfs -o rw,sync,noatime,udp,hard,intr

Можно почитать аналогичные заметки тут или тут

Не используйте символические ссылки внутри расшариваемых каталогов - они не работают. Используйте mount --bind(это доступно только в nfs v4 в треретьем такого нет). Его лучше прописать в fstab( обязательно none не забываем - иначе бывают глюки аля не отмонтируестся каталог)

/srv/serials /srv/film/serials none bind 0 0

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

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