Реализация некоторых задач для самосборного NAS

в 13:18, , рубрики: diy или сделай сам, ipad, NAS, torrent, Ubuntu, системное администрирование, метки: , ,

Привет. Наконец-то я созрел для того, чтобы собрать своё собственное сетевое хранилище. Цели и задачи простые — скачивание торрентов, раздача контента по DLNA на IPTV-приставку MAG-245, iPad Mini первого поколения и смартфон на ОС Windows Phone. С учетом того, что необходимая база у меня уже была, а именно — материнская плата Intel D425KT форм-фактора mini-ITX с встроенным двухъядерным процессором Atom с пассивным охлаждением; 2 гигабайта ноутбучной оперативной памяти, и ноутбучный же HDD Seagate 750Gb. Докупил только корпус 3Cott M01, в комплекте с которым шел блок питания ноутбучного типа и адаптер для него.

В ходе «боевых» тестов выяснилось, что в тесном корпусе без единого вентилятора жесткий диск неприлично греется, поэтому было принято решение вынести его за пределы корпуса и прикрепить к переходнику от SSD. Эта конструкция живёт на шкафу в прихожей рядом с роутером и никому не мешает.

Реализация некоторых задач для самосборного NAS - 1

Отправной точкой для экспериментов послужила статья на Хабре «Домашний медиа-сервер на основе Ubuntu Server 12.04 LTS» за авторством PaulZi. Она была моим основным руководством.

Собственно, не хочу заниматься копипастингом, по этой статье были установлены Ubuntu Server 14.04, настроены простейшая Samba-шара, торрент-клиент Transmission и сервис MiniDLNA. А вот дальше возникли другие задачи.

1. Автоматическое монтирование usb устройств при подключении, размонтирование по нажатию клавиши питания

Автоматическое монтирование было решено с помощью настройки udev, для чего было создано правило /etc/udev/rules.d/10-automount.rules с такими параметрами:

SUBSYSTEM=="block", KERNEL=="sd[b-z][0-9]", ACTION=="add", RUN+="/bin/mount -o iocharset=utf8,codepage=866,uid=1000 /dev/%k /mnt/flash"
SUBSYSTEM=="block", KERNEL=="sd[b-z][0-9]", ACTION=="remove", RUN+="/bin/umount /mnt/flash"

Так как кнопка питания практически не используется, было решено повесить на неё задачу размонтирования подключенных USB-дисков. Для начала нужно отредактировать файл /etc/systemd/logind.conf и заменить

#HandlePowerKey=poweroff

на

#HandlePowerKey=ignore

Затем привести /etc/acpi/events/powerbtn к виду:

event=button[ /]power
action=/etc/acpi/powerbtn.sh

И в завершении /etc/acpi/powerbtn.sh отредактировать до:

#!/bin/sh
umount /dev/sdb1

Выполнить:

sudo udevadm control --reload-rules
sudo service systemd-logind restart

Готово!

Теперь при подключении в передний usb-разъём любое устройство будет автоматически смонтировано в /mnt/flash, а при кратковременном нажатии кнопки питания — размонтироваться. Имейте ввиду, что мои правила для одного диска, если их больше — нужно редактировать поле sd[..z].

Для чего это нужно? Например, у меня есть товарищ, который живет в деревне, и быстрым, а тем более безлимитным интернетом там и не пахнет. Вот и скачиваю ему на флэшку фильмы и всё что попросит. Копировать, естественно, быстрее на локальном хосте, чем тягать через всю сеть, но нет желания каждый раз вручную монтировать-размонтировать диски при подключении флэшки к NAS. Вот такая маленькая автоматизация.

2. Управление торрентами с iPad на iOS 7.1.2 без джейлбрейка

Основу метода я нашел здесь, к нему и отсылаю, чтобы не копипастить. Смысл заключается в том, чтобы Transmission автоматически подхватывал торрент-файлы из определенной папки (в данном случае из Dropbox) и начинал их закачку. Казалось бы, причём здесь iPad? Так вот, с него я и хочу добавлять файлы в очередь. Для этого этого использую браузер iCab Mobile (платный), функционал которого намного шире, чем у Safari. В частности, iCab умеет скачивать торрент-файлы с трекеров, а также умеет подключать Dropbox. Дальше всё просто:

— скачиваем торрент-файл:

Реализация некоторых задач для самосборного NAS - 2

— тапаем по нему в «Загрузках» и выбираем «Загрузить файл в Dropbox» (аккаунт которого мы уже подключили в настройках iCab):

Реализация некоторых задач для самосборного NAS - 3

— торрент-файл появляется на NAS, его подхватывет Transmission, в чём мы можем убедиться, открыв веб-интерфейс — и загрузка стартует:

Реализация некоторых задач для самосборного NAS - 4

Для воспроизведения видео с NAS использую iOS-программу AVPlayerHD, которая воспроизвёла всё, что я ей предлагал, и которая умеет воспроизводить по DLNA. Бонусом есть возможность запустить на iPad FTP-сервер и заливать видео по Wi-Fi, не используя iTunes.

Реализация некоторых задач для самосборного NAS - 5

На этом всё, спасибо за внимание.

Автор: sanrega

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js