<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_1_thread_39126"  />
<title>rulinux.net - Форум - General - Шара с отложенным монтированием - как?</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - General - Шара с отложенным монтированием - как?</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168407</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168407</guid>
<pubDate>Wed, 27 Mar 2013 20:09:09 +0400</pubDate>
<description><![CDATA[<p>Монтирование и размонтирование по таймауту делает специальный демон же. Проверенный годами эксплуатации и с кучей пофикшеных багов демон. Винты - дело тонкое, так что хочется свести своё участие к минимуму, к написанию как можно более простых и верифицируемых скриптов.
<br><br>
&gt; PS: а как ты будешь врубать питание нужных дисков?
<br><br>
Тупо релюхами, наверное. Все через один USB-хаб поскольку вряд ли больше одного диска за раз будет данные качать. Хотя, конечно, хотелось бы NAS, который умел бы гигабитку и впадать в WOL. С релюхами-то всё равно остаются неиллюзорные шансы запороть данные. Но NAS - дороговато для фильмов-фоточек всяких.</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168406</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168406</guid>
<pubDate>Wed, 27 Mar 2013 19:45:14 +0400</pubDate>
<description><![CDATA[<p>Сделай проще: отмонтируй все неиспользуемые ФС umount-ом в кроне, но при этом веди статистику - если ФС не замонтирована в течение N минут подряд =&gt; вырубаем питание. Тогда все эти пограничные состояния не будут сказываться на ресурсе диска: не будет ситуации постоянного включения-выключения диска если кто-то что-то закешировал и полез через минуту за очередной порцией данных.<br><br>PS: а как ты будешь врубать питание нужных дисков?</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168404</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168404</guid>
<pubDate>Wed, 27 Mar 2013 18:37:06 +0400</pubDate>
<description><![CDATA[<p>Минуточку.
<br>
Список файловых систем, которые можно подключить, у нас известен заранее (иначе автомаунту потребовалась бы некоторая доля телепатии). При этом каждая точка монтирования == отдельная файловая система или сетевая шара. Ну и какому накопителю принадлежит тот или иной раздел мы тоже знаем заранее.
<br><br>
Если накопитель включен - его разделы будут видны в /dev
<br><br>
Каждая точка монтирования/ФС может находиться в одном из 4х состояний:
<br>
1. Накопитель выключен (нет устройства в /dev)
<br>
2. Накопитель включен, ФС в процессе монтирования (см комментарий внизу)
<br>
3. ФС примонтирована (парсим /etc/mtab чтобы узнать)
<br>
4. ФС отмонтирована (парсим /etc/mtab и проверяем не п.2. ли это)
<br>
<br>
Т.е. задача скрипта, занимающегося по крону выключением лишнего оборудования - пройти по списку известных ФС, найти включенные накопители, которым не принадлежат смонтированные или монтирующиеся ФС и выключить их.
<br>
<br>
Для определения состояния (2) скрипт, генерящий маппинг для автомаунта, должен делать touch какого-нибудь файлика, скажем с именем эквивалентным GUID монтируемого раздела или имени шары и по возрасту этого файла можно определять состояние: если файлик старше некоего таймаута и система не смонтирована - значит статус системы=2, при том таймаут может быть достаточно большим, вплоть до таймаута размонтирования автомаунта для этого маунта.
<br>
<br>
Единственное в чём нужно быть при этом уверенным - это что скрипт знает о какой файловой системе идёт речь. В принципе точка монтирования передаётся в скрипт параметром, так что это тоже несложно сделать.
<br>
<br>
Надо будет попробовать на выходных смоделировать такую фигню. 
<br>
<br>
P.S.
<br>
При шатдауне и старте системы надо не забыть гасить накопители, а так же при отсутствии питания на USB в случае вырубания компа, но последнее уже в железке.
<br>
<br>
P.P.S.
<br>
Нигде не нашёл могут ли два мап-скрипта выполняться одновременно, наверное надо как-то сериализовать запуск этих скриптов, через лок-файлы например..</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168401</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168401</guid>
<pubDate>Wed, 27 Mar 2013 14:20:27 +0400</pubDate>
<description><![CDATA[<p><i>>Можно, в принципе, соорудить костыль - отмонтировать силами autofs, без сторонних средств, а вот выключение дисков делать отдельным скриптом. Например, хранить в файле список точек и их состояние (вкл/выкл), и раз в минуту по крону проверять, какие точки не примонтированы и какие не выключены. Соответственно, отмонтированные и включенные выключать.</i><br> Хотя нет, плохое решение. Если по каким-то ужасным причинам диск успеет примонтироваться и отмонтироваться между запусками этого скрипта, то скрипт будет продолжать видеть его как отмонтированный и выключенный, а он таки включён. Ситуация маловероятная, но всякое бывает.<br><br>Наверное вариант с inotify будет правильнее концептуально.<br><br>UPD: туплю, можно же в стартовом скрипте для autofs этот статус принудительно сбрасывать.</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168400</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168400</guid>
<pubDate>Wed, 27 Mar 2013 14:14:11 +0400</pubDate>
<description><![CDATA[<p>Только если программа не открывает файлы по абсолютному пути (open(/full/path/to/file, O_RW)). Иначе будет как описал Системыч - прога засосала файл себе и шара свободна.</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168399</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168399</guid>
<pubDate>Wed, 27 Mar 2013 14:10:40 +0400</pubDate>
<description><![CDATA[<p><i>>Я так понимаю, что если каталог хотя бы открыт (или сделан текущим для к/л процесса ) - то оно уже не должно отмонтироваться?</i><br> Наверное да. Но кто знает, как этот абстрактный плеер работает - может он просто ходит по своему плейлисту, открывает, кэширует себе в память, закрывает. И в процессе проигрывания вообще ничего открытым не держится.<br><br>Можно, в принципе, соорудить костыль - отмонтировать силами autofs, без сторонних средств, а вот выключение дисков делать отдельным скриптом. Например, хранить в файле список точек и их состояние (вкл/выкл), и раз в минуту по крону проверять, какие точки не примонтированы и какие не выключены. Соответственно, отмонтированные и включенные выключать. </p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168398</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168398</guid>
<pubDate>Wed, 27 Mar 2013 14:03:43 +0400</pubDate>
<description><![CDATA[<p>&gt; Или музыкальный плеер, который кэширует весь файл в памяти, может трогать диск только раз в пару минут при переходе на другой трек.
<br>
Я так понимаю, что если каталог хотя бы открыт (или сделан текущим для к/л процесса ) - то оно уже не должно отмонтироваться?</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168397</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168397</guid>
<pubDate>Wed, 27 Mar 2013 13:59:41 +0400</pubDate>
<description><![CDATA[<p><div class="quote"><pre>может так: 

$ crontab -l
 0-59 * * * * umount &lt;mountpoint&gt;

Занятые точки не отмонтирует, а свободные - всегда-пожалуйста.</pre></div>

<br><br>

Тож вариант, только автомаунт сам отмонтирует без проблем, задача выключить устройство физически. Т.е. по крону проверять наличие несмонтированных файловых систем, не находящихся в состоянии активации (скрипт включил их для монтирования, но автомаунт ещё не смонтировал) и выключать незанятые накопители.</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168396</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168396</guid>
<pubDate>Wed, 27 Mar 2013 13:53:53 +0400</pubDate>
<description><![CDATA[<p>&gt; Вот тут решение для монтирования
<br><br>
Хм, вот это любопытно. Из их automount-ских док я не понял что мап-файл будет читаться каждый раз перед монтированием.</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168395</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168395</guid>
<pubDate>Wed, 27 Mar 2013 13:52:02 +0400</pubDate>
<description><![CDATA[<p><i>>Занятые точки не отмонтирует, а свободные - всегда-пожалуйста.</i><br> Можно и так, но это немного не такое поведение. Точка может оказаться свободной, так как скрипт попал в интервал между двумя чтениями. Например, открыл ты просмотрщик фоток, и неторопливо листаешь их, раз в минуту, рассматривая детали. Или музыкальный плеер, который кэширует весь файл в памяти, может трогать диск только раз в пару минут при переходе на другой трек.<br><br>И будет оно у тебя постоянно дёргать диски туда-сюда. Не знаю, насколько дискам понравятся такие постоянные включения/выключения (ведь вроде это предполагается). </p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168393</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168393</guid>
<pubDate>Wed, 27 Mar 2013 13:36:29 +0400</pubDate>
<description><![CDATA[<p><i>> отмонтирование наверное можно реализовать</i><br><br /> может так: <br><br>$ crontab -l<br /> 0-59 * * * * umount &lt;mountpoint&gt;<br><br>Занятые точки не отмонтирует, а свободные - всегда-пожалуйста.</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168387</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168387</guid>
<pubDate>Wed, 27 Mar 2013 13:10:09 +0400</pubDate>
<description><![CDATA[<p>Ах, да, отмонтирование наверное можно реализовать, соорудив несложный скрипт с inotify/fanotify, или что там у нас есть. Записывать дату доступа, хоть в файл, ну и по таймауту вырубать. Тогда и expiration в autofs не нужен.</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168381</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168381</guid>
<pubDate>Wed, 27 Mar 2013 12:54:39 +0400</pubDate>
<description><![CDATA[<p><i>>Она словно специально для этого сделана... Только вот не вижу как туда скриптом припаяться..</i><br> Вот <a href="http://forum.xbmc.org/showthread.php?tid=118164">тут</a> решение для монтирования, про отмонтирование сходу не нашел. Вот <a href="http://www.mail-archive.com/autofs@linux.kernel.org/msg07234.html">тут</a> пишут не очень радостную вещь - &quot;The short answer is no&quot; - но это было аж в 2008-м.<br><br>Леннарт, кстати, частично сделал эту штуку у себя в systemd, там <a href="https://mailman.archlinux.org/pipermail/arch-general/2013-January/032609.html">можно</a> в mount-файл вписать зависимость от сервис-файла. Вот только отмонтирование по таймауту пока что в TODO, и не реализовано. </p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168357</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168357</guid>
<pubDate>Tue, 26 Mar 2013 13:54:59 +0400</pubDate>
<description><![CDATA[<p>Она словно специально для этого сделана... Только вот не вижу как туда скриптом припаяться..</p>]]></description>
</item>
<item>
<title>Re:Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168353</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168353</guid>
<pubDate>Tue, 26 Mar 2013 12:40:02 +0400</pubDate>
<description><![CDATA[<p>Может быть подойдёт autofs?</p>]]></description>
</item>
<item>
<title>Шара с отложенным монтированием - как?</title>
<link>https://rulinux.net/message.php?newsid=39126&amp;page=1#168352</link>
<guid>https://rulinux.net/message.php?newsid=39126&amp;page=1#168352</guid>
<pubDate>Tue, 26 Mar 2013 12:24:03 +0400</pubDate>
<description><![CDATA[<p>А есть какой-нибудь штатный способ создать такой каталог, чтобы при обращении к его содержимому, если туда ничего не смонтировано, можно было запустить скрипт, который осуществит монтирование? Ну и до кучи при неиспользовании диска в течение скажем 10 минут и отсутствии открытых файлов на всех его ФС - запустить другой скрипт, который его отмонтирует.
<br><br>
Цель - физическое отключение от сети неиспользуемых внешних винтов когда они не нужны, может быть даже NAS'а. Предполагается что скрипты перед монтированием и после размонтирования будут включать/выключать питание соотв. дисков и после включения диска дожидаться появления устройства. </p>]]></description>
</item>
</channel>
</rss>