среда, 2 апреля 2014 г.

NFS локальной сети на Raspberry Pi

[пафос on]
Купили мы распберри, стоит в антресольке, время показывает,
анимированными обоями мерцает, коридор на камеру снимает...
Всё бы хорошо, да появилась у нас новая, быстрая (10 класс) SD карточка 32 гиговая, требующая заполнения.
Ну, а поскольку богомерзких систем мы не держим, то вполне хватит сервера NFS, благо описаний к нему пруд пруди.

Но, как всегда в процессе нашлись грабли, помочь обойти которые и призваны сии строки.
[пафос off]

Далее -- пара простых шагов для настройки общей папки в локальной сети с помощью Net File System.



0. Преднастройка Raspberry Pi. 

Далее, будем считать, что вся хардовая часть у нас есть и настроена. (Если это не так, то можно посмотреть, что же нужно, например, тут)
Образ операционной системы Raspbian (на основе Debian) легко добыть здесь здесь.
После распаковывания скачанного архива, нужно его скопировать побайтово командой
$ sudo dd if="что-то_мы_скачали_такое.img"  of="/dev/sdb",
причем с параметром of нужно быть трижды внимательно! Если укажете системный диск, dd послушно его затрет распберрёй. Параноики из линукс-формата предлагают проводить эту операцию из виртуальной системы.
Но более простой вариант такой: пишем в терминале dmesg | tail. Втыкаем SD-карточку, снова dmesg | tail и смотрим, какое блочное устройство-device появилось. Желающие могут повторить еще пару раз :-).

При первом старте появится настройка raspberry в которой надо не забыть расширить раздел на весь имеющийся диск, выбрав опцию
expand_rootfs.

Полученную карточку втыкаем в платку распберри, собираем все провода, засовываем всё это счастье куда подальше на положенное место.
Включаем, настраиваем роутер так, чтобы у pi был статический адрес (у меня 192.168.1.11) и в дальнейшем все манипуляции с ним происходят по ssh:
$ ssh pi@192.168.1.11

1. Настройка NFS сервера (Raspberry Pi)


Ставить пакеты лучше с обновленными репозитариями:
$ sudo aptitude update
$ sudo aptitude upgrade

Нужно нам будет всего ничего:
$ sudo aptitude install nfs-kernel-server nfs-common
И отредактировать файл /etc/export:
$ sudo nano /etc/export
добавив в конце слова
/home/pi/muzik 192.168.1.1/24(rw,async,no_subtree_check)
которые делают общей папку muzik, в локалной сети, доступную для чтения (rw, readonly - ro). Остальные два параметра нужны для ускорения работы в ущерб надежности (?).

Перезапускаем сервер

$ sudo /etc/init.d/nfs-kernel-server restart
И вот они, первые грабли (грабельки):
 [warn] Not starting: portmapper is not running ... (warning).
Помог перезапуск сервера rpcbind:
$ sudo /etc/init.d/rpcbind restart
$ sudo /etc/init.d/nfs-kernel-server restart

Проверяем серверную часть командами nfsstat и showmount :
$ showmount -e 192.168.1.11
Export list for 192.168.1.11:
/home/pi/muzik *
Всё норм! Идём на клиент.



2. Настройка NFS клиента (Debian 7.0)

Убедимся, что  пакет NFS установлен:
$ sudo aptitude install nfs-common
Тут  всё просто -- создаем в /media (чтобы наутилус/немо/дельфин увидел) папочку для монтирования шары:
$ sudo mkdir /media/sharedmusic
И прописываем соответствующую строку в fstab
$ sudo nano /etc/fstab
добавляем одну строку
192.168.1.11:/home/pi/muzik /media/sharedmusic nfs rsize=8192,wsize=8192,timeo=14,intr,user,noauto

Всё, пробуем подключиться mount /media/sharedmusic, а затем делаем то же самое в любимом файловом менеджере:



Вторые грабельки заключались в том, что при обычной проверке
с помощью sudo mount -t nfs 192.168.1.11:/home/pi/muzik /media/sharedmusic возникала малопонятная ошибка "mount.nfs: access denied by server while mounting". Но при подключении через fstab все отлично!

Осталось настроить mpd и играть всем этим из телевизора в коридоре, почесывая своё ЧСВ, но это уже совсем другая история...


References

http://debian-help.ru/articles/nastroika-nfs-servera-debian/
http://www.raspberrypi.org/forums/viewtopic.php?t=14500
http://www.cyberciti.biz/faq/how-to-ubuntu-nfs-server-configuration-howto/
http://www.linux.org.ru/forum/admin/4826738

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

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