Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sistema_TCP.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
603.97 Кб
Скачать

Глава 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 это возможно.

23. Клиентская часть протокола nfs

Процессы монтирования сетевых и локальных файловых систем во многом схожи. Ко­ манда mount понимает запись вида имя_узла:каталог как путь к каталогу, расположен­ ному на указанном компьютере. Этому каталогу будет поставлен в соответствие каталог локальной файловой системы. По завершении монтирования доступ к сетевой файловой системе осуществляется традиционными средствами. Таким образом, команда mount и ее NFS-расширения — самое важное для системного администратора на NFS-клиенте.

Для того чтобы файловую систему NFS можно было монтировать, ее необходимо со­ ответствующим образом экспортировать (об этом рассказывалось выше). Клиентская команда showmount позволяет клиенту проверить, правильно ли сервер экспортирует файловые системы.

$ showmount -е monk Export list for monk: /home/ben harp.atrust.com

Как следует из этого примера, каталог /home/ben на сервере monk экспортирован в клиентскую систему harp.atrast.com. Если сетевая файловая система по какой-то причине не работает, возможно, вы просто забыли выполнить команду exportfs -а по­ сле редактирования файла exports. Проверьте после этого вывод команды showmount.

Если каталог был правильно экспортирован на сервере, а команда showmount со­ общает об ошибке или возвращает пустой список, внимательно проверьте, все ли не­ обходимые процессы запущены на сервере (portmap, mountd, nfsd, statd и lockd), разрешен ли в файлах hosts.allow и hosts.deny доступ к этим демонам и, вообще, та ли это клиентская система.

Более подробная информация о файлах hosts.* и системе TCP Wrapper приведена в разделе 22.8.

Информация о пути, отображаемая командой showmount, например /home/ben, как в предыдущем случае, является корректной только в версиях протокола NFS 2 и 3. Серверы, работающие в рамках протокола NFS 4, экспортируют целостную и единоо-

752 Часть II. Работа в сети

бразную псевдофайловую систему. Традиционная концепция протокола NFS, относяща­ яся к разным точкам монтирования, в версии 4 не работает, поэтому команду showmount применять нельзя.

К сожалению, достойной альтернативы команде showmount в версии NFS 4 нет. На сервере команда exportfs -v демонстрирует существующие экспортированные файло­ вые системы, но она работает только в локальном масштабе. Если у вас нет прямого доступа к серверу, смонтируйте корень псевдофайловой системы сервера и пройдите по структуре каталогов вручную, отметив каждую точку монтирования.

Реальное монтирование файловой системы осуществляется примерно такой командой.

$ sudo mount -о rw,hard,intr,bg monk:/home/ben /nfs/ben

Для того чтобы сделать то же самое в версии 4 под управлением системы Linux, вы­ полните следующую команду.

$ sudo mount -t nfs4 -о rw,hard,intr,bg monk:/ nfs/ben

В данном случае указанные после опции -о флаги говорят о том, что файловая си­ стема монтируется в режиме чтения/записи (rw), файловые операции разрешается пре­ рывать (intr), а повторные попытки монтирования должны выполняться в фоновом режиме (bg). Наиболее распространенные флаги приведены в табл. 18.9.

Таблица 18.9. Флаги монтирования NFS

Флаг Назначение

rw Монтирование файловой системы для чтения/записи (она должна экспортировать­ ся сервером в режиме чтения/записи)

rо Монтирование файловой системы только для чтения

bg Если смонтировать файловую систему не удается (сервер не отвечает), следует перевести операцию в фоновый режим и продолжить обработку других запросов

на монтирование

hard Если сервер отключился, операции, которые пытаются получить к нему доступ, блокируются до тех пор, пока сервер не включится вновь

soft Если сервер отключился, операции, которые пытаются получить к нему доступ, за­ вершаются выдачей сообщения об ошибке. Этот флаг полезно устанавливать для

того, чтобы предотвратить зависание процессов в случае неудачного монтирова­ ния не очень важных файловых систем

intr Позволяет прерывать с клавиатуры заблокированные операции (будут выдаваться сообщения об ошибке)

nointr Не позволяет прерывать с клавиатуры заблокированные операции

retrans=n Указывает, сколько раз нужно повторить запрос, прежде чем будет выдано со­ общение об ошибке (для файловых систем, смонтированных с флагом soft)

timeo=n Задает интервал тайм-аута для запросов (в десятых долях секунды)

rsize=n Задает размер буфера чтения равным n байт

wsize=n Задает размер буфера записи равным n байт

sес=режим Задает режим безопасности

vers=na Задает версию протокола NFS

proto = протокол Выбирает транспортный протокол; им должен быть протокол tcp для версии NVS 4

а Несмотря на то что флаг vers указан на справочных страницах систем Linux, посвященных команде mount, использование ее результатов является ошибкой. Для того чтобы задать четвертую версию протокола NFS, следует выполнить команду mount -t nfs4.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]