Заметки белого тигра

NAS из нетбука EeePC 701 и внешних HDD

Предыстория

Иметь дома сервер, где хранятся всякие фильмы и музыка — давняя навязчивая идея. Какой-то период времени роль «сервера» играл бюджетный 14″-дюймовый ноутбук Dell, у которого сначала сломался контроллер заряда, потом звук.

Внутри стояло два терабайтных жёстких диска (DVD-привод заменил на SATA-переходник ещё в день покупки), 4 гигабайта ОЗУ, и Windows 7 Pro (с «дворовой» лицензией). Он был подключён к роутеру через 100-мегабитную сетевую карточку, и на двух дисках были настроены «общие папки» с музыкой и фильмами.

Сама по себе схема выглядела несуразно, но со своей задачей с горем пополам справлялась: работал торрент-клиент, BitTorrent Sync, и кое-как можно было смотреть фильмы по Wi-Fi с других компьютеров и приставки Xiaomi MiBox, подключённой к проектору. «Кое-как» — потому, что максимум можно было открыть DVD-rip, открытие занимало около минуты, перемотка практически гарантированно приводила к зависанию. А ещё он дико гудел вентиляторами, и на ночь его приходилось выключать. Ну и сетевые папки периодически отваливались.

Затем судьба ноутбука сделала поворот, он отправился к младшему брату, а мне вернулся мой старый знакомый — EeePC 701, носящий звание первого в мире нетбука. Это был мой первый мобильный компьютер, появился он в 2008 году, и исключительно на его миниатюрной клавиатуре я писал конспекты лекций с третьего по пятый курс. И в Китай он со мной съездил на целый год. Потом у меня появилась машинка мощнее, а нетбук отошёл младшему брату… и теперь, спустя несколько лет, вновь вернулся ко мне. И теперь он обрёл вторую жизнь.

EeePC 701

EeePC 701 и Hongmi Note 4G — нетбук действительно компактный

год выпуска: 2007
CPU: Celeron 900 (630Mhz)
RAM: 512Mb
HDD: Flash-накопитель 4Gb (да, на систему и файлы — только 4 гигабайта)
Порты: USB 2.0 x3
Связь: LAN 100 Mbit + 812.11b/g

Помимо нетбука, у меня ворох разнобойных 2,5″ жёстких дисков SATA, оставшихся от разных апгрейдов, в разных же USB-боксах или совсем без них. На сегодняшний день это 750, 1000, 1000 и 1500 Гб разных производителей.

Изначально там была Windows XP, но, начитавшись разных статей, я решил поэксперементировать с Ubuntu в качестве «серверной» ОС.
Это был мой второй практический опыт знакомства с убунтой, первый был успешным, но продлился недолго 🙂

Задачи

Итак, что я хотел получить?
1. Автоматизированную качалку торрентов;
2. Сетевые ресурсы, которые будет видно под Windows и другими системами;
3. Бэкап файлов с телефона (BitTorrent Sync)
4. Тихую работу.

Сразу оговорюсь, что да, для этих целей неплохо бы подошёл какой-нибудь CubieTruck и аналогичные RaspberryPi-подобные системы, но у меня уже был этот нетбук, который хотелось использовать и тратить денег по минимуму.

Установить Ubuntu с графической оболочкой не получилось — встроенных 4 Гб (по факту, даже меньше) для установщика не хватило. Поэтому я скачал «серверную» редакцию 14.04 без графической оболочки, только консоль), и вот она уже встала нормально. Конечно, начальная настройка вызвала некоторые трудности, поскольку работать в терминале никогда раньше не приходилось.

При установке системы я сразу отметил установку SSH-сервера, чтобы в дальнейшем работать через терминал PUTTY с «большого» ноутбука. Если забыли, достаточно выполнить команду sudo apt-get install ssh.

Затем была установка Samba (для расшаривания ресурсов в сети) и долгое вникание, как оно работает. Затем были подключены жёсткие диски по USB.
Как я подключил четыре диска к трём портам USB? С помощью этой штуки:

Это подставка для двух 2,5″ SATA дисков с шиной USB 3.0 и внешним питанием фирмы ORICO (известны неплохими USB-хабами и внешними кейсами под винчестеры). На момент покупки (сентябрь) один комплект стоил около $14, я взял два. Напоминаю, почему я не пишу про доставку.

Брал USB 3.0, потому что в планах было извлечь из нетбука Wi-Fi, и в освободившийся miniPCI-E поставить соответствующий контроллер, но по разным причинам от этой затеи отказался. Основная — для контроллера требовалось питание, которое очень не хотелось колхозить самому. На будущее, в любом случае, новый стандарт не повредит.

Жёсткие диски я отформатировал в Ext2, подключил к «серверу», и занялся настройкой автомонтирования при включении. С этим этапом я мучался дольше всего, и, спасибо грамотной статье, вот к чему пришёл в итоге.

Для начала, я создал структуру директорий в /media/:

для жёстких дисков
/media/hdd1tb
/media/hdd15tb
/media/hdd750
/media/hdd1tbnew

для сетевых директорий
/media/movies
/media/music
/media/games
/media/anime

и так далее, и задал им права полные права командой
sudo chmod -R 777 /media/

Затем я узнал UUID подключённых дисков командой
sudo blkid

(это цифробуквенное значение типа «ff0caf96-39b9-4aff-a4d0-5892abfdca8f», без кавычек).

Записав это значение, я открыл конфигурационный файл командой
sudo nano /etc/fstab

Там нужно добавить записи для каждого жёсткого диска по UUID. У меня в конце файла получились вот такие записи (для всех четырёх жёстких дисков):
UUID=247b426a-1b32-f494-2ab2-6b91d49c80c2 /media/hdd1tb ext2 defaults,acl,user,user_xattr,errors=continue
UUID=48bceac9-c349-c4a6-4151-648b8f1e2ac3 /media/hdd15tb ext2 defaults,acl,user,user_xattr,errors=continue
UUID=82ad0812-faf6-4992-a26d-7eeff68b3ef2 /media/hdd750 ext2 defaults,acl,user,user_xattr,errors=continue
UUID=4256c16a-9c7f-1a31-6a0a-5d8c0129b3ed /media/hdd1tbnew ext2 defaults,acl,user,user_xattr,errors=continue

Сначала указывается UUID, затем точка (директория) монтирования, затем файловая система (ext2), а затем хитрая строка

defaults,acl,user,user_xattr,errors=continue

Знающие люди будут ругать меня за её конец, а именно — продолжать работу при возникновении ошибок. Её пришлось добавить потому, что иначе система не хотела грузиться, сообщая об ошибке диска. Так происходило даже после проверки дисков, которые никаких ошибок не выявляли, да и вообще с любым автомонтируемым USB-диском. Как подсказали форумы, на самом деле ошибок нет, и работать можно нормально, главное уведомить об этом систему.

После перезагрузки, я установил Samba командой
sudo apt-get install samba samba-common-bin

и открыл конфигурационный файл командой
sudo nano /etc/samba/smb.conf

В вышеупомянутой статье были не совсем правильные примеры. Методом проб и ошибок я вывел для себя правильный вид этого файла:

Обязательная часть:
[global]
workgroup = WORKGROUP
server string = eee
netbios name = eee
security = user
map to guest = Bad Password

В ней я задал рабочую группу, которую используют мои компьютеры под Windows (workgroup), имя сервера, тим безопасности и запрет на запрос пароля.

Вторая часть файла состоит из однотипных блоков:

[MOVIES]
comment = users data
path = /media/hdd15tb/MOVIES
guest ok = yes
public = yes
writeable = yes
browseable = yes

В квадратных скобках указывается сетевое имя директории (MOVIES), в path — путь до информации (к директории в уже примонтированном внешнем жёстком диске), остальные параметры нужны для беспарольного доступа и возможности чтения/записи. Подобный модуль повторяется для каждой папки, которую вы хотите видеть. У меня получилось 11.

Сохраняем файл конфигурации и перезагружаемся.

BitTorrent Sync я устанавливал вот по этому руководству.
Вкратце, добавил нужный репозиторий командой
sh -c "$(curl -fsSL http://debian.yeasoft.net/add-btsync-repository.sh)"
Обновил пакеты и установил btsync командами

sudo apt-get update
sudo apt-get install btsync

И запустил конфигуратор командой
sudo pkg-reconfigure btsync
Дальше был несложный визард, а затем конфигурация через браузер — ничем не отличается от настольного клиента. Главное, не забыть через терминал создать нужные директории, и выставить разрешение на чтение/запись.

Итого

«Серверная» на шкафу, рядом роутер Xiaomi (белый)

Пост получился довольно пространный, но подведу итоги. В целом, я добился того, чего хотел: хранилище файлов более 4 Тб, торентокачалка работает (управляю через Transmission с ноутбука), фотографии с телефонов бэкапятся через BitTorrent Sync, фильмы по сети работают и не тормозят. Иногда, правда, на больших файлах при просмотре с MiBox происходит остановка где-то на 30й секунде воспроизведения, но повторный запуск фильма эту проблему решает. Несмотря на подключение через 100 Мбит-ную карточку и USB 2.0, никаких других тормозов с фильмами не случается, и смотреть вполне комфортно. И шумов практически нет: под Ubuntu нетбук практически не греется, чего не скажешь о его родной Windows XP, где он ревел как турбина.

Но есть и минусы. Разъёмы USB не очень жёсткие, и если кто-то пошевилит кабели жёстких дисков, или будет трогать сам EeePC, то диски отваливаются, и приходится перезапускать систему (перемонтировать дольше). Ну и при необходимости скопировать что-то тяжёлое с/на NAS скорость в 16 мбит/сек совершенно огорчает. В обозримом будущем постараюсь найти замену на нормальной платформе.

UPDATE 2015.07.29: На смену этому монстру пришёл самосборный HTPC на MiniITX-плате. В раздумьях, что делать со старичком дальше.

Как я сделал NAS (сетевое хранилище) из старого нетбука и четырёх 2,5″ HDD

 // blog.wtigga.com — Заметки белого тигра — Vladimir Zh //

Exit mobile version