пятница, 15 октября 2010 г.

NFS: Общие папки в Linux

Расшарили Интернет на два компьютера при помощи cross-over кабеля и двух сетевых карт на моем компьютере (об этом — отдельная песня, чуть позже). Встал вопрос об общей папке и решение было подсказано там же, где мне терпеливо давали советы о настройке сети — на русскоязычном Ubuntu форуме. Три буквы : NFS.

Network File System то есть. Это протокол сетевого доступа к файловым системам. То есть после того, как мы настроим всё что нужно, сетевые папки можно будет примонтировать и отмонтировать при помощи команды mount. Одной из основных идей разработчиков NFS была идея создать платформонезависимый протокол, аппаратнонезависимый и идея о том, что производительность должна быть сравнима с производительностью локальных дисков. Об этом я узнал в статье на Wikipedia и любителям историй предлагаю направиться туда за продолжением — там и ссылки на соответствующие RFC имеются : )

Важно отметить, что у нас сейчас две Linux машины, на моей — Ubuntu 9.10, на второй — XUbuntu с теми же циферками.

Настроилось всё очень быстро, благодаря вот этому руководству.

Выберите компьютер, где у вас побольше свободного дискового пространства — он у нас будет "сервером".

sudo apt-get install nfs-kernel-server nfs-common portmap
Это мы устанавливаем необходимые пакеты. Собственно сам nfs и portmap, который "является сервером, который преобразует программные номера RPC в номера портов протокола DARPA. Он обслуживает все обращения к RPC.", как подсказал мне Интернет. Мне, правда от этой подсказки легче понять, что именно делает portmap на данный момент не стало, но, надеюсь, настанет день, когда я смогу объяснить это предложение простыми словами : )
sudo dpkg-reconfigure portmap
sudo /etc/init.d/portmap restart
Запускаем настройку portmap.
Обратите внимание, конфигуратор задаст вам один вопрос — на него надо ответить "НЕТ" : )
После настройки перезапускаем portmap.
sudo vi /etc/exports
Открываем файл /etc/exports, куда мы сможем прописать адреса тех папок, которые мы хотим сделать общими по сети. Например, так, как у меня:
/common 192.168.0.1/24(rw,no_root_squash,async,no_subtree_check)
192.168.0.1 — внутреннего IP моего компьютера-"сервера".
Сохраняем этот файл, перезапускаем сервер NFS:
sudo /etc/init.d/nfs-kernel-server restart
Применяем настройки:
sudo exportfs -a
Настраиваем доступ на втором компьютере:

Устанавливаем необходимые пакеты:
sudo apt-get install portmap nfs-common
Создаем папку, в которую будем монтировать удаленную папку. Удобно, чтобы не путаться, положить её там же, где и на компьютере-"сервере".
cd /
sudo mkdir common
Монтируем удаленную папку:
sudo mount 192.168.0.1:/common /common
Чтобы удаленная папка монтировалась автоматически после перезагрузки компьютера, нужно дописать в файл /etc/fstab вот такую строку:
192.168.0.1:/common /common nfs rsize=8192,wsize=8192,timeo=14,intr
Теперь всё должно заработать : )

Комментариев нет:

Отправить комментарий