Основы NFS в ОС Solaris
6 Июль 2010
Перевод статьи «Introducing NFS Fundamentals for the Solaris OS», автор Vishal Padwal.
Оригинал статьи: http://www.sun.com/bigadmin/content/submitted/fundamentals_nfs.jsp
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, подключение в фоновом режиме).
Похожие записи:
- Настройка клиента NTP в Solaris 10
- Подключение ISO образа в Solaris
- Hostname «unknown» при использовании DHCP
- Установка Alfresco на Solaris 10
- Мониторинг производительности Solaris с помощью sar
Рубрики: Сети


