Андрей Смирнов
Время чтения: ~10 мин.
Просмотров: 31

Настраиваем NFS-сервер

Суть проблемы: в свое время компания Samsung стала выпускать телевизоры, поддерживающие разработанную ведущими производителями бытовой техники технологию DLNA, основанную на принципе «цифровой дом». Эта технология позволила интегрировать телевизоры в локальную домашнюю сеть, что дало возможность обмениваться медиа-контентом между телевизором и компьютером, и в частности, просматривать на ТВ фильмы, хранящиеся на компьютере по локальной сети или через WiFi. Однако мультимедийное решение, предложенное Самсунгом для реализации этой технологии, мягко говоря, оставляет желать лучшего. Так, фильмы просматриваемые по сети во встроенном в телевизор медиа-плеере, в большинстве случаев не перематываются. Кроме того во время просмотра фильмов по сети, в отличие от просмотра фильмов с флешки или переносного жесткого диска, подключенного к ТВ по USB-порту, не поддерживается функция беспрерывного воспроизведения (синяя кнопка на пульте). Наконец, сама необходимость каждый раз запускать на компьютере Samsung PC Share Manger и производить коррекцию после каждого удаления или добавления виде-файлов на диск, немного напрягает. Не только устранить существующие проблемы с просмотром фильмов на ТВ по локальной сети, но и увеличить скорость передачи данных (что может послужить немаловажным фактором во время просмотра больших фильмов в формате HD) поможет нам включение сетевого протокола NFS (Network File System). После того, как мы произведем необходимую установку и настройку NFS-сервера, наш компьютер будет восприниматься телевизором так, как если бы мы подключили переносной жесткий диск к ТВ через USB-порт (единственное отличие будет только в скорости обмена данными, которая определяется максимальной пропускной способностью вашей локальной сети или WiFi-соединения). NFS — это сетевой протокол, организованный по принципу «сервер — клиент». В роли сервера у нас будет компьютер, в роли клиента — телевизор. Включение поддержки NFS в телевизоре мы уже рассмотрели в предыдущем разделе во время настройки и установки в ТВ приложения SamyGO Auto. Если вы помните, то в настройках конфигуратора SamyGO Auto мы установили флажок напротив секции NFS и также прописали IP-адрес NFS-сервера (192.168.xxx.xxx), то есть адрес нашего компьютера: smayGO-nfs.jpg В этом разделе мы рассмотрим установку и настройку NFS-сервера на наш компьютер. В Интернете есть множество различных программ по установке и настройке NFS-сервера. Мы же воспользуемся приложением haneWIN NFS Server (оно является условно-бесплатным, и по истечении определенного срока требует регистрации серийного номера, но, как вы понимаете, в интернете всегда находятся умельцы, способные решить эту проблему). Итак, приступим:

  • скачиваем программу haneWIN NFS Server (генератор серийных номеров уже в архиве). Что бы скачать архив просто нажмите кнопку Download;
  • открываем скачанный архив, и запустив setup, производим установку (как для любой другой программы);
  • после установки программы на рабочем столе появится ярлык NFS Server, запустив который мы произведем необходимую настройку, но сперва не забудьте зарегистрировать серийный номер (кнопка Register);
  • далее выполняем основную настройку. Сначала на вкладке NFS убираем флажок напротив Version 2, затем меняем значение Number of UDP NFS Server Threads на 32, а Maximum NFS transfer size на 32768 (после внесения изменений не забудьте нажать кнопку Применить;

nfs-main.jpgдалее переходим на вкладку Server и устанавливаем кодировку UTF-8, также устанавливаем флажок напротив Reset inode-table…;nfs-server.jpg</li>переходим на вкладку Exports и нажимаем кнопку Edit exports file; nfs-exports.jpg</li>затем нужно отредактировать файл exports, с помощью которого мы откроем доступ телевизору к нужной папке с фильмами на компьютере (в нашем примере мы указываем, что папка на компьютере С:films будет открыта для доступа телевизору, 192.168.xxx.xxx — это IP адрес вашего телевизора в локальной сети, причем в медиа-плеере телевизора папка с фильмами будет отображаться под именем video); exports-edit.jpg Примечание: вы также можете открыть доступ телевизору к другим папкам и дискам компьютера, добавив соответствующую строку в файл exports (например, что бы открыть доступ ко всему диску D нужно добавить строку D: -name:D 192.168.xxx.xxx). </li>после редактирования, предварительно сохранив изменения, можете закрыть файл exports затем нажмите на кнопку Restart Server; nfs-restart.jpg</li>теперь можете закрыть приложение (нажав OK). На этом настройка NFS-сервера завершена. На всякий случай перезагрузите компьютер. После перезагрузки компьютера никаких действий больше производить не нужно — по идее, NFS-сервер должен стартовать автоматически в фоновом режиме каждый раз вместе с загрузкой Windows. </li></ul> Примечание: иногда брандмауэр Windows или встроенный в антивирус файрвол могут блокировать работу NFS-сервера. Что бы этого не происходило, в брандмауэре Windows (или если у вас стоит другой файрвол, то в нем) необходимо разрешить доступ в сеть двум приложениям: nfsd.exe и pmapd.exe (они находятся в папке установки сервера C:Program Filesnfsd). Наконец, включим телевизор и убедимся в том, что наш NFS-сервер работает. В предыдущем разделе, когда мы устанавливали программу SamyGO Auto в телевизор, мы указали в нем параметр для автозапуска. Следовательно, при включении ТВ, он должен автоматически обнаружить наш NFS (это происходит не сразу, а приблизительно через 20 секунд после включения ТВ). Итак, включаем ТВ, затем переходим в медиа-плеер и видим там новое устройство — NFS Server. media-play-nfs.jpg Если вы обратите внимание, то напротив NFS стоит значок USB-соединения. Это то, о чем мы ранее говорили, теперь ваш ТВ будет воспринимать компьютер как жесткий диск или флешку, подключенную по USB. Можете переходить в раздел Movie и наслаждаться просмотром фильмов по сети. Запускать Samsung PC Share Manger на компьютере вам больше не понадобиться. Просто добавьте фильм в папку с фильмами на компьютере, и он автоматически «подгрузится» в меди-плеер ТВ. В следующем разделе мы расскажем о том, как записывать передачи с ТВ на флешку или, раз уж теперь у нас есть NFS — то в папку с фильмами на компьютере. на главную || к следующему разделу >>

Привет! Наверное, ты уже читал статью «Основы NFS» и уже имеешь представление о «сетевой файловой системе», ее возможностях и степени защищенности. Однако в указанной статье все разбиралось в основном с точки зрения клиента… а вот как быть если тебе захотелось поиметь собственный NFS-сервер? (прим.: «поиметь» не значит «сломать», а значит «установить и настроить»).

Ну, а если желание такое у тебя появилось, то первый вопрос, который ты должен задать себе: «А нафига козе баян?». Ибо ставить NFS-сервер у себя дома довольно бессмысленно — никто не оценит, а вот если тебе посчастливилось админить в конторе «людей в черном», или в новомодной «ДОМашней сети» — тогда совсем другое дело…

Запустить сам сервер дело довольно нехитрое, если ты читал предыдущую статью, то вполне с этим справишься. Итак, тебе понадобятся следующие демоны:

  • nfsd — непосредственное обслуживание протокола NFS;
  • mountd — обслуживание операций монтирования;
  • rpc.portmap — демон портов RPC; нужен поскольку запросы к NFS-серверу передаются в виде пакетов RPC;

Как это сделать? Очень просто — сходи в файл «/etc/rc.d/rc.inet2» и раскомментируй соответствующие строки. Все можно считать, что первичный запуск произведен, немного сложнее будет все это настроить… Первое, что нужно решить — это кто и какие права имеет относительно той или иной информации. Это настраивается посредством файла «/etc/exports». Разрешения бывают «на чтение» и «на чтение и запись». Как это настраивается, описано в «Основах NFS».

Второе — это конечно же нагрузка на сервер, т.е. количество активных пользователей и их примерные запросы. Запросы к NFS-серверу обычно делят на два типа: первый — когда клиент работает с атрибутами, второй — когда клиент запрашивает непосредственно данные. Запросы первого типа — это поиск файла, считывание списка разрешений и т.д., конечно, ты понимаешь, что они слабо нагружают сеть. Запросы второго типа — это передача и прием от клиента непосредственно содержимого файлов; и именно здесь встает вопрос: «что и как часто будет передаваться?» Этот особенно актуален, если у тебя сеть в 10 Мбит/сек (ну проще говоря — стандартная российская сеть). Если ты знаешь, то 10 Мбит/сек — это чуть больше 1 Мбайта в секунду; естественно, если постоянно будут передаваться файлы размером в десятки мегабайт, то сеть попросту умрет. Если твоя ситуация именно такова, то тебе понадобится установит кэширование данных на клиентской машине (демон biod). Тогда, однажды затребовав какой либо файл и обратившись к нему повторно, клиент не будет «качать» его заново с сервера, а возьмет у себя из кэша; при этом будет регулярно проверяться не изменился ли файл на сервере, если же факт изменения будет выявлен, то файл в кэше будет заменен «свежей версией» (как ты понимаешь, проверка «изменился ли файл» — это запрос «по атрибутам», который зачастую в сотни раз меньше, чем сам файл).

Ну что ж: NFS-сервер мы запустили, разрешения на доступ определили, с нагрузкой разобрались… Теперь осталось забить винт необходимой инфой и пользоваться возможностями NFS на полную катушку…

Вместо заключения:

Если перед тобой стоит вопрос организации обмена данными в сети, то не раздумывая выбирай NFS — NFS на три головы выше головы выше, чем FTP и на голову выше виндовых «шаров», а в настройке не так уж и сложна…

Требуется подключить существующую папку /home и специально созданную папку /var/nfs с сервера к клиенту.

Установка пакетов

Прежде всего, требуется установить необходимые компоненты как на сервере, так и на клиентских компьютерах. На сервере вам потребуется установить пакет nfs-kernel-server , который позволит использовать совместный доступ к вашим каталогам.

sudo apt update  sudo apt install nfs-kernel-server

На клиентском компьютере вам потребуется установить пакет nfs-common.

sudo apt update  sudo apt install nfs-common

Создание общего каталога на сервере

Мы будем монтировать специально созданный на сервере каталог на клиентский компьютер. Создадим каталог nfs.

sudo mkdir /var/nfs

Назначим права:

sudo chown nobody:nogroup /var/nfs

Теперь отредактируем файл, отвечающий за совместное использование ресурсов NFS

sudo nano /etc/exports

Здесь нужно создать строку для каждого из каталогов, которые должны быть общими и указать с какими компьютерами мы разделяем ресурсы. В нашем примере IP-адрес клиента – 192.168.1.100, поэтому строки должны выглядеть примерно так:

/home 192.168.1.100(rw,sync,no_root_squash,no_subtree_check)  /var/nfs 192.168.1.100(rw,sync,no_subtree_check)

В случае если нужно раздать каталог на все компьютеры подсети вместо 192.168.1.100 нужно указать 192.168.1.0/24

Давайте разберем, что здесь написано.

rw: эта опция позволяет клиентскому компьютеру как читать, так и записывать в данный каталог.sync: заставляет NFS записывать изменения на диск перед ответом, что приводит к более стабильной и согласованной среде. Это связано прежде всего с тем, что ответ повторяет фактическое состояние удаленного тома.no_subtree_check: эта опция предотвращает проверку поддеревьев. Сервер при каждом запросе проверяет, действительно ли файл все еще доступен в экспортируемом дереве. Отключение проверки уменьшает безопасность, но увеличивает скорость передачи данных.no_root_squash: по умолчанию NFS переводит запросы от пользователя root на клиентском компьютере в непривилегированного на сервере. Это параметр безопасности который не позволяет учетной записи root на клиенте использовать файловую систему сервера в качестве root.

После того, как необходимые изменения внесены и сохранены, выполним команду:

sudo exportfs -a

и запустим службу NFS

sudo service nfs-kernel-server start

Данная команда сделает ваши ресурсы доступными для клиентов, которых вы настроили. Теперь перейдем к следующему шагу.

Создание точек монтирования и монтирование удаленных общих ресурсов на клиентском компьютере

Сперва создадим точки монтирования удаленных ресурсов.

sudo mkdir -p /mnt/nfs/home  sudo mkdir -p /mnt/nfs/var/nfs

Подключаем.

sudo mount 192.168.1.5:/home /mnt/nfs/home  sudo mount 192.168.1.5:/var/nfs /mnt/nfs/var/nfs

Автоматическое монтирование производится через fstab

sudo nano /etc/fstab

Допишем в конец файла

192.168.1.5:/home /mnt/nfs/home nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0  192.168.1.5:/var/nfs /mnt/nfs/var/nfs nfs auto,noatime,nolock,bg,nfsvers=4,sec=krb5p,intr,tcp,actimeo=1800 0 0

Если вам больше не требуется монтировать удаленный каталог в вашей системе, вы можете легко размонтировать его используя следующие команды:

sudo umount /mnt/nfs/home  sudo umount /mnt/nfs/var/nfs

NFS предлагает простой и быстрый механизм доступа к удаленным системам по сети. Однако протокол является не зашифрованным. Если вы намерены использовать это в производственной среде, рекомендуется рассмотреть возможность запуска NFS через SSH или VPN-соединение.

Как настроить сервер NFS и смонтировать общие ресурсы NFS в LinuxИспользуемые источники:

  • http://samsungtvupgrade.blogspot.com/2010/07/nfs.html
  • https://xakep.ru/2002/03/06/14667/
  • https://admin812.ru/kak-nastroit-server-nfs-i-smontirovat-obshhie-resursy-nfs-v-linux.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации