Монтирование файловых систем NFS

22.2. Монтирование файловых систем NFS

Для монтирования общего NFS-каталога другого компьютера используйте команду mount :

mount shadowman.example.com:/misc/export /misc/local

ПредупреждениеПредупреждение
 

К моменту выполнения этой команду уже должен существовать каталог точки монтирования на локальном компьютере (в приведённом выше примере /mnt/local).

В этой команде shadowman.example.com — имя узла файлового сервера NFS, /misc/export — каталог, который экспортирует shadowman, а /misc/local — размещение монтируемой файловой системы на локальном компьютере. Выполнив команду mount (и имея необходимые разрешения на NFS-сервере shadowman.example.com), клиент может запустить команду ls /misc/local и получить список файлов в каталоге /misc/export на компьютере shadowman.example.com.

22.2.1. Подключение файловых систем NFS с помощью /etc/fstab

Также можно подключить NFS-ресурс другого компьютера, добавив строку в файл /etc/fstab. В этой строке указывается имя NFS-сервера, каталог, экспортируемый этим сервером, и каталог локального компьютера, в который будет смонтирован этот NFS-ресурс. Чтобы изменить файл /etc/fstab, вы должны быть пользователем root.

Типичная запись в файле /etc/fstab выглядит следующим образом:

server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr

К моменту выполнения этой команды, каталог /pub уже должен существовать на клиентском компьютере. Добавив эту строку в файл /etc/fstab на клиентском компьютере, введите в приглашении оболочки команду mount /pub, и каталог /pub будет смонтирован с сервера.

22.2.2. Монтирование файловых систем NFS с помощью autofs

Кроме этого, подключить NFS-ресурс можно с помощью службы autofs. Autofs использует демона automount для управления своими точками монтирования, монтируя их динамически по мере обращения.

Autofs анализирует главный файл сопоставлений /etc/auto.master для определения точек монтирования. Затем запускается процесс автоматического монтирования каждой точки с указанными параметрами. Каждая строка в главном файле сопоставлений определяет точку монтирования, а отдельный файл сопоставлений определяет, какие файловые системы должны быть смонтированы в эту точку. Например, файл /etc/auto.mnt может определять точки монтирования для каталога /mnt, и эта связь будет определяться в файле /etc/auto.master.

Каждая запись в auto.master имеет три поля. В первом поле указывается точка монтирования. Во втором поле определяется размещение файла сопоставлений, а третье поле является необязательным. Третье поле может содержать дополнительную информацию, например значение таймаута.

Например, чтобы смонтировать каталог /proj52 удалённого компьютера penguin.example.net в точку монтирования /mnt/myproject на вашем компьютере, добавьте в файл auto.master следующую строку:

/misc   /etc/auto.misc --timeout 60

Затем, добавьте в файл /etc/auto.mnt следующую строку:

myproject  -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52

Первое поле в файле /etc/auto.mnt содержит имя подкаталога в /misc. Этот подкаталог динамически создаётся демоном automount. Он не должен существовать на клиентском компьютере. Второе поле содержит параметры подключения, например, параметр rw разрешает доступ на чтение и запись. В третьем поле определяется размещение NFS-экспорта, включая имя компьютера и каталога.

ЗамечаниеЗамечание
 

Каталог /misc должен уже существовать в локальной файловой системе. При этом в локальном каталоге /misc не должно быть подкаталогов.

Чтобы запустить службу autofs, введите в приглашении оболочки следующую команду:

/sbin/service autofs restart

Чтобы просмотреть активные точки монтирования, введите в приглашении оболочки следующую команду:

/sbin/service autofs status

Если вы измените файл конфигурации /etc/auto.master во время работы autofs, вы должны указать демону automount перегрузить его, выполнив следующую команду в приглашении оболочки:

/sbin/service autofs reload

Чтобы узнать, как настроить запуск autofs при загрузке, и получить другую информацию об управлении службами, обратитесь к разделу 20 Управление доступом к службам.

22.2.3. Использование TCP

Транспортным протоколом в NFSv4 по умолчанию является TCP; однако, ядро Red Hat Enterprise Linux 4 также поддерживает NFS поверх UDP. Чтобы использовать NFS поверх TCP, при подключении экспортированной файловой системы NFS на клиентском компьютере передайте параметр -o udp команде mount.

Подключить экспорт файловой системы NFS можно тремя способами. По требованию, в командной строке (на стороне клиента), автоматически, с помощью файла /etc/fstab (на стороне клиента) и автоматически, с помощью файлов конфигурации autofs, например, /etc/auto.master и /etc/auto.misc (на стороне сервера с использованием NIS).

Например, чтобы настроить экспорт в командной строке (на стороне клиента):

mount -o udp shadowman.example.com:/misc/export /misc/local

Когда NFS-монтирование указано в /etc/fstab (на стороне клиента):

server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr,udp

Когда NFS-монтирование указано в файле конфигурации NIS-сервера (для рабочих станций, поддерживающих NIS):

myproject  -rw,soft,intr,rsize=8192,wsize=8192,udp penguin.example.net:/proj52

Так как по умолчанию используется TCP, если параметр -o udp не указан, клиент обращается к экспортированной файловой системе NFS по протоколу TCP.

Использование TCP даёт в частности следующие преимущества:

  • Повышенная прочность соединения, то есть меньше сообщений NFS stale file handles.

  • Выигрыш в скорости в сильно загруженных сетях, так как TCP подтверждает каждый пакет, в отличие от UDP, который подтверждает только завершение всей операции.

  • TCP имеет лучшие средства для работы в загруженных сетях, по сравнению с UDP (у него их вообще нет). В первую очередь в сильно загруженных сетях пропадают пакеты UDP. Это значит, что если NFS пишет данные блоками по 8 Кбайт, по UDP приходится передавать повторно все 8 Кбайт. А так как TCP работает надёжно, передаются только части этих 8 Кбайт.

  • Выявление ошибок. Когда TCP-соединение разрывается (по причине недоступности сервера) клиент прекращает передачу данных и перезапускает подключение, пока сервер не будет доступен. Так как протокол UDP не контролирует подключения, сеанс продолжает забрасывать сеть данными, пока сервер не восстановит подключение.

Основным недостатком TCP является очень незначительное снижение производительности из-за накладных расходов, связанных с протоколом TCP.

22.2.4. Сохранение ACL

Ядро Red Hat Enterprise Linux 4 обеспечивает поддержку ACL для файловой системы ext3 и файловых системы ext3, смонтированных с использованием протоколов NFS или Samba. Таким образом, если в файловой системе ext3 включены ACL, она экспортируется через NFS, и NFS-клиент может читать ACL, он также будет работать с ACL.