LINUX.ORG.RU
ФорумAdmin

File sharing для домашней сети

 , , ,


1

2

Есть домашняя сеть с выделенным сервером, который служит гейтвеем в инет, на котором крутится торрентокачалка, фаервол, и файлопомойка. И сервер, и все клиенты под линуксом. Сервер не работает постоянно — если на локальном интерфейсе нет входящих пакетов в течение 3 минут, сервер засыпает. Клиенты при старте будят сервер через wake-on-lan, и в последствии раз в минуту пингуют его на всякий случай, чтоб не уснул. Схема работает неплохо: проснувшийся клиент будит сервер, и через считанные секунды на клиенте есть инет.

Но: Сервер шарит файлопомойку по нфс. Клиенты монтируют помойку используя autofs (automount). Проблема в том, что после длительной спячки нфс на клиенте **очень** *долго* расчухивается. Иногда быстрее ребутнуть клиента чем ждать пока нфс очнётся.

Вопросы: Можно ли как-нить настроить нфс (сервер? клиент?) чтоб избежать длительных зависаний? Куда копать? Есть ли альтернативы?

★★★★★

Перемонтировать сетевой ресурс скриптом со значка на десктопе. А зачем сервер спать отправляете? Экономия электроэнергии?

CeMKa
()
Ответ на: комментарий от CeMKa

Перемонтировать сетевой ресурс скриптом со значка на десктопе.

Это как? umount/mount или autofs restrat? Не вариант. Во-первых, если высит nfs, то повисает и umount. Во-вторых, одна из систем — медиацентр с xbmc/kodi, там десктопа не видно да и запускать скрипт некому.

А зачем сервер спать отправляете? Экономия электроэнергии?

Не вижу смысла держать его включенным круглосуточно. Во-первых, энергия. Во-вторых, шум. В-третьих, пыль — в работающем компе работают и вентиляторы, забивая радиаторы пылью. Чем больше работает, тем чаще чистить. В-четвёртых, ресурс винчестеров. Я раздаю раз в десять больше чем скачиваю и поэтому не считаю себя обязанным стоять на раздаче круглосуточно. Старые винчестеры я использую для бэкапов (подключая их нелету через esata), поэтому в моих интересах не запиливать винты до смерти.

Вот, как-то так.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

попробуй задать таймайт меньше чем на сервере. Я у себя заметил, если я выключаю сервер раньше чем компьютер, то потом комп не может нормально выключится (не может нормально отмонтировать nfs). так примерно в /etc/autofs/auto.master:

/media/net      /etc/autofs/auto.net      --timeout=60
kontranik
()
Ответ на: комментарий от debugger

из шума и моего сервера только треск жестяка, которому уже 10 лет пыль - есть специальные фильтры ну или переходи на пассив, вообще круто будет а ресурс винчестеров очень большой, на всякий можно замутить RAID

mystery ★★
()
Ответ на: комментарий от mystery

из шума и моего сервера только треск жестяка, которому уже 10 лет пыль - есть специальные фильтры ну или переходи на пассив, вообще круто будет а ресурс винчестеров очень большой, на всякий можно замутить RAID

Спасибо, ваш звонок очень важен для нас. Оставайтесь на линии.

debugger ★★★★★
() автор топика
Ответ на: комментарий от mystery

Ну пасиб что не обиделся.

А если серьёзно — то я собрал сервак на куске фанеры из дармовой мамы, проца и памяти, покупать пришлось только блок питания, винчестеры и пару алюминиевых полосок (плюс небольшая работа ножовкой, дрелью и напильником). Выглядит кульно, повесил его на стену как картину, менять не хочу. Фильтры там ставить некуда, а винтов там 5 (пять) штук. Шумит не сильно, но это только одна из причин, всё равно не хочу держать его постоянно включенным.

Если есть соображения по теме: как зашарить файлопомойку чтоб работала без длительных зависаний в описанных условиях (все спят, потом просыпается клиент и будит сервер) — велкам!

debugger ★★★★★
() автор топика
Ответ на: комментарий от kontranik

Пасиб, попробую. Только не совсем понял: 60 — это таймаут аутофс, причём это таймаут монтирования:

Sets the default mount timeout in seconds. The internal program default is 10 minutes, but the default installed configuration overrides this and sets the timeout to 5 minutes to be consistent with earlier autofs releases.

Не уверен, что это поможет в моей ситуации. И, кстати, «меньше чем на сервере» — а на сервере таймаут чего ставить? В /etc/exports никаких таймаутов вроде не задаётся, у nfsd из временных параметров только lease time и grace time.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Поставил пока в /etc/nfsmount.conf:

Retrans=1  
Timeo=50  # вместо 600

Посмотрю как пойдёт.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

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

А под «timeout» у сервера я имел ввиду время его отключения в сон, то-есть твои 3 минуты.

kontranik
()
Ответ на: комментарий от kontranik

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

Почему ты считаешь что аутофсный таймаут может помочь? Смотри, последовательность такая:

Например, я закончил смотреть фильм, и отправил клиента спать, не закрывая медиацентра. Я не знаю, держит ли медиацентр файлы открытыми, но аутофсный таймаут ещё не вышел, когда клиент уснул. Проходит некоторое время, я вывожу комп с медиацентром из спячки, он просыпается, но при обращении к файлопомойке подвисает — нфсная шара не была отмонтирована — и висит очень долго. dmesg на клиенте полон записей

[20858.016024] nfs: server plywood not responding, timed out

периодически проскакивают

[21022.772023] nfs: server plywood not responding, still trying

Сервак в это время работает, на нём в логах ничего подозрительного не видно. Клиент висит 913 секунд, потом прочухивается:

[21771.745495] nfs: server plywood OK

Далее всё работает отлично. Как бы уменьшить время подвисания клиента раз в сто?

Кстати, файерволл может влиять? iptables на сервере пропускает новые входящие соединения из локальной сети, так же пропускает established, related. Не может ли быть такого, что из-за долгой спячки клиента iptables про это соединение позабыл, и дропает его как некорректное?

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

я как раз наоборот понял, что у тебя сервер засыпает.

Гугл советует еще опции для autofs: bg,intr,hard

Mount the NFS-share on the clients using the mount-options «bg,intr,hard».

«bg» for background - which tells the system not to block when the server is not available.

«intr» for interrruptable - so you can kill hanging mounts on the client with the kill command.

«hard» is the opposite of «soft». The difference is that «hard» will keep trying endlessly while «soft» will exponentially back off its retries when the server is not available.

kontranik
()
Ответ на: комментарий от kontranik

В гугле часто попадается устаревшая инфа. man ntfs:

intr / nointr This option is provided for backward compatibility. It is ignored after kernel 2.6.25.

intr вообще игнорируется.

soft / hard … If neither option is specified (or if the hard option is specified), NFS requests are retried indefinitely.

hard — дефолт.

bg / fg Determines how the mount(8) command behaves if an attempt to mount an export fails.

Хз. Похоже, влияет только на сам маунт.

debugger ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.