Поднимаем NFS сервер на Ubuntu. Что такое NFS? Network File System. Протокол сетевого доступа к файловым системам Использование готовых меток для управления устройством

Каждый знает, что в UNIX-системах файловая система логически представляет собой набор физических файловых систем, подключенных к одной точке. Одна из самых основных прелестей такой организации, на мой взгляд, состоит в возможности динамически модифицировать структуру существующей файловой системы. Также, благодаря усилиям разработчиков, мы на сегодняшний день имеем возможность подключить ФС практически любого типа и любым удобным способом. Говоря «способом», я прежде всего хочу подчеркнуть возможность работы ядра ОС с файловыми системами посредством сетевых соединений.

Множество сетевых протоколов предоставляют нам возможность работы с удаленными файлами, будь то FTP, SMB, Telnet или SSH. Благодаря способности ядра, в конечном итоге, не зависеть от типа подключаемой ФС, мы имеем возможность при помощи программы mount подключать что угодно и как угодно.

Сегодня мне хочется рассказать об NFS — Network File System. Эта технология позволяет подключать отдельные точки ФС на удаленном компьютере к файловой системе локального компьютера. Сам протокол NFS позволяет выполнять операции с файлами достаточно быстро, безопасно и надежно. А что нам еще нужно? :-)

Что необходимо для того, чтобы это работало

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

Установка

Для запуска сервера NFS в моей Ubuntu 7.10 — the Gutsy Gibbon понадобилось установить пакеты nfs-common и nfs-kernel-server. Если же нужен только клиент NFS, то nfs-kernel-server устанавливать не нужно.

Настройка сервера

После того, как все пакеты успешно установлены, необходимо проверить, запущен ли демон NFS:

/etc/init.d/nfs-kernel-server status

Если демон не запущен, его нужно запустить командой

/etc/init.d/nfs-kernel-server start

После того, как все успешно запустилось, можно приступать к экспорту файловой системы. Сам процесс очень прост и занимает минимум времени.

Основной файл конфигурации NFS-сервера располагается в /etc/exports и имеет следующий формат:

Directory machine1(option11,option12) machine2(option21,option22)

directory — абсолютный путь к каталогу ФС сервера, к которому нужно дать доступ

machineX — DNS-имя или IP-адрес клиентского компьютера, с которого разрешается доступ

optionXX — параметры экспорта ФС, наиболее часто используемые из них:

  • ro — доступ к файлам разрешается только для чтения
  • rw — доступ предоставляется на чтение/запись
  • no_root_squash — по умолчанию, если вы подключаетесь к ресурсу NFS от имени root, сервер, безопасности ради, на своей стороне будет обращаться к файлам от имени пользователя nobody. Однако, если включить эту опцию, то обращение к файлам на стороне сервера будет будет производиться от имени root. Аккуратней с этой опцией.
  • no_subtree_check — по умолчанию, если вы на сервере экспортируете не весь раздел, а только часть ФС, демон будет проверять, является ли запрошенный файл физически размещенным на том же разделе или нет. В случае, если вы экспортируете весь раздел или точка подключения экспортируемой ФС не затрагивает файлы с других физических томов, то можно включить эту опцию. Это даст вам увеличение скорости работы сервера.
  • sync — включайте эту опцию, если есть вероятность внезапного обрыва связи или отключения питания сервера. Если эта опция не включена, то очень повышается риск потери данных при внезапной остановке сервера NFS.

Итак, допустим, нам нужно дать доступ компьютеру ashep-desktop к каталогу /var/backups компьютера ashep-laptop. Доступ к каталогу необходим для копирования резервных копий файлов с ashep-desktop. У меня файл получился следующим:

/var/backups ashep-desktop(rw,no_subtree_check,sync)

После добавления строки в /etc/exports необходимо перезапустить сервер NFS для вступления изменений в силу.

/etc/init.d/nfs-kernel-server restart

Вот и все. Можно приступать к подключению экспортированной ФС на клиентском компьютере.

Настройка клиента

На клиентской стороне удаленная файловая система монтируется так же, как и все остальные — командой mount. Также, никто не запрещает вам использовать /etc/fstab в случае, если подключать ФС нужно автоматически при загрузке ОС. Итак, вариант с mount будет выглядеть так:

Mount -t nfs ashep-laptop:/var/backups/ /mnt/ashep-laptop/backups/

Если все прошло успешно и вам необходимо выполнять подключение к удаленной ФС автоматически при загрузке — просто добавляем строку в /etc/fstab:

Ashep-laptop:/var/backups /mnt/ashep-laptop/backups nfs auto 0 0

Что еще

Вот и получился практический, малюсенький обзор возможностей NFS. Конечно, это всего лишь малая часть того, что умеет NFS. Этого достаточно для использования дома или в небольшом офисе. Если же вам этого недостаточно, рекомендую в первую очередь прочесть

Сетевая файловая система NFS или Network File System, это популярный протокол сетевой файловой системы, который позволяет пользователям подключать удаленные сетевые каталоги на своей машине и передавать файлы между серверами. Вы можете использовать дисковое пространство на другой машине для своих файлов и работать с файлами, расположенными на других серверах. По сути, это альтернатива общего доступа Windows для Linux, в отличие от Samba реализована на уровне ядра и работает более стабильно.

В этой статье будет рассмотрена установка nfs в Ubuntu 16.04. Мы разберем установку всех необходимых компонентов, настройку общей папки, а также подключение сетевых папок.

Как уже было сказано, NFS, это сетевая файловая система. Для работы необходим сервер, на котором будет размещена общая папка и клиенты, которые могут монтировать сетевую папку как обычный диск в системе. В отличие от других протоколов NFS предоставляет прозрачный доступ к удаленным файлам. Программы будут видеть файлы как в обычной файловой системе и работать с ними как с локальными файлами, nfs возвращает только запрашиваемую часть файла, вместо файла целиком, поэтому эта файловая система будет отлично работать в системах с быстрым интернетом или в локальной сети.

Установка компонентов NFS

Перед тем как мы сможем работать с NFS, нам придется установить несколько программ. На машину, которая будет сервером нужно установить пакет nfs-kernel-server, с помощью которого будет выполнено открытие шары nfs в ubuntu 16.04. Для этого выполните:

sudo apt install nfs-kernel-server

Теперь давайте проверим правильно ли установился сервер. Сервис NFS слушает соединения как для TCP, так и для UDP на порту 2049. Посмотреть действительно ли сейчас используются эти порты можно командой:

rpcinfo -p | grep nfs

Также важно проверить поддерживается ли NFS на уровне ядра:

cat /proc/filesystems | grep nfs

Видим, что работает, но если нет, нужно вручную загрузить модуль ядра nfs:

Давайте еще добавим nfs в автозагрузку:

sudo systemctl enable nfs

На клиентском компьютере вам нужно установить пакет nfs-common, чтобы иметь возможность работать с этой файловой системой. Вам необязательно устанавливать компоненты сервера, достаточно будет только этого пакета:

sudo apt install nfs-common

Настройка сервера NFS в Ubuntu

Мы можем открыть NFS доступ к любой папке, но давайте создадим для этих целей новую:

адрес_папки клиент (опции)

Адрес папки - это та папка, которую нужно сделать доступной по сети. Клиент - ip адрес или адрес сети, из которой могут получить доступ к этой папке. А вот с опциями немного сложнее. Рассмотрим некоторые из них:

  • rw - разрешить чтение и запись в этой папке
  • ro - разрешить только чтение
  • sync - отвечать на следующие запросы только тогда, когда данные будут сохранены на диск (по умолчанию)
  • async - не блокировать подключения пока данные записываются на диск
  • secure - использовать для соединения только порты ниже 1024
  • insecure - использовать любые порты
  • nohide - не скрывать поддиректории при, открытии доступа к нескольким директориям
  • root_squash - подменять запросы от root на анонимные
  • all_squash - превращать все запросы в анонимные
  • anonuid и anongid - указывает uid и gid для анонимного пользователя.

Например, для нашей папки эта строка может выглядеть вот так:

/var/nfs 127.0.0.1(rw,sync,no_subtree_check)

Когда все было настроено, осталось обновить таблицу экспорта NFS:

sudo exportfs -a

Вот и все, открытие шары nfs в ubuntu 16.04 завершено. Теперь попытаемся настроем клиента и попытаемся ее примонтировать.

Подключение NFS

Мы не будем подробно останавливаться на этом вопросе в сегодняшней статье. Это довольно большая тема, заслуживающая отдельной статьи. Но пару слов я все же скажу.

Чтобы подключить сетевую папку вам не нужен никакой nfs клиент ubuntu, достаточно использовать команду mount:

sudo mount 127.0.0.1:/var/nfs/ /mnt/

Теперь вы можете попытаться создать файл в подключенной директории:

Также мы посмотрите подключенные файловые системы с помощью df:

127.0.0.1:/var/nfs 30G 6,7G 22G 24% /mnt

Чтобы отключить эту файловую систему достаточно использовать стандартный umount:

sudo umount /mnt/

Выводы

В этой статье была рассмотрена настройка nfs ubuntu 16.04, как видите, все делается очень просто и прозрачно. Подключение NFS шары выполняется в несколько кликов, с помощью стандартных команд, а открытие шары nfs в ubuntu 16.04 ненамного сложнее подключения. Если у вас остались вопросы, пишите в комментариях!

Похожие записи:


лТПНЕ РПДДЕТЦЛЙ НОПЗЙИ РТПЮЙИ ФЙРПЧ ЖБКМПЧЩИ УЙУФЕН, ЧП FreeBSD ЧУФТПЕОБ РПДДЕТЦЛБ УЕФЕЧПК ЖБКМПЧПК УЙУФЕНЩ (Network File System), ЙЪЧЕУФОПК ЛБЛ NFS . NFS РПЪЧПМСЕФ УЙУФЕНЕ ЙУРПМШЪПЧБФШ ЛБФБМПЗЙ Й ЖБКМЩ УПЧНЕУФОП У ДТХЗЙНЙ НБЫЙОБНЙ, РПУТЕДУФЧПН УЕФЙ. рПУТЕДУФЧПН NFS РПМШЪПЧБФЕМЙ Й РТПЗТБННЩ НПЗХФ РПМХЮБФШ ДПУФХР Л ЖБКМБН ОБ ХДБМЈООЩИ УЙУФЕНБИ ФПЮОП ФБЛ ЦЕ, ЛБЛ ЕУМЙ ВЩ ЬФП ВЩМЙ ЖБКМЩ ОБ УПВУФЧЕООЩИ ДЙУЛБИ.

чПФ ОЕЛПФПТЩЕ ЙЪ ОБЙВПМЕЕ ЪБНЕФОЩИ РТЕЙНХЭЕУФЧ, ЛПФПТЩЕ ДБЈФ ЙУРПМШЪПЧБОЙЕ NFS:

    пФДЕМШОП ЧЪСФЩЕ ТБВПЮЙЕ УФБОГЙЙ ЙУРПМШЪХАФ НЕОШЫЕ УПВУФЧЕООПЗП ДЙУЛПЧПЗП РТПУФТБОУФЧБ, ФБЛ ЛБЛ УПЧНЕУФОП ЙУРПМШЪХЕНЩЕ ДБООЩЕ НПЗХФ ИТБОЙФШУС ОБ ПДОПК ПФДЕМШОПК НБЫЙОЕ Й ВЩФШ ДПУФХРОЩНЙ ДМС ДТХЗЙИ НБЫЙО Ч УЕФЙ.

    рПМШЪПЧБФЕМСН ОЕ ОХЦОП ЙНЕФШ ДПНБЫОЙЕ ЛБФБМПЗЙ, ПФДЕМШОЩЕ ДМС ЛБЦДПК НБЫЙОЩ Ч ЧБЫЕК УЕФЙ. дПНБЫОЙЕ ЛБФБМПЗЙ НПЗХФ ТБУРПМБЗБФШУС ОБ УЕТЧЕТЕ NFS Й ЙИ НПЦОП УДЕМБФШ ДПУФХРОЩНЙ ПФПЧУАДХ Ч УЕФЙ.

    хУФТПКУФЧБ ИТБОЕОЙС ЙОЖПТНБГЙЙ, ФБЛЙЕ, ЛБЛ ДЙУЛЕФЩ, РТЙЧПДЩ CD-ROM Й ХУФТПКУФЧБ Zip (R), НПЗХФ ЙУРПМШЪПЧБФШУС ДТХЗЙНЙ НБЫЙОБНЙ Ч УЕФЙ. ьФП НПЦЕФ РТЙЧЕУФЙ Л ХНЕОШЫЕОЙА РЕТЕОПУЙНЩИ ХУФТПКУФЧ ИТБОЕОЙС ЙОЖПТНБГЙЙ Ч УЕФЙ.

чПФ ОЕУЛПМШЛП РТЙНЕТОЩИ УФТПЛ ЙЪ ЖБКМБ /etc/exports:

ч УМЕДХАЭЙИ РТЙНЕТБИ ДБЈФУС ПВЭБС ЙДЕС ФПЗП, ЛБЛ ЬЛУРПТФЙТПЧБФШ ЖБКМПЧЩЕ УЙУФЕНЩ, ИПФС ЛПОЛТЕФОЩЕ РБТБНЕФТЩ НПЗХФ ПФМЙЮБФШУС Ч ЪБЧЙУЙНПУФЙ ПФ ЧБЫЙИ ХУМПЧЙК Й ЛПОЖЙЗХТБГЙЙ УЕФЙ. л РТЙНЕТХ, ЮФПВЩ ЬЛУРПТФЙТПЧБФШ ЛБФБМПЗ /cdrom ДМС ФТЈИ НБЫЙО, ОБИПДСЭЙИУС Ч ФПН ЦЕ УБНПН ДПНЕОЕ, ЮФП Й УЕТЧЕТ (РПЬФПНХ ПФУХФУФЧХЕФ ДПНЕООПЕ ЙНС ДМС ЛБЦДПК НБЫЙОЩ) ЙМЙ ДМС ЛПФПТЩИ ЙНЕАФУС ЪБРЙУЙ Ч ЖБКМЕ /etc/hosts . жМБЗ -ro ХЛБЪЩЧБЕФ ОБ ЙУРПМШЪПЧБОЙЕ ЬЛУРПТФЙТХЕНПК ЖБКМПЧПК УЙУФЕНЩ Ч ТЕЦЙНЕ ФПМШЛП ЮФЕОЙС. у ЬФЙН ЖМБЗПН ХДБМЈООБС УЙУФЕНБ ОЕ УНПЦЕФ ОЙЛПЙН ПВТБЪПН ЙЪНЕОЙФШ ЬЛУРПТФЙТХЕНХА ЖБКМПЧХА УЙУФЕНХ.

/cdrom -ro host1 host2 host3

ч УМЕДХАЭЕК УФТПЛЕ ЬЛУРПТФЙТХЕФУС ЖБКМПЧБС УЙУФЕНБ /home , ЛПФПТБС УФБОПЧЙФУС ДПУФХРОПК ФТЕН ИПУФБН, ХЛБЪБООЩН РП ЙИ IP-БДТЕУБН. ьФП РПМЕЪОП, ЕУМЙ Х ЧБУ ЕУФШ УПВУФЧЕООБС УЕФШ ВЕЪ ОБУФТПЕООПЗП УЕТЧЕТБ DNS . лБЛ ЧБТЙБОФ, ЖБКМ /etc/hosts НПЦЕФ УПДЕТЦБФШ ЧОХФТЕООЙЕ ЙНЕОБ ИПУФПЧ; РПЦБМХКУФБ, ПВТБФЙФЕУШ Л УРТБЧПЮОХА УЙУФЕНХ РП ДМС РПМХЮЕОЙС ДПРПМОЙФЕМШОПК ЙОЖПТНБГЙЙ. жМБЗ -alldirs РПЪЧПМСЕФ ТБУУНБФТЙЧБФШ РПДЛБФБМПЗЙ Ч ЛБЮЕУФЧЕ ФПЮЕЛ НПОФЙТПЧБОЙС. дТХЗЙНЙ УМПЧБНЙ, ЬФП ОЕ НПОФЙТПЧБОЙЕ РПДЛБФБМПЗПЧ, ОП ТБЪТЕЫЕОЙЕ ЛМЙЕОФБН НПОФЙТПЧБФШ ФПМШЛП ЛБФБМПЗЙ, ЛПФПТЩЕ ЙН ФТЕВХАФУС ЙМЙ ОХЦОЩ.

/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4

ч УФТПЛЕ, РТЙЧЕДЈООПК ОЙЦЕ, ЖБКМПЧБС УЙУФЕНБ /a ЬЛУРПТФЙТХЕФУС ФБЛЙН ПВТБЪПН, ЮФП ПОБ ДПУФХРОБ ДЧХН ЛМЙЕОФБН ЙЪ ДТХЗЙИ ДПНЕОПЧ. рБТБНЕФТ -maproot=root РПЪЧПМСЕФ РПМШЪПЧБФЕМА root ХДБМЈООПК УЙУФЕНЩ ПУХЭЕУФЧМСФШ ЪБРЙУШ ОБ ЬЛУРПТФЙТХЕНХА ЖБКМПЧХА УЙУФЕНХ ЛБЛ РПМШЪПЧБФЕМШ root . еУМЙ РБТБНЕФТ -maproot=root ОЕ ЪБДБО, ФП ДБЦЕ ЕУМЙ РПМШЪПЧБФЕМШ ЙНЕЕФ РТБЧБ ДПУФХРБ root ОБ ХДБМЈООПК УЙУФЕНЕ, ПО ОЕ УНПЦЕФ НПДЙЖЙГЙТПЧБФШ ЖБКМЩ ОБ ЬЛУРПТФЙТПЧБООПК ЖБКМПЧПК УЙУФЕНЕ.

/a -maproot=root host.example.com box.example.org

дМС ФПЗП, ЮФПВЩ ЛМЙЕОФ УНПЗ ПВТБФЙФШУС Л ЬЛУРПТФЙТПЧБООПК ЖБКМПЧПК УЙУФЕНЕ, ПО ДПМЦЕО ЙНЕФШ РТБЧБ УДЕМБФШ ЬФП. рТПЧЕТШФЕ, ЮФП ЛМЙЕОФ ХЛБЪБО Ч ЧБЫЕН ЖБКМЕ /etc/exports .

ч ЖБКМЕ /etc/exports ЛБЦДБС УФТПЛБ УПДЕТЦЙФ ЙОЖПТНБГЙА ПВ ЬЛУРПТФЙТПЧБОЙЙ ДМС ПФДЕМШОПК ЖБКМПЧПК УЙУФЕНЩ ДМС ПФДЕМШОП ЧЪСФПЗП ИПУФБ. хДБМЈООЩК ИПУФ НПЦЕФ ВЩФШ ЪБДБО ФПМШЛП ПДЙО ТБЪ ДМС ЛБЦДПК ЖБКМПЧПК УЙУФЕНЩ, Й НПЦЕФ ЙНЕФШ ФПМШЛП ПДОХ ЪБРЙУШ, ЙУРПМШЪХЕНХА РП ХНПМЮБОЙА, ДМС ЛБЦДПК МПЛБМШОПК ЖБКМПЧПК УЙУФЕНЩ. л РТЙНЕТХ, РТЕДРПМПЦЙН, ЮФП /usr СЧМСЕФУС ПФДЕМШОПК ЖБКМПЧПК УЙУФЕНПК. уМЕДХАЭЙК /etc/exports ВХДЕФ ОЕЛПТТЕЛФЕО:

# Invalid when /usr is one file system /usr/src client /usr/ports client

пДОБ ЖБКМПЧБС УЙУФЕНБ, /usr , ЙНЕЕФ ДЧЕ УФТПЛЙ, ЪБДБАЭЙЕ ЬЛУРПТФЙТПЧБОЙЕ ДМС ПДОПЗП Й ФПЗП ЦЕ ИПУФБ, client . рТБЧЙМШОЩК ЖПТНБФ Ч ЬФПН УМХЮБЕ ФБЛПЧ:

/usr/src /usr/ports client

уЧПКУФЧБ ПФДЕМШОПК ЖБКМПЧПК УЙУФЕНЩ, ЬЛУРПТФЙТХЕНПК ОЕЛПФПТПНХ ИПУФХ, ДПМЦОЩ ЪБДБЧБФШУС Ч ПДОПК УФТПЛЕ. уФТПЛЙ ВЕЪ ХЛБЪБОЙС ЛМЙЕОФБ ЧПУРТЙОЙНБАФУС ЛБЛ ПФДЕМШОЩК ИПУФ. ьФП ПЗТБОЙЮЙЧБЕФ ФП, ЛБЛ ЧЩ НПЦЕФЕ ЬЛУРПТФЙТПЧБФШ ЖБКМПЧЩЕ УЙУФЕНЩ, ОП ДМС ВПМШЫЙОУФЧБ ЬФП ОЕ РТПВМЕНБ.

оЙЦЕ РТЙЧЕДЈО РТЙНЕТ РТБЧЙМШОПЗП УРЙУЛБ ЬЛУРПТФЙТПЧБОЙС, ЗДЕ /usr Й /exports СЧМСАФУС МПЛБМШОЩНЙ ЖБКМПЧЩНЙ УЙУФЕНБНЙ:

# ьЛУРПТФЙТХЕН src Й ports ДМС client01 Й client02, ОП # ФПМШЛП client01 ЙНЕЕФ РТБЧБ РПМШЪПЧБФЕМС root ОБ ОЙИ /usr/src /usr/ports -maproot=root client01 /usr/src /usr/ports client02 # лМЙЕОФУЛЙЕ НБЫЙОЩ ЙНЕАФ РПМШЪПЧБФЕМС root Й НПЗХФ НПОФЙТПЧБФШ ЧУЈ Ч # ЛБФБМПЗЕ /exports. лФП ХЗПДОП НПЦЕФ НПОФЙТПЧБФШ /exports/obj Ч ТЕЦЙНЕ ЮФЕОЙС /exports -alldirs -maproot=root client01 client02 /exports/obj -ro

дБЕНПО mountd ДПМЦЕО ВЩФШ РТПЙОЖПТНЙТПЧБО ПВ ЙЪНЕОЕОЙЙ ЖБКМБ /etc/exports , ЮФПВЩ ЙЪНЕОЕОЙС ЧУФХРЙМЙ Ч УЙМХ. ьФП НПЦЕФ ВЩФШ ДПУФЙЗОХФП РПУЩМЛПК УЙЗОБМБ HUP РТПГЕУУХ mountd:

# kill -HUP `cat /var/run/mountd.pid`

ЙМЙ ЧЩЪПЧПН УЛТЙРФБ mountd РПДУЙУФЕНЩ У УППФЧЕФУФЧХАЭЙН РБТБНЕФТПН:

# /etc/rc.d/mountd onereload

ъБ РПДТПВОПК ЙОЖПТНБГЙЕК П ТБВПФЕ УЛТЙРФПЧ rc.d ПВТБЭБКФЕУШ Л тБЪДЕМљ12.7, > .

лБЛ ЧБТЙБОФ, РТЙ РЕТЕЪБЗТХЪЛЕ FreeBSD ЧУЈ ОБУФТПЙФУС РТБЧЙМШОП. иПФС ЧЩРПМОСФШ РЕТЕЪБЗТХЪЛХ ЧПЧУЕ ОЕ ПВСЪБФЕМШОП. чЩРПМОЕОЙЕ УМЕДХАЭЙИ ЛПНБОД РПМШЪПЧБФЕМЕН root ЪБРХУФЙФ ЧУЈ, ЮФП ОХЦОП.

оБ УЕТЧЕТЕ NFS:

# rpcbind # nfsd -u -t -n 4 # mountd -r

оБ ЛМЙЕОФЕ NFS:

# nfsiod -n 4

фЕРЕТШ ЧУЈ ДПМЦОП ВЩФШ ЗПФПЧП Л ТЕБМШОПНХ НПОФЙТПЧБОЙА ХДБМЈООПК ЖБКМПЧПК УЙУФЕНЩ. ч РТЙЧПДЙНЩИ РТЙНЕТБИ УЕТЧЕТ ВХДЕФ ОПУЙФШ ЙНС server , Б ЛМЙЕОФ ВХДЕФ ОПУЙФШ ЙНС client . еУМЙ ЧЩ ФПМШЛП ИПФЙФЕ ЧТЕНЕООП УНПОФЙТПЧБФШ ХДБМЈООХА ЖБКМПЧХА УЙУФЕНХ, ЙМЙ ЧУЕЗП МЙЫШ РТПФЕУФЙТПЧБФШ ЧБЫЙ ОБУФТПКЛЙ, ФП РТПУФП ЪБРХУФЙФЕ ЛПНБОДЩ, РПДПВОЩЕ РТЙЧПДЙНЩН ЪДЕУШ, ТБВПФБС ЛБЛ РПМШЪПЧБФЕМШ root ОБ ЛМЙЕОФУЛПК НБЫЙОЕ:

# mount server:/home /mnt

рП ЬФПК ЛПНБОДЕ ЖБКМПЧБС УЙУФЕНБ /home ОБ УЕТЧЕТЕ ВХДЕФ УНПОФЙТПЧБОБ Ч ЛБФБМПЗ /mnt ОБ ЛМЙЕОФЕ. еУМЙ ЧУЈ ОБУФТПЕОП РТБЧЙМШОП, ЧЩ УНПЦЕФЕ ЧПКФЙ Ч ЛБФБМПЗ /mnt ОБ ЛМЙЕОФЕ Й ХЧЙДЕФШ ЖБКМЩ, ОБИПДСЭЙЕУС ОБ УЕТЧЕТЕ.

еУМЙ ЧЩ ИПФЙФЕ БЧФПНБФЙЮЕУЛЙ НПОФЙТПЧБФШ ХДБМЈООХА ЖБКМПЧХА УЙУФЕНХ РТЙ ЛБЦДПК ЪБЗТХЪЛЕ ЛПНРШАФЕТБ, ДПВБЧШФЕ ЖБКМПЧХА УЙУФЕНХ Ч /etc/fstab . чПФ РТЙНЕТ:

Server:/home /mnt nfs rw 0 0

оБ УФТБОЙГБИ УРТБЧПЮОПК УЙУФЕНЩ РП РЕТЕЮЙУМЕОЩ ЧУЕ ДПУФХРОЩЕ РБТБНЕФТЩ.

25.3.4. рТБЛФЙЮЕУЛПЕ ЙУРПМШЪПЧБОЙЕ

х NFS ЕУФШ НОПЗП ЧБТЙБОФПЧ РТБЛФЙЮЕУЛПЗП РТЙНЕОЕОЙС. оЙЦЕ РТЙЧПДЙФУС ОЕУЛПМШЛП ОБЙВПМЕЕ ЫЙТПЛП ТБУРТПУФТБОЈООЩИ УРПУПВПЧ ЕЈ ЙУРПМШЪПЧБОЙС:

    оБУФТПКЛБ ОЕУЛПМШЛП НБЫЙО ДМС УПЧНЕУФОПЗП ЙУРПМШЪПЧБОЙС CDROM ЙМЙ ДТХЗЙИ ОПУЙФЕМЕК. ьФП ВПМЕЕ ДЕЫЈЧЩК Й ЪБЮБУФХА ВПМЕЕ ХДПВОЩК УРПУПВ ХУФБОПЧЛЙ РТПЗТБННОПЗП ПВЕУРЕЮЕОЙС ОБ ОЕУЛПМШЛП НБЫЙО.

    ч ВПМШЫЙИ УЕФСИ НПЦЕФ ПЛБЪБФШУС ВПМЕЕ ХДПВОЩН ОБУФТПЙФШ ГЕОФТБМШОЩК УЕТЧЕТ NFS , ОБ ЛПФПТПН ТБЪНЕЭБАФУС ЧУЕ ДПНБЫОЙЕ ЛБФБМПЗЙ РПМШЪПЧБФЕМЕК. ьФЙ ДПНБЫОЙЕ ЛБФБМПЗЙ НПЗХФ ЪБФЕН ЬЛУРПТФЙТПЧБФШУС Ч УЕФШ ФБЛ, ЮФП РПМШЪПЧБФЕМЙ ЧУЕЗДБ ВХДХФ ЙНЕФШ ПДЙО Й ФПФ ЦЕ ДПНБЫОЙК ЛБФБМПЗ ЧОЕ ЪБЧЙУЙНПУФЙ ПФ ФПЗП, ОБ ЛБЛПК ТБВПЮЕК УФБОГЙЙ ПОЙ ТБВПФБАФ.

    оЕУЛПМШЛП НБЫЙО НПЗХФ ЙНЕФШ ПВЭЙК ЛБФБМПЗ /usr/ports/distfiles . фБЛЙН ПВТБЪПН, ЛПЗДБ ЧБН ОХЦОП ВХДЕФ ХУФБОПЧЙФШ РПТФ ОБ ОЕУЛПМШЛП НБЫЙО, ЧЩ УНПЦЕФЕ ВЩУФТП РПМХЮЙФШ ДПУФХР Л ЙУИПДОЩН ФЕЛУФБН ВЕЪ ЙИ ЪБЗТХЪЛЙ ОБ ЛБЦДПК НБЫЙОЕ.

25.3.5. бЧФПНБФЙЮЕУЛПЕ НПОФЙТПЧБОЙЕ У amd

фЕЛУФ РТЕДПУФБЧЙМ Wylie Stilwell .

фЕЛУФ РЕТЕРЙУБМ Chern Lee .

(ДБЕНПО БЧФПНБФЙЮЕУЛПЗП НПОФЙТПЧБОЙС) БЧФПНБФЙЮЕУЛЙ НПОФЙТХЕФ ХДБМЈООХА ЖБКМПЧХА УЙУФЕНХ, ЛБЛ ФПМШЛП РТПЙУИПДЙФ ПВТБЭЕОЙЕ Л ЖБКМХ ЙМЙ ЛБФБМПЗХ Ч ЬФПК ЖБКМПЧПК УЙУФЕНЕ. лТПНЕ ФПЗП, ЖБКМПЧЩЕ УЙУФЕНЩ, ЛПФПТЩЕ ВЩМЙ ОЕБЛФЙЧОЩ ОЕЛПФПТПЕ ЧТЕНС, ВХДХФ БЧФПНБФЙЮЕУЛЙ ТБЪНПОФЙТПЧБОЩ ДБЕНПОПН amd . йУРПМШЪПЧБОЙЕ amd СЧМСЕФУС РТПУФПК БМШФЕТОБФЙЧПК УФБФЙЮЕУЛПНХ НПОФЙТПЧБОЙА, ФБЛ ЛБЛ Ч РПУМЕДОЕН УМХЮБЕ ПВЩЮОП ЧУЈ ДПМЦОП ВЩФШ ПРЙУБОП Ч ЖБКМЕ /etc/fstab .

amd ТБВПФБЕФ, УБН ЧЩУФХРБС ЛБЛ УЕТЧЕТ NFS ДМС ЛБФБМПЗПЧ /host Й /net . лПЗДБ РТПЙУИПДЙФ ПВТБЭЕОЙЕ Л ЖБКМХ Ч ПДОПН ЙЪ ЬФЙИ ЛБФБМПЗПЧ, amd ЙЭЕФ УППФЧЕФУФЧХАЭЙК ХДБМЕООЩК ТЕУХТУ ДМС НПОФЙТПЧБОЙС Й БЧФПНБФЙЮЕУЛЙ ЕЗП НПОФЙТХЕФ. /net ЙУРПМШЪХЕФУС ДМС НПОФЙТПЧБОЙС ЬЛУРПТФЙТХЕНПК ЖБКМПЧПК УЙУФЕНЩ РП БДТЕУХ IP, ЛПЗДБ ЛБЛ ЛБФБМПЗ /host ЙУРПМШЪХЕФУС ДМС НПОФЙТПЧБОЙС ТЕУХТУБ РП ХДБМЕООПНХ ЙНЕОЙ ИПУФБ.

пВТБЭЕОЙЕ Л ЖБКМХ Ч ЛБФБМПЗЕ /host/foobar/usr ХЛБЦЕФ amd ОБ ЧЩРПМОЕОЙЕ РПРЩФЛЙ НПОФЙТПЧБОЙС ТЕУХТУБ /usr , ЛПФПТЩК ОБИПДЙФУС ОБ ИПУФЕ foobar .

рТЙНЕТ 25.2. нПОФЙТПЧБОЙЕ ТЕУХТУБ РТЙ РПНПЭЙ amd

чЩ НПЦЕФЕ РПУНПФТЕФШ ДПУФХРОЩЕ ДМС НПОФЙТПЧБОЙС ТЕУХТУЩ ПФДБМЈООПЗП ИПУФБ ЛПНБОДПК showmount . л РТЙНЕТХ, ЮФПВЩ РПУНПФТЕФШ ТЕУХТУЩ ИПУФБ У ЙНЕОЕН foobar , ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ:

% showmount -e foobar Exports list on foobar: /usr 10.10.10.0 /a 10.10.10.0 % cd /host/foobar/usr

лБЛ ЧЙДОП ЙЪ РТЙНЕТБ, showmount РПЛБЪЩЧБЕФ /usr ЛБЛ ЬЛУРПТФЙТХЕНЩК ТЕУХТУ. рТЙ РЕТЕИПДЕ Ч ЛБФБМПЗ /host/foobar/usr ДБЕНПО amd РЩФБЕФУС ТБЪТЕЫЙФШ ЙНС ИПУФБ foobar Й БЧФПНБФЙЮЕУЛЙ УНПОФЙТПЧБФШ ФТЕВХЕНЩК ТЕУХТУ.

amd НПЦЕФ ВЩФШ ЪБРХЭЕО ЙЪ УЛТЙРФПЧ ОБЮБМШОПК ЪБЗТХЪЛЙ, ЕУМЙ РПНЕУФЙФШ ФБЛХА УФТПЛХ Ч ЖБКМ /etc/rc.conf:

Amd_enable="YES"

лТПНЕ ФПЗП, ДБЕНПОХ amd НПЗХФ ВЩФШ РЕТЕДБОЩ ОБУФТПЕЮОЩЕ ЖМБЗЙ ЮЕТЕЪ РБТБНЕФТ amd_flags . рП ХНПМЮБОЙА amd_flags ОБУФТПЕО УМЕДХАЭЙН ПВТБЪПН:

Amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"

жБКМ /etc/amd.map ЪБДБЕФ ПРГЙЙ, ЙУРПМШЪХЕНЩЕ РП ХНПМЮБОЙА РТЙ НПОФЙТПЧБОЙЙ ЬЛУРПТФЙТХЕНЩИ ТЕУХТУПЧ. ч ЖБКМЕ /etc/amd.conf ЪБДБОЩ ОБУФТПКЛЙ ОЕЛПФПТЩИ ВПМЕЕ УМПЦОЩИ ЧПЪНПЦОПУФЕК amd .

пВТБФЙФЕУШ Л УРТБЧПЮОЩН УФТБОЙГБН РП Й ДМС РПМХЮЕОЙС ВПМЕЕ РПМОПК ЙОЖПТНБГЙЙ.

25.3.6. рТПВМЕНЩ ЧЪБЙНПДЕКУФЧЙС У ДТХЗЙНЙ УЙУФЕНБНЙ

фЕЛУФ РТЕДПУФБЧЙМ John Lind .

оЕЛПФПТЩЕ УЕФЕЧЩЕ БДБРФЕТЩ ДМС УЙУФЕН PC У ЫЙОПК ISA ЙНЕАФ ПЗТБОЙЮЕОЙС, ЛПФПТЩЕ НПЗХФ РТЙЧЕУФЙ Л УЕТШЕЪОЩН РТПВМЕНБН Ч УЕФЙ, Ч ЮБУФОПУФЙ, У NFS. ьФЙ РТПВМЕНЩ ОЕ УРЕГЙЖЙЮОЩ ДМС FreeBSD, ПДОБЛП ЬФХ УЙУФЕНХ ПОЙ ЪБФТБЗЙЧБАФ.

рТПВМЕНБ, ЛПФПТБС ЧПЪОЙЛБЕФ РТБЛФЙЮЕУЛЙ ЧУЕЗДБ РТЙ ТБВПФЕ РП УЕФЙ УЙУФЕН PC (FreeBSD) У ЧЩУПЛПРТПЙЪЧПДЙФЕМШОЩНЙ ТБВПЮЙНЙ УФБОГЙСНЙ, ЧЩРХЭЕООЩНЙ ФБЛЙНЙ РТПЙЪЧПДЙФЕМСНЙ, ЛБЛ Silicon Graphics, Inc. Й Sun Microsystems, Inc. нПОФЙТПЧБОЙЕ РП РТПФПЛПМХ NFS ВХДЕФ ТБВПФБФШ ОПТНБМШОП, Й ОЕЛПФПТЩЕ ПРЕТБГЙЙ ФБЛЦЕ ВХДХФ ЧЩРПМОСФШУС ХУРЕЫОП, ОП ОЕПЦЙДБООП УЕТЧЕТ ПЛБЦЕФУС ОЕДПУФХРОЩН ДМС ЛМЙЕОФ, ИПФС ЪБРТПУЩ Л Й ПФ ДТХЗЙИ УЙУФЕН ВХДХФ РТПДПМЦБФШУС ПВТБВБФЩЧБФШУС. фБЛПЕ ЧУФТЕЮБЕФУС У ЛМЙЕОФУЛЙНЙ УЙУФЕНБНЙ, ОЕ ЪБЧЙУЙНП ПФ ФПЗП, СЧМСЕФУС МЙ ЛМЙЕОФ НБЫЙОПК У FreeBSD ЙМЙ ТБВПЮЕК УФБОГЙЕК. чП НОПЗЙИ УЙУФЕНБИ РТЙ ЧПЪОЙЛОПЧЕОЙЙ ЬФПК РТПВМЕНЩ ОЕФ УРПУПВБ ЛПТТЕЛФОП ЪБЧЕТЫЙФШ ТБВПФХ ЛМЙЕОФБ. еДЙОУФЧЕООЩН ЧЩИПДПН ЪБЮБУФХА СЧМСЕФУС ИПМПДОБС РЕТЕЪБЗТХЪЛБ ЛМЙЕОФБ, РПФПНХ ЮФП УЙФХБГЙС У NFS ОЕ НПЦЕФ ВЩФШ ТБЪТЕЫЕОБ.

иПФС РТБЧЙМШОЩН >> ТЕЫЕОЙЕН СЧМСЕФУС ХУФБОПЧЛБ ВПМЕЕ РТПЙЪЧПДЙФЕМШОПЗП Й УЛПТПУФОПЗП УЕФЕЧПЗП БДБРФЕТБ ОБ УЙУФЕНХ FreeBSD, ЙНЕЕФУС РТПУФПЕ ТЕЫЕОЙЕ, РТЙЧПДСЭЕЕ Л ХДПЧМЕФЧПТЙФЕМШОЩН ТЕЪХМШФБФБН. еУМЙ УЙУФЕНБ FreeBSD СЧМСЕФУС УЕТЧЕТПН , ХЛБЦЙФЕ РБТБНЕФТ -w=1024 ОБ ЛМЙЕОФЕ РТЙ НПОФЙТПЧБОЙЙ. еУМЙ УЙУФЕНБ FreeBSD СЧМСЕФУС ЛМЙЕОФПН , ФП УНПОФЙТХКФЕ ЖБКМПЧХА УЙУФЕНХ NFS У РБТБНЕФТПН -r=1024 . ьФЙ РБТБНЕФТЩ НПЗХФ ВЩФШ ЪБДБОЩ Ч ЮЕФЧЕТФПН РПМЕ ЪБРЙУЙ Ч ЖБКМЕ fstab ЛМЙЕОФБ РТЙ БЧФПНБФЙЮЕУЛПН НПОФЙТПЧБОЙЙ, ЙМЙ РТЙ РПНПЭЙ РБТБНЕФТБ -o Ч ЛПНБОДЕ РТЙ НПОФЙТПЧБОЙЙ ЧТХЮОХА.

оХЦОП ПФНЕФЙФШ, ЮФП ЙНЕЕФУС ФБЛЦЕ ДТХЗБС РТПВМЕНБ, ПЫЙВПЮОП РТЙОЙНБЕНБС ЪБ РТЙЧЕДЕООХА ЧЩЫЕ, ЛПЗДБ УЕТЧЕТЩ Й ЛМЙЕОФЩ NFS ОБИПДСФУС Ч ТБЪОЩИ УЕФСИ. еУМЙ ЬФП ФПФ УБНЩК УМХЮБК, РТПЧЕТШФЕ , ЮФП ЧБЫЙ НБТЫТХФЙЪБФПТЩ РТПРХУЛБАФ ОХЦОХА ЙОЖПТНБГЙА UDP , Ч РТПФЙЧОПН УМХЮБЕ ЧЩ ОЙЮЕЗП ОЕ РПМХЮЙФЕ, ЮФП ВЩ ЧЩ ОЙ РТЕДРТЙОЙНБМЙ.

ч УМЕДХАЭЙИ РТЙНЕТБИ fastws СЧМСЕФУС ЙНЕОЕН ИПУФБ (ЙОФЕТЖЕКУБ) ЧЩУПЛПРТПЙЪЧПДЙФЕМШОПК ТБВПЮЕК УФБОГЙЙ, Б freebox СЧМСЕФУС ЙНЕОЕН ИПУФБ (ЙОФЕТЖЕКУБ) УЙУФЕНЩ FreeBSD УП УМБВЩН УЕФЕЧЩН БДБРФЕТПН. лТПНЕ ФПЗП, /sharedfs ВХДЕФ СЧМСФШУС ЬЛУРПТФЙТХЕНПК ЮЕТЕЪ NFS ЖБКМПЧПК УЙУФЕНПК (ПВТБФЙФЕУШ Л УФТБОЙГБН УРТБЧПЮОПК УЙУФЕНЩ РП ЛПНБОДЕ ), Б /project ВХДЕФ ФПЮЛПК НПОФЙТПЧБОЙС ЬЛУРПТФЙТХЕНПК ЖБКМПЧПК УЙУФЕНЩ ОБ ЛМЙЕОФЕ. ч МАВПН УМХЮБЕ, ПФНЕФШФЕ, ЮФП ДМС ЧБЫЕЗП РТЙМПЦЕОЙС НПЗХФ РПОБДПВЙФШУС ДПРПМОЙФЕМШОЩЕ РБТБНЕФТЩ, ФБЛЙЕ, ЛБЛ hard , soft ЙМЙ bg .

рТЙНЕТ УЙУФЕНЩ FreeBSD (freebox) ЛБЛ ЛМЙЕОФБ Ч ЖБКМЕ /etc/fstab ОБ НБЫЙОЕ freebox:

Fastws:/sharedfs /project nfs rw,-r=1024 0 0

лПНБОДБ, ЧЩДБЧБЕНБС ЧТХЮОХА ОБ НБЫЙОЕ freebox:

# mount -t nfs -o -r=1024 fastws:/sharedfs /project

рТЙНЕТ УЙУФЕНЩ FreeBSD Ч ЛБЮЕУФЧЕ УЕТЧЕТБ Ч ЖБКМЕ /etc/fstab ОБ НБЫЙОЕ fastws:

Freebox:/sharedfs /project nfs rw,-w=1024 0 0

лПНБОДБ, ЧЩДБЧБЕНБС ЧТХЮОХА ОБ НБЫЙОЕ fastws:

# mount -t nfs -o -w=1024 freebox:/sharedfs /project

рТБЛФЙЮЕУЛЙ ЧУЕ 16-ТБЪТСДОЩЕ УЕФЕЧЩЕ БДБРФЕТЩ РПЪЧПМСФ ТБВПФБФШ ВЕЪ ХЛБЪБООЩИ ЧЩЫЕ ПЗТБОЙЮЕОЙК ОБ ТБЪНЕТ ВМПЛПЧ РТЙ ЮФЕОЙЙ Й ЪБРЙУЙ.

дМС ФЕИ, ЛФП ЙОФЕТЕУХЕФУС, ОЙЦЕ ПРЙУЩЧБЕФУС, ЮФП ЦЕ РТПЙУИПДЙФ Ч РТЙ РПСЧМЕОЙЙ ЬФПК ПЫЙВЛЙ, Й ПВЯСУОСЕФУС, РПЮЕНХ ЕЕ ОЕЧПЪНПЦОП ХУФТБОЙФШ. лБЛ РТБЧЙМП, NFS ТБВПФБЕФ У ВМПЛБНЙ >> ТБЪНЕТПН 8љЛЙМПВБКФ (ИПФС ПФДЕМШОЩЕ ЖТБЗНЕОФЩ НПЗХФ ЙНЕФШ НЕОШЫЙЕ ТБЪНЕТЩ). фБЛ, РБЛЕФ Ethernet ЙНЕЕФ НБЛУЙНБМШОЩК ТБЪНЕТ ПЛПМП 1500љВБКФ, ФП ВМПЛ >> NFS ТБЪВЙЧБЕФУС ОБ ОЕУЛПМШЛП РБЛЕФПЧ Ethernet, ИПФС ОБ ВПМЕЕ ЧЩУПЛПН ХТПЧОЕ ЬФП ЧУЕ ФПФ ЦЕ ЕДЙОЩК ВМПЛ, ЛПФПТЩК ДПМЦЕО ВЩФШ РТЙОСФ, УПВТБО Й РПДФЧЕТЦДЕО ЛБЛ ПДЙО ВМПЛ. чЩУПЛПРТПЙЪЧПДЙФЕМШОЩЕ ТБВПЮЙЕ УФБОГЙЙ НПЗХФ РПУЩМБФШ РБЛЕФЩ, ЛПФПТЩЕ УППФЧЕФУФЧХАФ ПДОПНХ ВМПЛХ NFS, УТБЪХ ДТХЗ ЪБ ДТХЗПН, ОБУЛПМШЛП ЬФП РПЪЧПМСЕФ ДЕМБФШ УФБОДБТФ. оБ УМБВЩИ, ОЙЪЛПРТПЙЪЧПДЙФЕМШОЩИ БДБРФЕТБИ РБЛЕФЩ, РТЙЫЕДЫЙЕ РПЪЦЕ, ОБЛМБДЩЧБАФУС РПЧЕТИ ТБОЕЕ РТЙЫЕДЫЙИ РБЛЕФПЧ ФПЗП ЦЕ УБНПЗП ВМПЛБ ДП ФПЗП, ЛБЛ ПОЙ НПЗХФ ВЩФШ РЕТЕДБОЩ ИПУФХ Й ВМПЛ ЛБЛ ЕДЙОПЕ ГЕМПЕ ОЕ НПЦЕФ ВЩФШ УПВТБО ЙМЙ РПДФЧЕТЦДЕО. ч ТЕЪХМШФБФЕ ТБВПЮБС УФБОГЙС ЧИПДЙФ Ч УЙФХБГЙА ФБКН-БХФБ Й РЩФБЕФУС РПЧФПТЙФШ РЕТЕДБЮХ, ОП ХЦЕ У РПМОЩН ВМПЛПН Ч 8љлв, Й РТПГЕУУ ВХДЕФ РПЧФПТСФШУС УОПЧБ, ДП ВЕУЛПОЕЮОПУФЙ.

ъБДБЧ ТБЪНЕТ ВМПЛБ НЕОШЫЕ ТБЪНЕТБ РБЛЕФБ Ethernet, НЩ ДПУФЙЗБЕН ФПЗП, ЮФП МАВПК РПМОПУФША РПМХЮЕООЩК РБЛЕФ Ethernet НПЦЕФ ВЩФШ РПДФЧЕТЦДЕО ЙОДЙЧЙДХБМШОП, Й ЙЪВЕЦЙН ФХРЙЛПЧХА УЙФХБГЙА.

оБМПЦЕОЙЕ РБЛЕФПЧ НПЦЕФ ЧУЕ ЕЭЕ РТПСЧМСФШУС, ЛПЗДБ ЧЩУПЛПРТПЙЪЧПДЙФЕМШОЩЕ ТБВПЮЙЕ УФБОГЙЙ УВТБУЩЧБАФ ДБООЩЕ ОБ PC-УЙУФЕНХ, ПДОБЛП РПЧФПТЕОЙЕ ЬФПК УЙФХБГЙЙ ОЕ ПВСЪБФЕМШОП У ВПМЕЕ УЛПТПУФОЩНЙ БДБРФЕТБНЙ У ВМПЛБНЙ >> NFS. лПЗДБ РТПЙУИПДЙФ ОБМПЦЕОЙЕ, ЪБФТПОХФЩЕ ВМПЛЙ ВХДХФ РЕТЕДБОЩ УОПЧБ, Й УЛПТЕЕ ЧУЕЗП, ПОЙ ВХДХФ РПМХЮЕОЩ, УПВТБОЩ Й РПДФЧЕТЦДЕОЩ.

NFS (Network File System) сетевой протокол доступа к доступ к файлам и файловой системе NFS-сервера, популярный в семейства ОС Linux/ UNIX, а также различных системах хранения. Microsoft также, не желая отставать от конкурентов, внедрила базовый функционал NFS сервера еще в Windows Server 2003 R2. В последующих версиях серверных платформ Microsoft возможности встроенного NFS Windows сервера расширялись, появлялся новый функционал и средства управления. NFS сервер в Windows Server 2012 – очередная веха в развитии данной технологии.

Что же нового предлагают нам разработчики Microsoft в данном продукте? Новые возможности NFS сервера в Windows Server 2012:

  1. Поддержка стандарта NFS v4.1 . Поддержка последней версии NFS 4.1 – одно из основных новшеств Windows Server 2012. По сравнению с NFS v3 этот протокол обеспечивает повышенную безопасность, производительность и совместимость, полностью реализуя все аспекты RFC 5661.
  2. Производительность «из коробки». Благодаря использованию новой транспортной инфраструктуры RPC-XDR, оптимальная производительность NFS сервера может быть достигнута сразу «из коробки» без необходимости тонкой настройки параметров системы. Оптимальная производительность достигается за счет автоматически настраивающегося кэша, разделения рабочих процессов на пулы и динамическое управление пулами, основанное на их нагрузке.
  3. Упрощенное развертывание и управление . Данный факт достигнут за счет:
    • — более 40 командлетов PowerShell для настройки сервера NFS и управления общими папками
    • — простого графического интерфейса управления, позволяющего одновременно управлять как SMB, так и NFS шарами, а также настройками скрининга файлов и .
    • — фиксации RPC порта (порт 2049) для простоты настройки файерволов
    • — нового провайдера WMI v2
    • — упрощенной идентификации за счет плоского файла мапинга
  4. Улучшения в NFSv3 . За счет быстрой отправки клиентам уведомлений о сбоях монитором NSM (Network Status Monitor), старые NFS клиенты лучше и быстрее обрабатывают процедуру failover, что означает меньшее время простоя.

Итак, NFS сервер в Windows Server 2012 значительно улучшен с точки зрения простоты развертывания, масштабируемость, стабильность, доступность, надежность, безопасности и совместимости. Общие папки могут быть одновременно доступны по протоколам SMB и NFS, что означает возможность использования Windows Server 2012 в качестве хранилища в гетерогенных сетях.

NFS сервер в Windows Server 2012 можно установить с помощью GUI и Powershell. Чтобы установить NFS сервер с помощью графического интерфейса, откройте и внутри роли файлового сервера (File and Storage Services) отметьте компонент Server for NFS .

После окончания установки компонента NFS, сервер необходимо перезагрузить.

Установка этой же роли с помощью Powershell также не вызывает затруднений, просто выполните команду:

Add-WindowsFeature "FS-NFS-Service"

Настройка общей папки NFS в Windows Server 2012

Далее мы покажем, как с помощью установленной нами роли создать NFS шару (общую папку) на сервере Windows. Создать NFS шару можно опять несколькими способами: с помощью графического интерфейса или Powershell.

Создание общего каталога NFS с помощью консоли Server Manager

Откройте консоль Server Manager , перейдите в раздел Share management (находится внутри роли File and Storage Services ).
В контекстном меню запустите мастер создания нового общего каталога- New Share…

Выберите тип шары NFS Share — Quick

Затем необходимо задать тип аутентификации NFS клиентов: возможно, задействовать как Kerberos- аутентификацию, так и анонимную.

Предположим, в качестве потребителя создаваемого NFS ресурса будет выступать сервер виртуализации ESXi, в котором возможность аутентифицировать NFS соединения отсутствует (ESXi не поддерживает NFSv4). Поэтому тип аутентификации будет No Server Authentication , отметим также опции Enable unmapped user access и Allow unmapped user access by UID/GID .

Чтобы немного обезопасить создаваемую NFS шару от доступа сторонних лиц, ограничим доступ к NFS ресурсу по IP адресу клиента.

Host: 192.168.1.100
Language Encoding : BIG5
Share Permissions : Read/Write
Allow root access : Yes

Далее осталось проверить, что на уровне NTFS пользователь, в которого мапится подключающийся юзер, имеет доступ на чтение/запись (если решено задействовать анонимный доступ, придется для пользователя Everyone дать полные r/w права на уровне NTFS).

Как создать NFS шару с помощью Powershell

Создадим новую NFS шару:

New-NfsShare -Name "NFS " -Path "d:\shares\nfr" -AllowRootAccess $true -Permission Readwrite -Authentication sys

Разрешим доступ к шаре для IP адреса 192.168.1.100 и зададим кодировку BIG5 (возможность просмотра содержимого NFS шары для клиента ESXi).

Grant-NfsSharePermission -Name “NFS” -ClientName 192.168.1.100 -ClientType host -LanguageEncoding BIG5

Созданную NFS шару можно использовать, например, как NFS-datastore в среде виртуализации , или для доступа к данным с других Unix-like клиентов. Как смонтировать NFS шару в Windows — клиентах описано в статье.

Когда речь идет о компьютерных сетях, зачастую можно услышать упоминание NFS. Что такое означает эта аббревиатура?

Это протокол распределенной файловой системы, первоначально разработанный компанией Sun Microsystems в 1984 году, позволяющий пользователю на клиентском компьютере получать доступ к файлам через сеть, подобно доступу к локальному хранилищу. NFS, как и многие другие протоколы, основывается на системе Open Network Computing Remote Procedure Call (ONC RPC).

Другими словами, что такое NFS? Это открытый стандарт, определенный в Request for Comments (RFC), позволяющий любому реализовать протокол.

Версии и вариации

Изобретатель использовал только первую версию для собственных экспериментальных целей. Когда команда разработчиков добавила существенные изменения в первоначальную NFS и выпустила ее за пределами авторства Sun, они обозначили новую версию как v2, чтобы можно было протестировать взаимодействие между дистрибутивами и создать резервный вариант.

NFS v2

Версия 2 первоначально работала только по протоколу User Datagram Protocol (UDP). Ее разработчики хотели сохранить серверную сторону без блокировки, реализованной за пределами основного протокола.

Интерфейс виртуальной файловой системы позволяет выполнять модульную реализацию, отраженную в простом протоколе. К февралю 1986 года были продемонстрированы решения для таких операционных систем, как System V release 2, DOS и VAX/VMS с использованием Eunice. NFS v2 позволял считывать только первые 2 ГБ файла из-за 32-разрядных ограничений.

NFS v3

Первое предложение по разработке NFS версии 3 в Sun Microsystems было озвучено вскоре после выпуска второго дистрибутива. Главной мотивацией была попытка смягчить проблему производительности синхронной записи. К июлю 1992 года практические доработки позволили решить многие недостатки NFS версии 2, оставив при этом лишь недостаточную поддержку файлов (64-разрядные размеры и смещения файлов).

  • поддержку 64-битных размеров и смещений файлов для обработки данных размером более 2 гигабайт (ГБ);
  • поддержку асинхронной записи на сервере для повышения производительности;
  • дополнительные атрибуты файлов во многих ответах, позволяющие избежать необходимости их повторного извлечения;
  • операцию READDIRPLUS для получения данных и атрибутов вместе с именами файлов при сканировании каталога;
  • многие другие улучшения.

Во время введения версии 3 поддержка TCP как протокола транспортного уровня начала увеличиваться. Использование TCP в качестве средства передачи данных, выполненного с использованием NFS через WAN, стало позволять передавать большие размеры файлов для просмотра и записи. Благодаря этому разработчики смогли преодолеть пределы ограничений в 8 КБ, налагаемые протоколом пользовательских дейтаграмм (UDP).

Что такое NFS v4?

Версия 4, разработанная под влиянием Эндрской файловой системы (AFS) и блока сообщений сервера (SMB, также называемая CIFS), включает в себя повышение производительности, обеспечивает лучшую безопасность и вводит протокол с соблюдением установленных условий.

Версия 4 стала первым дистрибутивом, разработанным в Целевой группе Internet Engineering Task Force (IETF) после того, как Sun Microsystems передала разработку протоколов сторонним специалистам.

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

Новейший протокол файловой системы - NFS 4.2 (RFC 7862) - был официально выпущен в ноябре 2016 года.

Другие расширения

С развитием стандарта появились и соответствующие инструменты для работы с ним. Так, WebNFS, расширение для версий 2 и 3, позволяет протоколу сетевого доступа к файловым системам легче интегрироваться в веб-браузеры и активировать работу через брандмауэры.

Различные протоколы сторонних групп стали также ассоциироваться с NFS. Из них наиболее известными выступают:

  • Network Lock Manager (NLM) с поддержкой протокола байтов (добавлен для поддержки API-блокировки файлов UNIX System V);
  • удаленной квоты (RQUOTAD), который позволяет пользователям NFS просматривать квоты на хранение данных на серверах NFS;
  • NFS через RDMA - адаптация NFS, которая использует дистанционный прямой доступ к памяти (RDMA) в качестве средства передачи;
  • NFS-Ganesha - сервер NFS, работающий в пользовательском пространстве и поддерживающий CephFS FSAL (уровень абстракции файловой системы) с использованием libcephfs.

Платформы

Network File System часто используется с операционными системами Unix (такими как Solaris, AIX, HP-UX), MacOS от Apple и Unix-подобными ОС (такими как Linux и FreeBSD).

Он также доступен для таких платформ, как Acorn RISC OS, OpenVMS, MS-DOS, Microsoft Windows, Novell NetWare и IBM AS/400.

Альтернативные протоколы удаленного доступа к файлам включают в себя блок сообщений сервера (SMB, также называемый CIFS), протокол передачи Apple (AFP), базовый протокол NetWare (NCP) и файловую систему сервера OS/400 (QFileSvr.400).

Это связано с требованиями NFS, которые ориентированы по большей части на Unix-подобные «оболочки».

При этом протоколы SMB и NetWare (NCP) применяются чаще, чем NFS, в системах под управлением Microsoft Windows. AFP наиболее широко распространен в платформах Apple Macintosh, а QFileSvr.400 наиболее часто встречается в OS/400.

Типичная реализация

Предполагая типичный сценарий в стиле Unix, в котором одному компьютеру (клиенту) нужен доступ к данным, хранящимся на другом (сервер NFS):

  • Сервер реализует процессы Network File System, запущенные по умолчанию как nfsd, чтобы сделать свои данные общедоступными для клиентов. Администратор сервера определяет, как экспортировать имена и параметры каталогов, обычно используя файл конфигурации/etc/exports и команду exportfs.
  • Администрирование безопасности сервера гарантирует, что он сможет распознавать и утверждать проверенного клиента. Конфигурация его сети гарантирует, что соответствующие клиенты могут вести переговоры с ним через любую систему брандмауэра.
  • Клиентская машина запрашивает доступ к экспортированным данным, как правило, путем выдачи соответствующей команды. Она запрашивает сервер (rpcbind), который использует порт NFS, и впоследствии подключается к нему.
  • Если все происходит без ошибок, пользователи на клиентской машине смогут просматривать и взаимодействовать с установленными файловыми системами на сервере в пределах разрешенных параметров.

Следует обратить внимание и на то, что автоматизация процесса Network File System также может иметь место - возможно, с использованием etc/fstab и/или иных подобных средств.

Развитие на сегодняшний день

К 21-му столетию протоколы-конкуренты DFS и AFS не достигли какого-либо крупного коммерческого успеха по сравнению с Network File System. Компания IBM, которая ранее приобрела все коммерческие права на вышеуказанные технологии, безвозмездно передала большую часть исходного кода AFS сообществу свободных разработчиков программного обеспечения в 2000 году. Проект Open AFS существует и в наши дни. В начале 2005 года IBM объявила о завершении продаж AFS и DFS.

В свою очередь, в январе 2010 года компания Panasas предложила NFS v 4.1 на основе технологии, позволяющей улучшить возможности параллельного доступа к данным. Протокол Network File System v 4.1 определяет метод разделения метаданных файловой системы из местоположения определенных файлов. Таким образом, он выходит за рамки простого разделения имен/данных.

Что такое NFS этой версии на практике? Вышеуказанная особенность отличает его от традиционного протокола, который содержит имена файлов и их данных под одной привязкой к серверу. При реализации Network File System v 4.1 некоторые файлы могут распределяться между многоузловыми серверами, однако участие клиента в разделении метаданных и данных ограничено.

При реализации четвертого дистрибутива протокола NFS-сервер представляет собой набор серверных ресурсов или компонентов; предполагается, что они контролируются сервером метаданных.

Клиент по-прежнему обращается к одному серверу метаданных для обхода или взаимодействия с пространством имен. Когда он перемещает файлы на сервер и с него, он может напрямую взаимодействовать с набором данных, принадлежащих группе NFS.



2024 wisemotors.ru. Как это работает. Железо. Майнинг. Криптовалюта.