ѕодписывайтесь на наш YouTube - канал :)

ћерион Ќетворкс

4 минуты чтени€

–ассказываем как быстро и просто подн€ть свой NFS сервер на Ubuntu Linux Server 14-04.1, а также разберЄмс€ с принципами работы протокола NFS и рассмотрим теорию.


“еори€

јббревиатура NFS расшифровываетс€ как Need for Speed - Network File System. Ёто протокол дл€ доступа к распределЄнным сетевым файловым системам, с помощью которого можно подмонтировать удалЄнные директории к своему серверу. Ёто позвол€ет использовать дисковое пространство другого сервера дл€ хранени€ файлов и регул€рно производить запись данных на него с нескольких серверов.

ѕротокол имеет клиент-серверную модель, то есть один сервер (ещЄ его называют УшараФ от слова share), с установленным пакетом NFS, будет обеспечивать доступ к своим каталогам и файлам, а клиентские компьютеры будут подключатьс€ к нему по сети. «акрепим прочитанное схемкой:

—хема работы NFS

ќбращени€ к серверу NFS осуществл€ютс€ в виде пакетов протокола RPC (Remote Call Procedure), который позвол€ет выполнить различные функции или процедуры в другом сетевом пространстве, то есть на удалЄнном сервере.

јвторизаци€ пользователей, которые подключаютс€ к серверу осуществл€етс€ по IP-адресу, а также по специальным идентификаторам пользовател€ UID и группы GID. Ёто не лучший способ относительно безопасности хранимых файлов, в сравнении с классической моделью Ђлогин/парольї. «ато, благодар€ такой архитектуре и тому, что NFS использовал протокол UDP без установлени€ сессии, он практически невосприимчив к сбо€м сети и самих клиентских компьютеров. “ак, при каком-либо сбое, передача файла просто приостановитс€, а когда св€зь будет налажена, то передача возобновитьс€ без необходимости какой-либо перенастройки.


Ќастройка

ƒумаю, с теорией пон€тно, так что давайте переходить к практике.  ак было сказано, все настройки будет проводить на Ubuntu 14.04.1

ѕрежде всего, на компьютер, который будет выступать в роли сервера NFS, нужно установить необходимые компоненты.

»так, скачиваем пакет nfs-kernel-server, с помощью которого мы сможем раздать доступ (УрасшаритьФ) директории. ƒл€ этого на будущем NFS сервере вводим команды:

sudo apt-get update
sudo apt-get install nfs-kernel-server

“еперь создаЄм собственно директорию к которой хотим раздать доступ. —тоит отметить, что можно также УрасшаритьФ уже имеющиес€ на сервере директории, но мы создадим новую:

sudo mkdir /var/nfs

ƒалее мы должны сделать так, чтобы владельцем директории /var/nfs и группе, к которой он принадлежит стали все пользователи в нашей системе. ƒл€ этого вводим на сервере команду:

sudo chown nobody:nogroup /var/nfs
¬водите эту команду только дл€ тех директорий, которые создали сами, не надо вводить еЄ дл€ уже имеющихс€ директорий, например /home .

—ледующим шагом необходимо изменить конфигурацию самого NFS, она лежит в файле /etc/exports, открываем его дл€ редактировани€ любимым редактором:

sudo nano /etc/exports

ѕеред вами откроетс€ конфигурационный файл с закомментированными строками, которые содержат примеры настройки дл€ разных версий NFS.

«акомментированные Ц это те, в начале которых стоит символ #, и это значит, что параметры, указанные в них, не имеют силы.
 онфигурационный файл NFS

Ќам необходимо внести в этот файл следующие не закомментированные строки:

/var/nfs    10.10.0.10/24(rw,sync,no_subtree_check)

√де:

  • /var/nfs - ƒиректори€, которую мы хотим расшарить
  • 10.10.0.10 - IP-адрес и маска клиентского компьютера, которому нужно раздать доступ к директории
  • rw - –азрешает клиенту читать (r) и записывать (w) файлы в директории
  • sync - Ётот параметр заставл€ет NFS записывать изменени€ на диск перед ответом клиенту.
  • no_subtree_check - ƒанна€ опци€ отключает проверку того, что пользователь обращаетс€ именно к файлу в определЄнном подкаталоге. ≈сли это проверка включена, то могут возникнуть проблемы, когда, например, название файла или подкаталога было изменено и пользователь попробует к ним обратитьс€.

ѕосле этого, нужно создать таблицу соответстви€ расшаренных директорий и клиентов, а затем запустить NFS сервис. ƒл€ этого вводим следующие команды:

sudo exportfs Цa
sudo service nfs-kernel-server start

ѕосле выполненных действий расшаренные директории должны стать доступными дл€ доступа с клиентов.


ѕолезна ли ¬ам эта стать€?


Ёти статьи могут быть вам интересны: