Как подключить NFS в PuppyRus

Network File System (NFS) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур (ONC RPC, Open Network Computing Remote Procedure Call, RFC 1057, RFC 1831). Позволяет подключать (монтировать) удалённые файловые системы через сеть, описан в RFC 1094, RFC 1813, RFC 3530 и RFC 5661.

NFS абстрагирована от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различных операционных систем и аппаратных архитектур. В настоящее время (2007) используется наиболее зрелая версия NFS v.4 (RFC 3010), поддерживающая различные средства аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC_GSS) и списков контроля доступа (как POSIX, так и Windows-типов).

ru.wikipedia.org, NFS

Из описания понятно: чтобы включить NFS, необходимо настроить её на сервере — это компьютер, который будет раздавать файлы, и на клиентах — это компьютеры, которым нужен доступ к файлам на сервере.

Компьютерами-клиентами могут быть множество машин, как в локальной, так и во внешней сети.

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

Для начала необходимо, чтобы в вашей локальной сети находился сервер, который содержит ресурсы и может их раздавать.

Что это значит?

Например, если на компьютере, где есть ресурсы, установлена Windows, то NFS вам не подходит, используйте SAMBA.

Раздавать ресурсы по протоколу NFS может компьютер под управлением ОС Linux (FreeBSD, Solaris, и.т.п)

Мы будем рассматривать случай, когда у вас в сети есть компьютер с установленной Ubuntu (7.10, 8.04 или др.). Он и будет служить сервером.

Первое, что нужно сделать — это настроить раздачу нужного ресурса с сервера.

  1. Проверить, установлены ли на сервере пакеты nfs-common, nfs-kernel-server, portmap. Ели нет — установить либо через Synaptic, либо из терминала, написав в командной строке:
    sudo apt-get install nfs-common nfs-kernel-server portmap
  2. На сервере в файле /etc/exports сделать запись следующего содержания:
    /media/music/mp3 192.168.0.0/255.255.255.0(rw,sync)

    Этим мы сообщаем службе NFS, что мы хотим, чтобы папка /media/music/mp3 была доступна по протоколу NFS для всех компьютеров сети 192.168.0.0/255.255.255.0.
    Вы можете указать как диапазон компьютеров, так и отдельный адрес, например 192.168.0.1.

    • rw — позволить чтение и запись этого nfs-ресурса;
    • sync — отвечать на следующий запрос только после того, как предыдущий будет записан на диск (более надёжно в случае любых сбоев)
      На самом деле, опций существует намного больше, чем здесь приведено, и их можно поизучать, введя команду man exports, но на практике, для домашнего использования вышеприведенных двух опций вполне хватает.
  3. Перезагружаем сервер.
  4. Проверяем, запустилась ли служба NFS:
    команда exportfs в терминале должна вывести следующее:
    /media/music/mp3 192.168.0.0/255.255.255.0

Второе действие — это настроить NFS на компьютере-клиенте.

Как оказалось, при сборке Puppy её создатель Barry Kauler то-ли забыл, то-ли намеренно не снабдил систему модулями, необходимыми для того, чтобы компьютер мог подключать ресурсы по NFS, поэтому первое, что нужно сделать — скачать и установить пакет с «забытыми» модулями.

Перезагружать компьютер необходимости нет.

При установке, пакет записывает пример в файл /etc/rc.d/rc.local — вам остается только отредактировать эту запись, чтобы она соответствовала вашим параметрам, создать папку, куда будет монтироваться удаленная папка по протоколу NFS и убрать комментарий в начале строки.

К примеру, ваш сервер в локальной сети имеет адрес 192.168.0.1

Создаете папку где вам хочется, чтобы появлялись файлы с сервера, допустим, создадим /mnt/mp3

Тогда эта запись в файле /etc/rc.d/rc.local в нашем случае должна выглядеть так:

mount-FULL -t nfs -o rw,nolock 192.168.0.1:/media/music/mp3 /mnt/mp3

Опции достаточно очевидны:

  • -t nfs=тип файловой системы,
  • rw=read/write,
  • nolock=no file lock.

Иногда способ запуска NFS через файл /etc/rc.d/rc.local не срабатывает — не знаю почему. Тогда это обходится путем помещения этой же строки в файл /root/.xinitrc почти в самом конце файла перед строками запуска оконного менеджера:

/usr/X11R7/bin/numlockx on
mount-FULL -t nfs -o rw,nolock 192.168.0.1:/media/music/mp3 /mnt/mp3     <<<======
'#exec $CURRENTWM'
'#v2.11 GuestToo suggested this improvement...'
[ "`readlink /usr/X11R7/bin/X`" = "Xvesa" ] && /usr/local/apps/XkbConfigurationManager/XkbApplyNow &
which $CURRENTWM && exec $CURRENTWM
[ -x $CURRENTWM ] && exec $CURRENTWM
exec jwm
'###END###'

Или в последней версии PuppyRus-1.20U-Lite-M: написать малюсенький скрипт из одной строки и положить его в папку /root/Startup.

Перезагружаем PuppyRus и наслаждаемся NFS — у вас появилась локальная папка, в которой вы находите файлы с удаленного компьютера!

 
articles/howto-nfs.txt · Последние изменения: 01.03.2016 в 18:18 (внешнее изменение)
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki