Для чего мне это нужно, в моем распоряжении довольно значительный парк серверов с операционной системой Ubuntu и чтобы все файлы/каталоги были под рукой и является основой написания заметки, как настроить сетевую файловую систему (NFS – Network File System). Чтобы пользоваться данной сетевой файловой системой на компьютерах должен быть установлен NFS-клиент. В данной заметке я покажу, как настроить серверную часть. И так поехали:

Информация по текущей системе на которой будет производить настройку:

ekzorchik@ekv:~$ uname -a && lsb_release -a

Linux ekv 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 10.10

Release: 10.10

Codename: maverick

 

Текущий IP адрес нашего сервера:

ekzorchik@vekz:~$ ifconfig eth0 | grep -E “inet addr”

inet addr:192.168.1.35 Bcast:192.168.1.255 Mask:255.255.255.0

 

Устанавливаем необходимые приложения через репозитарии:

ekzorchik@vekz:~$ apt-cache search nfs-kernel-server

nfs-kernel-server – поддержка для сервера NFS на уровне ядра

ekzorchik@vekz:~$ apt-cache search nfs-common

nfs-common – общие для клиента и сервера файлы поддержки NFS

ekzorchik@vekz:~$ apt-cache search portmap

remotetea – Sun ONC/RPC support for Java

rpcbind – converts RPC program numbers into universal addresses

portmap – механизм отображения портов для удалённого вызова процедур (RPC)

ekzorchik@ekv:~$ sudo apt-get install nfs-kernel-server nfs-common portmap

[sudo] password for ekzorchik:

Чтение списков пакетов… Готово

Построение дерева зависимостей

Чтение информации о состоянии… Готово

Будут установлены следующие дополнительные пакеты:

libgssglue1 libnfsidmap2 librpcsecgss3

НОВЫЕ пакеты, которые будут установлены:

libgssglue1 libnfsidmap2 librpcsecgss3 nfs-common nfs-kernel-server portmap

обновлено 0, установлено 6 новых пакетов, для удаления отмечено 0 пакетов, и 384 пакетов не обновлено.

Необходимо скачать 514kБ архивов.

После данной операции, объём занятого дискового пространства возрастёт на 1 589kB.

Хотите продолжить [Д/н]? y

добавляется системный пользователь `statd’ (UID 115) …

Добавляется новый пользователь `statd’ (UID 115) в группу `nogroup’ …

Не создаётся домашний каталог `/var/lib/nfs’.

statd start/running, process 2369

gssd stop/pre-start, process 2392

idmapd stop/pre-start, process 2418

Настраивается пакет nfs-kernel-server (1:1.2.2-1ubuntu1.2) …

Creating config file /etc/exports with new version

Creating config file /etc/default/nfs-kernel-server with new version

* Exporting directories for NFS kernel daemon… [ OK ]

* Starting NFS kernel daemon [ OK ]

Обрабатываются триггеры для libc-bin …

ldconfig deferred processing now taking place

 

Т.к. Установка прошла успешно, займёмся настройкой. Для начала создадим директорию которая будет видна всем: (можно расположить на выделенном диске подключённом к системе резервного копирования)

ekzorchik@vekz:~$ sudo mkdir /nfs

 

Все настройки хранятся в файле – /etc/exports:

ekzorchik@vekz:~$ sudo nano /etc/exports

Поясню, как надо его правильно заполнять, сперва указываем директорию которая будет видна всем, дальше нажимаем клавишу “Tab” и указываем маску и подсеть.

/nfs 192.168.1.0/24(rw,no_root_squash,async)

Чтобы расчитать маску и подсеть, воспользуемся утилитой рассматриваемой ранее в заметках на блоге (www.ekzorchik.ru):

ekzorchik@vekz:~$ sudo apt-get install ipcalc

ekzorchik@vekz:~$ ipcalc -c 192.168.1.35 | grep -E “Network:”

Network: 192.168.1.0/24 11000000.10101000.00000001. 00000000 – маску получили для текущего IP адреса установленного для этой системы.

, что означает выставленные мною параметры в круглых скобках:

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

no_root_squash: – позволяет пользователю root иметь доступ к примонтированному тому NFS.

async: Асинхронная обработка всех запросов на запись (отложенная запись); при наличии этой опции повышается производительность операций записи, равно как повышается вероятность потери данных в случае краха сервера

Перезагружаем NFS сервер чтобы изменения вступили в силу:

ekzorchik@vekz:~$ sudo /etc/init.d/nfs-kernel-server restart

* Stopping NFS kernel daemon [ OK ]

* Unexporting directories for NFS kernel daemon... [ OK ]

* Exporting directories for NFS kernel daemon... exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.1.0/24:/nfs".

Assuming default behaviour ('no_subtree_check').

NOTE: this default has changed since nfs-utils version 1.0.x

[ OK ]

* Starting NFS kernel daemon [ OK ]

можно также использовать команду:
ekzorchik@vekz:~$ sudo exportfs -a

exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.1.0/24:/nfs".

Assuming default behaviour ('no_subtree_check').

NOTE: this default has changed since nfs-utils version 1.0.x

Вот собственно и всё, nfs-том установлен на сервере. Как ведите ничего сложного нет.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru