Опубликован: 01.07.2008 | Уровень: специалист | Доступ: платный
Лекция 8:

Сетевая файловая система NFS - Network File System

Аннотация: Данная лекция рассматривает активизацию NFS, файловые системы RFS, DFS, конфигурирование DNS-сервера, конфигурирование UUCP с использованием sysadm, клиент DHCP и т.д. Приведены примеры
Ключевые слова: сетевая файловая система, Unix, NFS, ПО, X-протокол, файловая система, BSD, Linux, A/PC, SUN, selection, NetWare, диск, сетевой принтер, host, web-сервера, X-клиент, Ethernet, запись, копирование, результатив, g.lite, WFW, lantastic, IBM, демон, RPC, COM-порт, remote procedure call, команда, кэширование, авторизация, USER, пароль, вероятность, файл, DFS, share, SVR4, export, системный администратор, перечисление, уровень выполнения, inittab, remote, file sharing, system, let-выражение, захват, блокировка, distributed, file system, NFS-клиент, операционная система, конфигурационный файл, домашний каталог пользователя, пользователь, компиляция, ядро, кодировка, KOI8-R, DNS, server, информация, хост, boot, VAR, ARPA, Web.config, root, cache, локальная сеть, подключ, Интернет, полезность, IP-адрес, SOA, делегирование, параметр, serial, refreshing, retry, expire, запрос-ответ, minimum, TTL, кэш, EU, .NET, UUCP, права, командный интерпретатор, ksh, bash, ключ, Copy, сеанс, login, account, модем, l-port, Dial-UP, baud, robotically, последовательный порт, modem, линк, терминальная линия, терминал, выход, имя узла, device-specific, шрифт, BNU, Basic, networking, utility, конфигурация, HDB, утилита, auto-answer, исключение, echo, связь, bin, статистика, системная утилита, spool, log, DOM, эмулятор терминала, описание системы, доступ к файлу, кабель, chat, parity, redial, логит, %TYPE, TCP, SSH, localhost, forwarder, script, restart, скрипт, DHCP, список, zone, tab, компилятор, filename, CAT, file, очередь, печать, администратор, вывод, acceptable, enabled, очередь заданий, ключ команды, маршрутное имя, v-model, banner, printer, solaris, shell-процедура

Стандартной сетевой файловой системой для UNIX'а является NFS. Любая Unix-машина умеет монтировать по протоколу NFS удаленные файловые системы и использовать их как свои собственные, а так же может выделять свои каталоги для других машин. Выглядит это примерно так:

mount -F nfs udalennaq.mashina:/katalog_tam /katalog

или, если у вас BSD или Linux

mount -o rsize=8192,wsize=8192 mashina:/katalog_tam /katalog

 ls -al /katalog

Хотя NFS был когда-то разработан для Unix'а, имеется реализация NFS для MSDOS-овских PC. Эти пакеты принято называть сводным именем PC/NFS (Не путать с названием "PC-NFS" - это реализация PC/NFS от фирмы "Sun Select"). Т.е. PC'юк, на котором запущен NFS для PC, может монтировать в качестве сетевых дисков каталоги Unix'овской машины, которые она выделяет в NFS. - Фактически, PC/NFS дает для PC те же самые возможности, что и Netware - удаленный сетевой диск и удаленный сетевой принтер. Разница лишь в том, что Unix-host, помимо позволения NFS-ения себя, в состоянии заниматься и своими собственными задачами, а сервер Netware ничем кроме обслуживания своих клиентов, изображая для них диск с ethernet'ом, заниматься не приспособлен, но работает быстрее раза в 1.5-2. Ну и занимают NFS-ные резиденты порядка 100 Kb оперативной памяти, в то время как Netwar'ные - порядка 50.

Оценочные скорости пакетов PC/NFS различных производителей: 486dx2/66, адаптер wd8013 16 bit:

Пакет: чтение Kb/сек запись
NFS for PC
PC-NFS 4.0 220 120
PC-NFS 5.01защищен от нелицензированного копирования 220 120
Pathway 350 170
PCTCP 3.0 350 200
TSOFT2условно-бесплатные или бесплатные пакеты 200 100
XFS3условно-бесплатные или бесплатные пакеты 500 50
Chameleon NFS4защищен от нелицензированного копирования 2-е место по результатам тестов
Unix for PC
Linux/NFS5условно-бесплатные или бесплатные пакеты 400 350
FreeBSD/NFS6условно-бесплатные или бесплатные пакеты 900 300
Unixware/NFS 400 300
Прочие
Netware 3.11 500 600
NW Lite 400 500
WFW (Samba) 150 150
Lantastic ? ?

Для сравнения: скорость чтения/записи NFS между двумя SUN SPARCstation и/или IBM/RS6000 900/400 Kb/сек

Для того, чтобы Unix-машина служила NFS сервером

На ней должны быть запущены следующие демоны:

  • rpc.portmap - демон портов RPC (Remote Procedure Call) (поскольку NFS использует RPC) (На Motorole не требуется.)
  • mountd - обслуживание команд монтирования (он решает - разрешить/ не разрешить)
  • nfsd - непосредственное обслуживание протокола NFS
  • biod - кэширование NFS-чтений на клиенте (только в SunOS)
  • pcnfsd - проводит дополнительную "авторизацию" пользователей на PC/NFS клиентах. Поскольку MSDOS не занимается учетом и регистрацией пользователя, pcnfsd сам спрашивает у PC-ишного user'а его имя и пароль. (не обязателен, но желателен)

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

/etc/rc3.d/S22nfs - предназначен для запуска NFS-сервера

Должно быть указано, какие именно каталоги, разрешается "видеть" по NFS, и каким именно машинам это разрешается.

Эти каталоги указываются в файле /etc/dfs/dfstab и экспортируются явной командой shareall или share (если у вас SVR4) или в файле /etc/exports и экспортируются явно командой exportfs -a (если у вас какой либо другой UNIX)

Активизация NFS

Обычно, на машине со свежеустановленным Unix'ом NFS сервер не активизирован. Чтобы он запустился, системный администратор должен обеспечить выполнение условий перечисленных в предыдущем пункте. Для этого достаточно:

Motorola 922

После загрузки переходить на уровень выполнения 3. В файле /etc/inittab исправить строку

is:2:initdefault:

на строку

is:3:initdefault:

Запускать pcnfsd - демона "авторизации" PCNFS'ных пользователей. В файл /etc/rc3.d/S22nfs вставить команду запуска демона:

/usr/lib/nfs/pcnfsd

Из меню sysadm в network_services / remote_files / local_recources / share / nfs задать каталоги, которые вы разрешаете "раздавать" по NFS. Например, проэкспортируйте каталог /home

Чтобы исправления в /etc/inittab подействовали, перезагрузите unix командой

shutdown -y -g0 -i6

Linux

В файле /etc/rc.d/rc.inet2 раскомментируйте строки, запускающие демонов

rpc.portmap
 rpc.nfsd
 rpc.mountd
 rpc.ugidd

В файл /etc/exports вставьте строку

/ (rw)

Перезагрузитесь

Sun Solaris 1.1

В файл /etc/exports вставьте строки...

/home
 /usr

Перезагрузитесь

Sun Solaris 2.3

В файле /etc/dfs/dfstab вставьте строки для экспортируемых файловых систем. (Формат указан в комментариях в этом файле)

Перезагрузитесь

Еще одна сетевая файловая система. RFS. DFS

RFS - Remote File Sharing. Тоже сетевая файловая система. NFS - порождение BSD Unix'а, RFS - System V Unix'а. Назначение такое же, как и у NFS. Каких либо преимуществ по сравнению с NFS не имеет. Ярко выраженных недостатков, пожалуй, тоже. Значительно менее распространена, чем NFS. Не имеет automounter 'а. Клиентов RFS for MSDOS PC нет. Зато RFS поддерживает захват и блокировку файлов, и специальные файлы. Активизировать RFS вряд ли имеет смысл. Действительно, зачем нам второй Генеральный секретарь?

DFS - Distributed File System. Тоже сетевая файловая система. Вот и все, что я могу про нее сказать.

Конфигурирование automount-демона

Авто-монтировщик - демон, запущенный на NFS-клиенте. Этот демон монтирует удаленные каталоги "ПО ТРЕБОВАНИЮ" - т.е., когда к ним происходит обращение. Если к автоматически смонтированному каталогу долго не было обращений, автомонтировщик его автоматически отмонтирует.

Авто-монтирование поддерживается демоном automountd. Этот демон запускается при начальной загрузке операционной системы. Запускается он в командном файле

/etc/rc2.d/S20nfs.client

 automountd # если все карты будут браться из NIS
 или
 automountd -m -f /etc/auto.master # брать только локальные
 # карты

Управляется automountd несколькими "картами" - файлами с описанием кого и куда надо монтировать. В простейшем случае нужно иметь три файла:

  • /etc/auto_master - головной конфигурационный файл

Ссылается на:

  • /etc/auto_direct - указывает, какие каталоги куда монтировать
  • /etc/auto_home - задает правила монтирования домашних каталогов пользователей, расположенных на удаленных машинах.
/etc/auto_master :---------------------------------------------
#
# Master map for automounter
#
/net -hosts
# задает: корневой каталог компьютера по имени imyarek монтиро-
# вать на каталог /net/imyarek
#
/- /etc/auto_direct
/home /etc/auto_home


/etc/auto_direct :---------------------------------------------
#
#
/usr/informix -ro,soft classic00:/usr/informix
/usr/local -rw,soft classic00:/usr/local
#
# Смонтировать с первого откликнувшегося сервера.
#
/usr/share/man -ro,soft classic00:/usr/share/man \
 -ro,soft sun21:/usr/share/man \
 -ro,soft sun22:/usr/share/man


/etc/auto_home :---------------------------------------------
moshkow s08:/udd/moshkow
leo classic00:/export/home/leo
# а лучше написать так:
* classic00:/export/home/&
* sun21:/export/home/&

Каждый пользователь polxzowatelx на этой машине должен быть зарегистрирован с домашним каталогом /home/polxzowatelx

Дмитрий Ярцев
Дмитрий Ярцев
Россия
Игорь Зарубин
Игорь Зарубин
Россия