Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Серверная часть протокола NFS



Говорят, что сервер NFS “экспортирует” каталог, когда он делает этот каталог доступ­ ным для использования другими компьютерами. Системы Solaris и HP-UX вместо слова “экспорт” используют словосочетание “совместное использование”. Для того чтобы не создавать путаницы, мы будем на протяжении этой главы использовать термин “экспорт”.

В версии NFSv3 процесс, используемый клиентами для монтирования файловой си­ стемы (т.е. для того, чтобы узнать секретный ключ), отделен от процесса, используемого для доступа к файлам. Эти операции используют отдельные протоколы, а запросы обра­ батываются разными демонами: mountd — для запросов на монтирование и nfsd — для реальной файловой службы. В некоторых системах эти демоны называются rpc.nfsd и rpc.mountd, поскольку они основаны на протоколе RPC (а значит, для их запуска ну­ жен сервер postmap). В этой главе для простоты мы будем пропускать префикс rpc.

Версия NFSv4 не использует демон mountd вообще. Однако, если не все ваши кли­ енты используют версию NFSv4, демон mountd следует выполнять.

На сервере NFS демоны mountd и nfsd должны запускаться при загрузке системы и должны работать на протяжении всего времени ее функционирования. Сценарии за­ грузки системы обычно автоматически запускают этих демонов, если существует какая- либо конфигурация экспорта. Имена сценариев запуска сервера NFS для каждой из рас­ сматриваемых нами платформ перечислены в табл. 18.1.

Таблица 18.1. Сценарии запуска сервера NFS

Система Путь к сценарию

Ubuntu /etc/init.d/nfs-kernel-server /etc/init.d/nfs-common

SUSE /etc/init.d/nfs.servera

Red Hat /etc/rc.d/init.d/nfs

Solaris /etc/init.d/nfs.server

HP-UX /sbin/init.d/nfs.server

AIX /etc/rc.nfs

а /etc/init.d/nfs монтирует клиентскую файловую систему NFS.

Протокол NFS использует единую базу данных для управления доступом, которая определяет, какие файловые системы должны быть экспортированы и какие клиен­ ты должны их монтировать. Оперативная копия этой базы данных обычно хранится в файле xtab (sharetab — в системах Solaris и HP-UX), а также во внутренних табли­ цах ядра. Поскольку файлы xtab и sharetab не предназначены для чтения людьми,

для добавления и модификации записей в них используются вспомогательные команды exports или share. Для удаления записей из таблицы экспорта используются команды exportfs -u или unshare.

Монтирование бинарного файла вручную — неблагодарная задача, поэтому в большин­ стве систем предполагается, что пользователь монтирует текстовый файл, а не перечисля­ ет экспортируемые системные каталоги и их установки доступа. Система может прочитать этот текстовый файл при загрузке и автоматически создать файл xtab или shatretab.

В большинстве систем каталог /etc/exports является каноническим списком, до­ ступным для чтения экспортируемых каталогов. Его содержимое можно прочитать с помощью команды exportfs -а. В системах Solaris и HP-UX каноническим списком

Глава 18. Сетевой протокол Network File System 745

является /etc/dfs/dfstab, который представляет сценарий, составленный из команд share. (Команда shareall сканирует в файле dfstab команды, связанные с протоко­ лом NFS, и выполняет их. Поскольку протокол NFS — единственная “родная” система совместного использования файлов, подчиняющаяся этим правилам, команда shareall эквивалентна команде sh /etc/dfs/dfstab.)

Информация, приведенная в предыдущих разделах, подытожена в табл. 18.2. В ней указано, какой файл следует отредактировать, если вы хотите экспортировать новую файловую систему, и что делать, если вы хотите ввести в действие внесенные вами ис­ правления.

Таблица 18.2. Где задаются экспортируемые каталоги

Система Путь к сценарию

Linux /etc/exports Выполнить команду /usr/sbin/exportfs -a

Solaris /etc/dfs/dfstab Выполнить команду shareall

HP-UX /etc/dfs/dfstab Выполнить команду shareall

AIX /etc/exports Выполнить команду /usr/sbin/exportfs -а

Протокол NFS работает с логическим уровнем файловой системы. Любой каталог можно экспортировать; он не обязан быть точкой монтирования или корнем физиче­ ской файловой системы. Однако с точки зрения безопасности протокол NFS различает границы между файловыми системами и требует, чтобы каждое устройство было смон­ тировано отдельно. Например, на компьютере, имеющем отдельный раздел /users, можно было бы экспортировать корневой каталог без экспорта каталога /users.4

Клиентам обычно разрешается монтировать подкаталоги экспортируемых катало­ гов, если это необходимо, хотя протокол этого не требует. Например, если сервер экс­ портирует каталог /chimchim/users, то клиент может смонтировать только каталог /chinchim/users/joe и игнорировать остальную часть каталога users.

Большинство версий системы UNIX не позволяет экспортировать подкаталоги с раз­ ными опциями, но на практике в системе Linux это возможно.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.