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


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

Клиентская часть протокола 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.

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

Файловые системы, смонтированные с флагом hard (установка по умолчанию), мо­ гут вызывать зависание процессов при отключении сервера. Это особенно неприятно, когда такими процессами оказываются стандартные демоны. Вот почему не рекомен­ дуется обслуживать ключевые системные программы через NFS. В общем случае ис­ пользование флагов soft и intr позволяет сократить число проблем, связанных с NFS. Но эти же флаги могут вызывать нежелательные побочные эффекты (например, оста­ нов 20-часового процесса моделирования из-за временного сбоя в сети после 18 часов работы)6. Исправить некоторые недостатки монтирования позволяют средства автома­ тического монтирования, например демон autofs (описывается далее).

Размеры буферов чтения и записи применимы в отношении обоих протоколов — TCP и UDP, но оптимальные значения различны. В случае TCP буфер должен быть большим, поскольку данные передаются эффективнее. Хорошее значение — 32 Кбайт. В случае UDP, если сервер и клиент находятся в одной сети, оптимальный размер равен 8 Кбайт. Тем не менее по умолчанию принят размер 1 Кбайт, хотя даже на man-странице рекомендуется повысить это значение до 8 Кбайт.

Протестировать точку монтирования можно с помощью команды df, как если бы это была обычная локальная файловая система.

% df /nfs/ben

Filesystem 1k-blocks Used Available Use% Mounted on ltopard:/home/ben 17212156 1694128 14643692 11% /nfs/ben

Разделы NFS демонтируются командой umount. Если сетевая файловая система кем- то используется в момент демонтирования, будет выдано сообщение об ошибке.

umount: /nfs/ben: device is busy

Найдите с помощью команды lsof процессы, у которых есть открытые файлы в этой файловой системе, и уничтожьте эти процессы либо смените каталоги в случае интер­ претаторов команд. Если ничего не помогает или сервер отключен, воспользуйтесь ко­ мандой umount -f для принудительного демонтирования.

Стоит повторить сноску в табл. 18.9: по умолчанию команда mount системы Linux, распознав в командной строке синтаксическую конструкцию имя_ узла:каталог, выбирает тип файловой системы nfs, который является кор­

ректным только в версиях 2 и 3. Для того чтобы задать четвертую версию про­ токола NFS, следует выполнить команду mount -t nfs4.

 

 




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

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