[Sysadmins] I: Краткая памятка по поднятию NFSv4 и NFSv3 (was: Q: NFS сервер за firewall: как сделать правельно?)

Aleksey Avdeev solo на solin.spb.ru
Пт Июл 14 19:34:15 MSD 2006


Michael Shigorin пишет:
> On Thu, Jul 13, 2006 at 11:25:40PM +0400, Aleksey Avdeev wrote:
> 
>>Могу выложить краткое описание. Но только завтра (точнее уже
>>сегодня) ближе к вечеру)...
> 
> 
> Давайте (на freesource.info).  И лучше не забудьте, пока помните
> детали.  Потом зачастую опять пригождается.
> 

  Туда тоже, но сначала сюда: лишний прогон текста через спелчекер -- не
лишний, в моём случаи. ;-)

  Общая настройка NFSv4 и NFSv3

  Задача -- экспортировать часть ФС (/ftp/pub) с iso`шками и
репозитариями (часть репозитариев -- подмонтированные iso). Применил
лобовое решение, описанное в <
http://www.citi.umich.edu/projects/nfsv4/linux/using-nfsv4.html#exports>
(для моего случая):

mkdir -p /export/pub
mount --rbind /ftp/pub /export/pub

  Теперь в /export/pub доступно всё содержимое /ftp/pub, в том числе --
и смонтированные туда /ftp/pub/foo* (содержимое соответствующего
/ftp/pub/ISO/foo*.iso). Несмотря на это, в /export придётся упомянуть
_каждую_ из неявно (за счёт mount --rbind) подмонтированных в
/export/pub/* ФС: иначе клиенты их видеть не будут. Мне потребовалось
примерно следующие (упрощённо):

=====

/export (ro,nohide,fsid=0)
/export/pub (ro,nohide,fsid=1)
/export/pub/foo1 (ro,nohide,fsid=2)
/export/pub/foo2 (ro,nohide,fsid=3)
/export/pub/foo<N> (ro,nohide,fsid=<N>)

=====

  При этом числа в параметре fsid должны различаться. При совпадении --
видна только одна из ФС с совпадающими fsid (нарвался на такое, но
детально вопрос не исследовал).

  Это всё на сервере. На клиенте всё монтируется в одной точке (для
NFSv4 и NFSv3 соответственно):

mount -t nfs4 <сервер>:/ <точка монтирования>

mount -t nfs <сервер>:/export <точка монтирования>

  При этом по nfs4 смонтировать удаётся только содержимое /export: при
экспорте какого нибудь /ftp/pub напрямую -- он доступен только по NFSv3...

  NFSv4 и NFSv3 через firewall

  Т. к. для меня критична одновременная поддержка клиентов обоих версий
NFS (v4 и v3), то фиксацию и открытие портов выполнял по рецептам для
NFSv3, как для более гемаройного варианта (меня убеждают что NFSv4
требования мягче, причин не верить у меня нет, но и специально не
проверял). Использовал
<http://ipesin.linux.kiev.ua/translations/rhm/tipstricks10.htm> и
<http://nfs.sourceforge.net/nfs-howto/ar01s06.html>

  Фиксировал и открывал на серверном firewall следующие:

1) nfs -- работает по 2049 tcp/udp по умолчанию. Если требуется сдвинуть
специально -- см. <https://bugzilla.altlinux.org/show_bug.cgi?id=9769>

2) mountd -- параметром MOUNTD_PORT (в /etc/sysconfig/nfs)

3) nlockmgr -- параметрами nlm_tcpport и nlm_udpport модуля lockd
(строка вида "options lockd nlm_tcpport=N nlm_udpport=M" в
/etc/modules.conf)

4) portmapper -- стандартные 111 tcp/udp

  С firewall на клиентах пока не экспериментировал. Есть подозрение, что
там придётся фиксировать и открывать порт для status (см.
<https://bugzilla.altlinux.org/show_bug.cgi?id=9770>).

-- 

С уважением. Алексей.

----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 550 байтов
Описание: OpenPGP digital signature
Url     : http://lists.altlinux.org/pipermail/sysadmins/attachments/20060714/862bc80f/attachment.bin 


Подробная информация о списке рассылки Sysadmins