Основы NFS в ОС Solaris

Решил сохранить у себя в блоге интересную статью найденую тут и которая мне очень понравилась.

Network file system (NFS) – клиент-серверное приложение, которое позволяет пользователям смотреть, сохранять и обновлять файлы на удаленной системе так, как если бы они находились на локальной системе.

Примечание: информация в этой статье относится к Solaris 9 и 10 и NFS версии 4 (NFSv4), хотя иногда описываются NFSv2 и NFSv3.

Конфигурация NFS

Конфигурация NFS состоит из двух компонентов:

  • Сервер NFS, который содержит файловые ресурсы, разделяемые с другими системами.
  • Клиент NFS, который подключает разделяемые файловые ресурсы по сети и представляет их так, как будто они находятся на локальной системе.

Файлы NFS-сервера

  • /etc/dfs/dfstab — содержит список ресурсов, разделяемых во время загрузки.
  • /etc/nfs/nfslogd.conf – определяет расположение журнальных файлов, используемым NFS.
  • /etc/dfs/sharetab – содержит список ресурсов, разделяемых NFS-сервером в настоящее время.
  • /etc/rmtab – содержит список файловых систем, подключенных NFS-клиентами. НЕ редактируйте этот файл вручную!
  • /etc/nfs/nfslog.conf – содержит список информации, определяющих расположение журнальных файлов, используемым NFS.

Формат файла dfstab

# cat /etc/dfs/dfstab
# Place share(1M) commands here for automatic execution
# on entering init state 3.
#
# Issue the command 'svcadm enable network/nfs/server' to
# run the NFS daemon processes and the share commands, after adding
# the very first entry to this file.
#
# share [-F fstype] [-o options] [-d "<text>"] <pathname> [resource]
# .e.g,
# share -F nfs -o rw=engineering -d "home dirs" /export/home2

Например, мы сделаем разделяемым в режиме «только для чтения» (read only, ro) домашний каталог /export/home/<dir_name>:
share -o ro /export/home/<dir_name>

Демоны NFS-сервера в Solaris 10

Описание демонов:

  • mountd — обрабатывает запросы удаленных систем на подключение файловых систем и обеспечивает проверку прав доступа. Не используется в NFSv4.
  • nfsmapid – демон, который обеспечивает отображение User ID и Group ID, используемый в NFSv4.
  • nfsd – обрабатывает запросы клиентов к файловой системе, используется в NFSv4.
  • statd — работает совместно с lockd, обеспечивает восстановление после сбоев и управление блокировками.
  • lockd – реализует блокировки на NFS-файлах.
  • nfslogd – обеспечивает журналирование в NFSv2 и NFSv3.

В Solaris 10 и NFSv4 для работы NFS нужно всего 2 демона: nfsmapid и nfsd. Демоны mountd и lockd объединенные вместе, и демоны nfsmapid и nfsd поддерживаются в Solaris 10 на порту 2049, что обеспечивает лучшую работу NFS через межсетевые экраны.

Если вы хотите использовать NFSv2 или NFSv3 в Solaris 10, то поддерживаются все демоны.

Запуск и остановка сервиса NSF-сервера

Сервис svc:/network/nfs/server запускает демоны NFS-сервера, когда система переходит на уровень 3.
Чтобы запустить NFS-сервер вручную, запустите следующую команду:

# svcadm enable svc:/network/nfs/server

(Прим. переводчика: NFS-сервер не запустится, если в файле /etc/dfs/dfstab нет ни одной строки, т.е. нечего разделять).
Чтобы остановить NFS-сервер вручную, запустите следующую команду:
# svcadm disable svc:/network/nfs/server

Проверка зависимостей NFS

Зависимости проверяются с помощью команды svcs:

# svcs | grep nfs
# svcs -l nfs/server

Команды NFS-сервера

  • shareall — читает и выполняет команды из файла /etc/dfs/dfstab.
  • share — делает локальный каталог на NFS-сервере разделяемым и доступным для подключения к клиентам.
  • dfshares — при использовании без аргументов показывает ресурсы, которые разделяются в настоящее время.
  • dfmount — показывает список каталогов NFS-сервера, которые в настоящее время подключены к клиентам.
  • unshare — делает ресурс неразделяемым и недоступным для подключения к клиентам.

Настройка NFS-сервера для разделения ресурсов

Синтаксис:

# share [-F <FSType>] [-o <option>] [<pathname>]

где:

  • -F <FSType> задает тип файловой системы.
  • -o <option> задает список опций, с которыми выполняется разделение, например, режим «только для чтения»
  • <pathname> указывает абсолютный путь к разделяемому ресурсу

Например, если Вы хотите сделать разделяемым каталог /export/home/<dir_name>, добавьте в файл /etc/dfs/dfstab строку:

#share -F nfs -o ro /export/home/<dir_name>

В этом примере -F nfs указывает тип файловой системы nfs, -o ro указывает режим доступа «только для чтения» (read only, ro), и /export/home/<dir_name> – абсолютный путь к разделяемому каталогу.

Аналогично, использую опцию -o rw (read-write, чтение и запись), Вы можете сделать ресурс разделяемым в режиме чтения и записи, а использую опцию -o root=<dir_name> Вы включаете привилегии root для каталога <dir_name>.

Прекращение разделения файловых ресурсов

Синтаксис:

# unshare [-F <FSType>] [<pathname>]

Например:
#unshare -F nfs /export/home/<dir_name>

Подключение удаленной файловой системы

Синтаксис:

mount [-F <FSType>] [-o <options>] <server>:<pathname> [<mount_point>]

Например:
# mount -F nfs -o ro  gladiator:/export/home/<dir_name> /mymountpoint

где:

  • gladiator – имя удаленного сервера (Прим. переводчика: вместо имени можно использовать IP-адрес сервера)
  • /export/home/<dir_name> – разделяемый каталог на удаленном сервере
  • /mymountpoint – каталог на локальной системе, куда будет подключен разделяемый каталог /export/home/<dir_name>

Другой пример:

# mount -o ro Gladiator,Sun,Moon:/Central_data /mymountpoint

В этом примере, если сервер Gladiator будет недоступен, запрос будет перенаправлен на сервер с именем Sun, и, при необходимости, на сервер Moon.

Отключение удаленной файловой системы от клиента

Синтаксис:

umount [<mount_point>]

Например:
# umount /mymountpoint

Подключение удаленных файловых ресурсов во время загрузки

Для подключения удаленной файловой системы во время загрузки, нужно добавить соответствующую строку в файл /etc/vfstab. Например:

Gladiator:/export/home/<dir_name>  - /mymountpoint nfs - yes bg

где:

  • устройство для подключения: Gladiator:/export/home/<dir_name>
  • устройство для fsck: – (Прим. переводчика: символ «-» означает, что проверка fsck не будет проводиться)
  • каталог для подключения: /mymountpoint
  • тип файловой системы: nfs
  • количество проходов fsck: —
  • флаг подключения во время загрузки: yes (Прим. переводчика: yes означает, что файловая система будет подключаться во время загрузки, no – не будет)
  • опции подключения: bg (background, подключение в фоновом режиме).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA image
*