AllInfo
Main: Info Blog Temp Mail


unix 2012-03-10 07-47-58

Установка и настройка NFS сервера и NFS клиента

Вот настроили вы у себя на сервере Deluge для работы с torrent сетями, а что дальше? Как посмотреть фильмы и прослушать музыкальные файлы, которые скачались? Неужели нужно записывать их на диски и переносить их таким образом на компьютер с GUI? Или придётся копировать их по медленному SFTP? Нет! На помощь приходит NFS! Нет, это не серия гоночных игр, а Network File System (Сетевая Файловая Система).
Network File System (NFS) — это сетевая файловая система, позволяющая пользователям обращаться к файлам и каталогам, расположенным на удалённых компьютерах, как если бы эти файлы и каталоги были локальными. Главным преимуществом такой системы является то, что отдельно взятые рабочие станции могут использовать меньше собственного дискового пространства, так как совместно используемые данные хранятся на отдельной машине и доступны для других машин в сети. NFS — это клиент-серверное приложение. То есть в системе пользователя должен быть установлен NFS-клиент, а на компьютерах, которые предоставляют свое дисковое пространство — NFS-сервер.

Установка и настройка NFS-сервера (192.168.1.2)

1. Устанавливаем. Соединившись по SSH с компьютером сервером или же просто в его консоли вводим:

view sourceprint?
1.
sudo apt-get install nfs-kernel-server nfs-common portmap
Это установит NFS-сервер, а также необходимый пакет portmap.

2. Настраиваем. Для настройки списка дирректорий которые мы хотим открыть и списка кому мы хотим их открыть отредактируем файл /etc/exports:

view sourceprint?
1.
sudo nano /etc/exports
view sourceprint?
1.
/data 192.168.1.1/24(rw,no_root_squash,async)
В указанном выше примере мы открыли на сервере директорию /data и её поддиректории в совместное пользование всем компьютерам с IP: 192.168.1.1 — 192.168.1.255 с правами чтения и записи.

Ещё пример:

view sourceprint?
1.
/home/serg/ 192.168.1.34(ro,async)
Этот пример делает доступной домашнюю директорию пользователя serg в режиме только чтение для компьютера с IP 192.168.1.34. Все остальные компьютеры сети к этой директории доступа иметь не будут.

Доступные опции:

ro — права только на чтение. Можно и не указывать, так как она установлена по умолчанию;
rw — дает клиентам право на запись;
no_root_squash — по-умолчанию пользователь root на клиентской машине не будет иметь доступа к открытым директориям на сервере. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;
noaccess — запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.
Теперь нужно перезапустить nfs-kernel-server:

view sourceprint?
1.
sudo /etc/init.d/nfs-kernel-server restart
Если после этого вы захотите поменять что-нибудь в файле /etc/exports, то для того, чтобы изменения вступили в силу, достаточно выполнить следующую команду:

view sourceprint?
1.
sudo exportfs -a
Всё. NFS-сервер установлен и настроен. Можно переходить к NFS клиенту.

Установка и настройка NFS-клиент

1. Установка. Выполняем в терминале компьютера, который будет подключаться следующее:

view sourceprint?
1.
sudo apt-get install portmap nfs-common
2. Настройка. Для начала создадим директорию в которую будет монтироваться удалённая папка:

view sourceprint?
1.
cd ~
2.
mkdir data
Монтировать можно двумя способами — каждый раз вручную или прописав опции монтирования в файл /etc/fstab.

Способ 1. Монтирование вручную
Создаём на рабочем столе или в какой-либо другой папке текстовый файл:

view sourceprint?
1.
nano ~/Рабочий\ стол/nfs-server-connect
Пишем в него:

view sourceprint?
1.
#! /bin/bash
2.
sudo mount -t nfs -o ro,soft,intr 192.168.1.2:/data ~/data
Внимание! Вместо 192.168.1.2:/data впишите IP или имя сервера и путь к директории совместного пользования. Опции монтирования можно изменить.

Делаем его исполняемым:

view sourceprint?
1.
chmod +x ~/Рабочий\ стол/nfs-server-connect
Теперь когда необходимо присоединиться к серверу я выполняю этот сценарий в терминале для того чтобы можно было ввести пароль для sudo.

Способ 2. Добавление в /etc/fstab
Открываем /etc/fstab:

view sourceprint?
1.
sudo nano /etc/fstab
И дописываем строчку в конце файла:

view sourceprint?
1.
192.168.1.2:/data ~/data nfs rw,hard,intr 0 0
Внимание! Вместо 192.168.1.2:/data впишите IP или имя сервера и путь к директории совместного пользования. Опции монтирования можно изменить.

Опция hard жёстко привязывает дирректорию на клиенте к серверу и если сервер отвалится, то может зависнуть и ваш компьютер. Опция soft, как понятно из её названия, не такая категоричная.

После сохранения файла можно монтировать удалённую папку:

view sourceprint?
1.
sudo mount ~/data
Если все прошло успешно, то набрав в терминале:

view sourceprint?
1.
cd ~/data
2.
ls -la
вы увидите содержимое папки /data, находящейся на NFS-сервере. Можете проверить скорость работы и запустить, например, фильм с этого раздела.

3.145.105.199 / 2024-12-22_20-31-01 UTC.