11Сетевая файловая система (NFS) - Руководство (man) 68

^ 11Сетевая файловая система (NFS)
Network File System (NFS), может быть, является более видной сетевой услугой, использующей RPC. Она позволяет обращаться к файлам на удаленных хостах точно этим же самым методом, как к хоть каким локальным 11Сетевая файловая система (NFS) - Руководство (man) 68 файлам. Это стало вероятным за счет взаимодействия многофункциональных способностей ядра на клиентской стороне (которая употребляет удаленную файловую систему) и NFS-сервера на серверной стороне (который обеспечивает доступ к данным). Этот доступ 11Сетевая файловая система (NFS) - Руководство (man) 68 к файлу вполне прозрачен для клиента и работает через все обилие серверов и архитектуры хостов.

NFS предлагает ряд преимуществ:

Данные, к которым обращаются все юзеры, могут быть сохранены на центральном хосте, клиенты 11Сетевая файловая система (NFS) - Руководство (man) 68 будут монтировать этот каталог при исходной загрузке. К примеру,

Вы сможете сохранить все логины юзеров на одном хосте, настроить все хосты Вашей сети на монтирование каталога /home с этого хоста. Если все это 11Сетевая файловая система (NFS) - Руководство (man) 68 установлено в паре с NIS, то юзеры сумеют войти в всякую систему и работать на одном огромном количестве файлов.

Данные, потребляющие огромные количества дискового места, могут быть сохранены на единственном хосте 11Сетевая файловая система (NFS) - Руководство (man) 68. К примеру, все файлы и программки, относящиеся к LaTeX и METAFONT могут быть сохранены и поддерживаться в одном месте. Не достаточно того, что комфортно ими управлять, так к тому же место экономится 11Сетевая файловая система (NFS) - Руководство (man) 68.

Административно-управленческая информация может быть сохранена на одном хосте.

Нет нужды использовать rcp для того, чтоб установить один и тот же файл на 20 разных машинах.

Linux NFS в значимой степени работа 11Сетевая файловая система (NFS) - Руководство (man) 68 Rick Sladkey, написавшего код NFS kernel и огромные части NFS-сервера. Последний был сотворен из unfsd, NFS-сервер уровня юзера, сначало написанного Mark Shand, и hnfs Harris NFS-сервера, написанного Donald 11Сетевая файловая система (NFS) - Руководство (man) 68 Becker.

Давайте сейчас поглядим, как NFS работает: клиент может запросить смонтировать каталог с удаленного хоста в локальный каталоге этим же методом, как он может установить физическое устройство. Но, синтаксис, применяемый для этого, несколько другой 11Сетевая файловая система (NFS) - Руководство (man) 68. К примеру, чтоб смонтировать каталог /home с хоста vlager в каталог /users на машине vale, админ использовал бы последующую команду на vale:

# mount -t nfs vlager:/home /users

Команда mount попробует объединиться с 11Сетевая файловая система (NFS) - Руководство (man) 68 rpc.mountd, daemon монтирования на vlager через RPC. Сервер проверит, разрешается ли vale смонтировать каталог, и если все нормально, возвратит file handle. Этот handle будет употребляться во всех поочередных запросах к подкаталогам /users 11Сетевая файловая система (NFS) - Руководство (man) 68.

Когда кто-то обращается к файлу по NFS, kernel RPC-сайта вызовет rpc.nfsd (NFS daemon) на машине сервера. Это воззвание берет handle файла, название файла, к которому обращаются 11Сетевая файловая система (NFS) - Руководство (man) 68, идентификаторы группы и юзера как характеристики. Они употребляются в определении прав доступа к точно определенному файлу. Чтоб защититься от несанкционированного чтения либо модифицирования файла, идентификаторы юзера и группы должны быть одними и 11Сетевая файловая система (NFS) - Руководство (man) 68 теми же на обоих хостах.

В большинстве реализаций UNIX®, многофункциональные способности NFS клиента и сервера выполнены как бесы kernel-уровня, которые запускаются из места юзера при исходной загрузке системы. Это NFS Daemon (rpc.nfsd) на 11Сетевая файловая система (NFS) - Руководство (man) 68 хосте сервера и Block I/O Daemon (biod) на клиентском хосте. Чтоб сделать лучше производительность, biod делает асинхронный ввод-вывод, используя упреждающее чтение и отложенную запись. К тому же, несколько 11Сетевая файловая система (NFS) - Руководство (man) 68 бесов rpc.nfsd обычно запускаются вместе.

Реализация NFS в Linux малость отличается в клиентском коде: она объединена с файловой системой VFS на уровне ядра и не просит дополнительного управления. Обычно код сервера 11Сетевая файловая система (NFS) - Руководство (man) 68 запускается вполне в пространстве юзера, так что управление несколькими копиями затруднено. Текущая реализация rpc.nfsd предлагает экспериментальную ограниченную поддержку нескольких серверов. Olaf Kirch разработал NFS-сервер уровня ядра, который появился в ядрах 11Сетевая файловая система (NFS) - Руководство (man) 68 Linux 2.2 и выше. Эффективность приметно выросла. Позднее мы побеседуем об этом раздельно.
^ 11.1Пуск NFS
До этого, чем Вы можете использовать NFS, будь это сервер либо клиент, Вы должны удостовериться, что Ваше 11Сетевая файловая система (NFS) - Руководство (man) 68 ядро имеет поддержку NFS, компилируемую в него. Новые ядра имеют для этого обычный интерфейс в файловой системе proc, файл /proc/filesystems, который Вы сможете показать, используя команду cat:

$ cat /proc/filesystems

minix

ext2 msdos

nodev proc nodev nfs

Если 11Сетевая файловая система (NFS) - Руководство (man) 68 nfs отсутствует в этом перечне, Вы должны скомпилировать собственное ядро с включенным NFS.
^ 11.2Монтирование тома NFS
Монтирование томов NFS очень похоже на монтирование обыденных файловых систем. Команда mount имеет последующий вид 11Сетевая файловая система (NFS) - Руководство (man) 68:

# mount -t nfs nfs_volume local_dir options

Параметр nfs_volume имеет вид remote_host:remote_dir. Он указаывает определенную файловую систему NFS, при этом можно опустить параметр -t nfs.

Имеется ряд дополнительных 11Сетевая файловая система (NFS) - Руководство (man) 68 опций, которые Вы сможете найти в команде mount. Они могут быть заданы тумблером -o в командной строке либо в области опций файла

/etc/fstab. В обоих случаях составные функции отделяются друг от друга 11Сетевая файловая система (NFS) - Руководство (man) 68 запятыми. Функции, определенные в командной строке, всегда отменяют те, что были заданы в файле fstab.

Типовая запись в /etc/fstab могла бы быть таковой:

# volume mount point type options

news:/var/spool/news 11Сетевая файловая система (NFS) - Руководство (man) 68 /var/spool/news nfs timeo=14,intr

Этот значение потом может быть применено при монтировании:

# mount news:/var/spool/news

В отсутствии записи в fstab, NFS устанавливает большая часть характеристик mount по дефлоту. К примеру, представим 11Сетевая файловая система (NFS) - Руководство (man) 68, что Вы монтируете home-каталоги Ваших юзеров с машины moonshot, которая употребляет данный по дефлоту размер блока, равный 4k, для операции чтения-записи. Вы могли бы уменьшить размер блока до 2k, чтоб 11Сетевая файловая система (NFS) - Руководство (man) 68 подойти под размер Linux-пакетов, введя последующую команду:

# mount moonshot:/home /home -o rsize=8192,wsize=8192

Перечень всех допустимых опций есть на man-странице по nfs(5). Ниже приведен перечень более фаворитных опций:

rsize 11Сетевая файловая система (NFS) - Руководство (man) 68=n и wsize=n

Точно определяют размер пакетов, применяемый NFS-клиентами при чтении и записи запросов, соответственно. В текущее время они определены по дефлоту зависимо от версии ядра, но как правило это 11Сетевая файловая система (NFS) - Руководство (man) 68 1024 б, из-за предела на размер UDP- пакета.

timeo=n

Устанавливает время (в 10-х толиках секунды), которое NFS-клиент будет ожидать

запрос, чтоб окончить работу. Значение по дефлоту 7 (0.7 секунды). Что произойдет после 11Сетевая файловая система (NFS) - Руководство (man) 68 окончания времени ожидания находится в зависимости от того, используете Вы опцию hard либо soft.

hard

Отмечает этот том как hard-смонтированный. Задано по дефлоту. Эта функция предписывает серверу выдать сообщение на консоль при 11Сетевая файловая система (NFS) - Руководство (man) 68 окончании времени ожидания и продолжать пробы смонтировать том.

soft

Противоположность hard. В случае окончания времени ожидания процесс, который пробует выполнить действие с файловой системой, получит ошибку ввода-вывода.

intr

Разрешает оборвать воззвание к NFS. Комфортно в случае 11Сетевая файловая система (NFS) - Руководство (man) 68 недоступности сервера.

Не считая rsize и wsize, все эти функции обращаются к клиенту, если сервер стал временно недостижим. Они работают вкупе последующим методом: каждый раз, когда клиент отправляет запрос к NFS 11Сетевая файловая система (NFS) - Руководство (man) 68-серверу, он ждет, что операция завершится после данного интервала времени (точно установленного в функции блокировки по времени, timeout). Если никакого доказательства не получено в этот просвет времени, то появится так именуемая малозначительная 11Сетевая файловая система (NFS) - Руководство (man) 68 остановка по времени (minor timeout), и операция повторится, но уже с интервалом блокировки по времени в два раза огромным. После заслуги наибольшей блокировки по времени (60 секунд), происходит глобальная блокировка по времени 11Сетевая файловая система (NFS) - Руководство (man) 68 (major timeout). Вот тут-то и срабатывают функции hard либо soft .

По дефлоту, глобальная блокировка по времени принудит клиента напечатать сообщение на консоль и начать все опять. В принципе это может длиться вечно 11Сетевая файловая система (NFS) - Руководство (man) 68. Значения, которые упорно повторяют операцию до того времени, пока сервер не становится легкодоступным, именуются hard-mounted. В противоположность им значения soft-mounted генерируют ошибку ввода-вывода для процесса каждый раз 11Сетевая файловая система (NFS) - Руководство (man) 68, когда происходит глобальная блокировка по времени. Из-за того, что write-behind вводится буферным кэшем, это условие ошибки не распространяется конкретно на процесс до этого, чем он вызовет функцию write в последующий раз. Дело 11Сетевая файловая система (NFS) - Руководство (man) 68 в том, что по другому программка никогда не сумеет убедиться в том, что операция записи в ресурс, помеченный как soft-mounted, имела место вообщем.

Поставили ли Вы hard либо soft-mount значение, это 11Сетевая файловая система (NFS) - Руководство (man) 68 не только лишь вопрос вкуса, но также и то, что Вы должны сделать с той информацией, которую желаете получить от этого значения. К примеру, если Вы монтируете Ваши Х-программы 11Сетевая файловая система (NFS) - Руководство (man) 68 NFS, Вы естественно не желали бы, чтоб ваш X-сеанс упал только поэтому, что кто-то свалил сеть, запустив семь копий xv в одно и тоже время, либо скажем, вытащив Ethernet 11Сетевая файловая система (NFS) - Руководство (man) 68-разъем. Используя hard-mounting, Вы удостоверитесь в том, что компьютер будет ожидать, пока не появится возможность поновой вернуть контакт с nfs-сервером. С другой стороны, некритические данные типа новостей либо FTP-архив могут быть soft 11Сетевая файловая система (NFS) - Руководство (man) 68-mounted, так что это не повесит сеанс в случае, если удаленная машина должна стать временно недостижимой либо просто выключенной. Если сетевая связь с сервером неспешная либо проходит через программку маршрутизации, то 11Сетевая файловая система (NFS) - Руководство (man) 68 Вы сможете также прирастить исходную блокировку по времени, используя опцию timeo либо значение hard-mount, но разрешите прерывание вызова NFS, так чтоб Вы могли оборвать хоть какое действие с файлами.

Hard-mount представляют 11Сетевая файловая система (NFS) - Руководство (man) 68 делему, так как, по дефлоту, операции с файлами не прерываются. Таким макаром, если процесс пробует, к примеру, записать файл на удаленной машине, а она недосягаема, программка юзера висит, а 11Сетевая файловая система (NFS) - Руководство (man) 68 юзер бегает вокруг нее, не в состоянии оборвать процесс записи. Если Вы используете опцию intr при hard mount, сигналы процессу оборвут NFS-вызов, так что юзер все таки сумеет продолжать работу.

Обычно 11Сетевая файловая система (NFS) - Руководство (man) 68 daemon rpc.mountd будет смотреть, какие сборники какими хостами были смонтированы. Эта информация может быть отображена при использовании программки showmount, которая также включена в пакет сервера NFS:

# showmount -e moonshot

Export list for localhost:

/home

# showmount 11Сетевая файловая система (NFS) - Руководство (man) 68 -d moonshot

Directories on localhost:

/home

# showmount -a moonshot

All mount points on localhost:

localhost:/home


12-diskretnoe-preobrazovanie-fure-dpf-posobie-prednaznacheno-dlya-studentov-specialnostej-radiotehnicheskogo.html
12-dogovor-perevozki-po-sovetskomu-grazhdanskomu-pravu-dogovor-perevozki-gruzov-avtomobilnim-transportom.html
12-dopolneniya-i-izmeneniya-k-rabochej-uchebnoj-programme-rabochaya-uchebnaya-programma-disciplini-organizaciya-reklamnoj.html