|
|
 |
|
 |
| |
Сетевая файловая система
Категория: Сетевая файловая система | Автор: admin | 9-05-2010, 14:29 |
 |
Сетевая файловая система, или NFS (Network File System), позволяет компьютерам совместно использовать их локальные файловые системы. NFS почти прозрачна для пользователей и не поддерживает понятие сеанса, т.е. при крахе сервера данные в удаленных файловых системах не пропадают. Клиенты просто ждут, когда сервер вновь начнет функционировать, а затем продолжают работать так, будто ничего не произошло.
Сетевую файловую систему внедрила компания Sun Microsystems в 1985 году. Первоначально NFS была реализована как суррогат файловой системы для бездисковых клиентов, но предложенный протокол оказался столь удачным, что со временем стал универсальным решением проблемы совместного использования файлов. Сейчас уже трудно припомнить, какой была жизнь до появления NFS. Большинство поставщиков UNIX-систем предлагают ту или иную версию NFS, причем многие используют код, полученный по лицензии от Sun.
|
|
|
 |
|
 |
 |
|
 |
| |
Общая информация об NFS
Категория: Сетевая файловая система | Автор: admin | 9-05-2010, 14:35 |
 |
Сетевая файловая система состоит из ряда компонентов, включая протокол и сервер монтирования, демоны, координирующие работу базового файлового сервиса, а также несколько диагностических утилит. Части клиентского и серверного программного обеспечения NFS находятся непосредственно в ядре. К счастью, они не требуют конфигурирования и преимущественно "прозрачны" с точки зрения администрирования.
Версии протокола NFS
Протокол NFS отличается удивительной стабильностью. Первый открытый выпуск NFS имел версию 2. В начале 90-х гг. в протокол были внесены изменения, которые привели к появлению версии 3. Ее характеризовали повышенная производительность и улучшенная поддержка больших файлов.
Пока существовала версия 2, клиент не мог считать операцию записи завершенной, не получив подтверждения от сервера. Сервер должен был записать на диск каждый модифицированный блок, прежде чем отвечать. Это позволяло избежать проблем в случае краха сервера. Подобное ограничение являлось причиной существенного замедления работы системы, поскольку во многих случаях модифицированные блоки вполне можно было хранить лишь в резидентном буфере.
|
|
|
 |
|
 |
 |
|
 |
| |
Серверная часть NFS
Категория: Сетевая файловая система | Автор: admin | 9-05-2010, 14:45 |
 |
Говорят, что сервер "экспортирует" файловую систему, если он делает ее доступной для использования другими компьютерами. В Solaris употребляется термин "предоставляет в совместное использование". Для ясности мы решили придерживаться в этой главе первого варианта.
Процесс монтирования файловой системы (т.е. определения ее секретного ключа) полностью отличается от процесса последующего доступа к удаленным файлам. В обеих операциях используются совершенно разные протоколы, а запросы обслуживаются разными демонами: в первом случае — mountd, во втором — nfsd. В некоторых системах они называются соответственно rpc.mountd и rpc.nfsd — как напоминание о том, что их работа основана на технологии Sur, RPC (следовательно, для их выполнения требуется демон portmap, о котором рассказывается в параграфе 28.3).
На сервере NFS оба демона, mountd и nfsd, должны стартовать на этапе начальной загрузки системы и продолжать выполняться, пока система не будет выключена. Чаще всего запуск демонов осуществляется автоматически. Стартовые сценарии проверяют, сконфигурированы ли экспортируемые файловые системы, и если это так, то демоны запускаются.
|
|
|
 |
|
 |
 |
|
 |
| |
Клиентская часть NFS
Категория: Сетевая файловая система | Автор: admin | 9-05-2010, 15:14 |
 |
Команда mount понимает запись вида
как путь к каталогу, расположенному на другом компьютере.
Команда mount и ее NFS-расширения — самая важная область деятельности системного администратора на NFS-клиенте. Во многих системах добиться повышения производительности можно с помощью демона блочного ввода-вывода biod (иногда он называется nfsiod). Этот демон не относится к числу обязательных, но мы настоятельно рекомендуем им пользоваться.
Демоны biod и nfsiod: кэширование на стороне клиента
При работе с файловыми системами демон biod/nfsiod выполняет базовые операции блочного кэширования по алгоритму опережающего чтения и отстающей записи. Он доступен как в NFS 2, так и в NFS 3. Мы советуем запускать этот демон на всех NFS-клиентах, хотя это и не является строго обязательным требованием. Наличие или отсутствие кэшируюшего демона не влияет на решение задач администрирования.
|
|
|
 |
|
 |
 |
|
 |
| |
Программа nfsstat: отображение статистики NFS
Категория: Сетевая файловая система | Автор: admin | 9-05-2010, 15:16 |
 |
В большинстве систем имеется программа nfsstat, которая предоставляет различные статистические данные, собираемые системой NFS. Команда nfsstat -s выдает статистику процессов NFS-сервера, а команда nfsstat -с отображает информацию об операциях на стороне клиента. Например:
chimchim% nfsstat –с
Client rpc:
calls badcalls retrans badxid timeout wait newcred timers
64235 1595 0 3 1592 0 0 886
Client nfs:
calls badcalls nclget nclsleep
62613 3 62643 0
null getattr setattr readlink lookup root read
0% 34% 0% 21% 30% 0% 2%
write wrcache create remove rename link symlink
3% 0% 0% 0% 0% 0% 0%
mkdir readdir rmdir fsstat
0% 6% 0% 0%
Эти результаты получены у относительно нормально функционирующего NFS-клиента. Если более 3% вызовов заканчиваются тайм-аутом, это говорит о наличии проблемы на NFS-сервере или в сети. Причину, как правило, можно определить путем проверки поля badxid. Если значение badxid близко к нулю, а число тайм-аутов больше 3%, значит, пакеты, идущие на сервер и от него, теряются где-то в сети. Возможно, проблему удастся решить путем уменьшения значений параметров монтирования rsize и wsize (размеров буферов чтения и записи). Если значение badxid почти так же велико, как и timeout, это означает, что сервер отвечает на запросы, но слишком медленно. Замените сервер или увеличьте параметр timeo.
Регулярный прогон программы nfsstat и анализ выдаваемой ею информации поможет администратору выявлять возникающие в NFS проблемы раньше, чем с ними столкнутся пользователи.
|
|
|
 |
|
 |
|
|