Клиентская часть NFS
Категория: Сетевая файловая система | Автор: admin | 9-05-2010, 15:14 | Просмотров: 3992

Команда mount понимает запись вида

имя_коыпьютера:каталог

 

как путь к каталогу, расположенному на другом компьютере.

Команда mount и ее NFS-расширения — самая важная область деятельности системного администратора на NFS-клиенте. Во многих системах добиться повышения производительности можно с помощью демона блочного ввода-вывода biod (иногда он называется nfsiod). Этот демон не относится к числу обязательных, но мы настоятельно рекомендуем им пользоваться.

 

Демоны biod и nfsiod: кэширование на стороне клиента

 

При работе с файловыми системами демон biod/nfsiod выполняет базовые операции блочного кэширования по алгоритму опережающего чтения и отстающей записи. Он доступен как в NFS 2, так и в NFS 3. Мы советуем запускать этот демон на всех NFS-клиентах, хотя это и не является строго обязательным требованием. Наличие или отсутствие кэшируюшего демона не влияет на решение задач администрирования.

Как и nfsd, демон biod в качестве аргумента принимает число, показывающее, сколько экземпляров самого себя ему нужно запустить. Для обычной машины достаточно будет четырех или восьми копий. Если демоны nfsd и biod работают на одном компьютере, то разумнее будет разделить "оптимальное" число экземпляров между ними. Все зависит от того, как используется система — вам придется поэкспериментировать.

Во FreeBSD число экземпляров демона nfsiod задается в командной строке с помощью флага -n.

 

Монтирование удаленных файловых систем

 

Для создания временных сетевых точек монтирования может использоваться команда mount. Но те монтируемые файловые системы, которые являются частью постоянной конфигурации, должны быть перечислены в файле /etc/fstab (/etc/vfstab в Solaris), в таком случае они будут монтироваться автоматически на этапе начальной загрузки. С другой стороны, они могут быть обработаны службой автоматического монтирования, например программой automount или amd (подробнее об этом речь пойдет начиная с параграфа 17.6).

Следующие элементы файла fstab предназначены для монтирования файловых систем /beast/users и /usr/man машин beast и chimchim:

 

# filesystem         mountpoint    fstype  flags           dump  fsck

beast:/beast/users   /beast/users  nfs     rw,bg,intr,hard  0     0

chimchim:/usr/man    /usr/man      nfs     ro,bg,intr,soft  0     0

 

 

В Solaris файл /etc/vfstab имеет немного другой формат, но опции NFS указываются схожим образом. В основном это те же опции, что и в других системах.

Добавляя элементы в файл fstab/vfstab, обязательно создавайте с помощью команды mkdir каталоги точек монтирования. Можно сделать так, чтобы изменения вступали в силу немедленно. Для этого в Solaris или HP-UX следует выполнить команду mount -a -F nfs, а в Red Hat и FreeBSD — вместо флага -F указать флаг -t.

 

В поле флаги файла /etc/fstab задаются параметры точек монтирования NFS. Наиболее распространенные флаги перечислены в табл. 17.9.

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

Флаг

Система1

Назначение

rw

SHRF2

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

ro

SHRF2

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

bg

SHRF

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

hard

SHR3

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

soft

SHRF

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

intr

SHRF

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

nointr

SHRF2

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

retrans=n

SHRF4

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

timeo=n

SHRF4

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

rsize=w

SHRF4

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

wsize=n

SHRF4

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

vers=n

SH

Задает версию протокола NFS: 2 или 3 (обычно определяется автоматически)

nfsv3, nfsv2

F

Задает версию протокола NFS: 2 или 3 (обычно определяется автоматически)

proto=протокол

S

Назначает транспортный протокол; возможные значения — tcp и udp

tcp

RF

Выбирает TCP в качестве транспортного протокола, по умолчанию принят протокол UDP

1  Рассматриваемые системы Solaris, HP-UX, Red Hat Linux и FreeBSD обозначень как S, H, R, и F соответственно.

2  Этот флаг не упоминается в документации к FreeBSD, но работает.

3  Во FreeBSD не разрешается указывать данный флаг явно, но задаваемое им поведение принято по умолчанию.

4  Во FreeBSD эти флаги называются по-другому: retrans — -x, timeo — -t. rsize — -r, wsize — -w.

 

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

Флаги, задающие размеры буферов чтения и записи, применимы в отношении обоих протоколов, TCP и UDP, но оптимальные значения будут разными. В случае TCP буфер должен быть большим, поскольку данные передаются эффективнее. (В Solaris по умолчанию принят размер 32 Кбайт.) В случае UDP, если сервер и клиент находятся в одной сети, оптимальный размер буфера — 8 Кбайт. В некоторых системах по умолчанию установлены гораздо меньшие значения (в Red Hat, например, всего 1 Кбайт).

Демонтирование сетевых файловых систем осуществляется командой umount.

 

Выбор порта

 

Клиенты NFS при подключении к серверу NFS могут использовать любой TCP- или UDP-порт. Но некоторые серверы требуют, чтобы запросы поступали из привилегированного порта (номер которого меньше, чем 1024). В других серверах данное требование может включаться пользователем. В мире персональных компьютеров и настольных UNIX-станций применение привилегированных портов не приводит к реальному повышению безопасности системы.

Большинство клиентов NFS следует традиционному (и по-прежнему рекомендуемому) подходу: по умолчанию выбирается привилегированный порт, что позволяет предотвратить возникновение конфликтов.



 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page