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 //

14 комментариев

  • Dmitry

    У меня такой же ноут занят тем же делом 🙂 Только диск обычный 2.5″ USB на 1 Тб. Пока хватает. Когда использовал EEE PC как ноут, на нём стояла Lubuntu — вполне неплохо работала. Вот BitTorrent Sync я пока не настроил, буду пользоваться вашими подсказками. Спасибо!

  • foster

    Супер ! Ещё можно былоб на отдельной машине( или на той же убунте поднять виртуалку) установить туда впн клиент и прокси сервер. Прокси для клиентов вайфая чтобы впном пользовались ну и настроить убунту чтоб клиенты впн извне имели доступ к ресурсам сети.
    Я вот полгода назад купил себе нат трёх терабайтный WD . Его уронил мой кот во время обновления прошивки теперь это кирпич можно оживить только форматированием полным и потерей данных. Думаю достать от туда хард 3ех дюймовый и соорудить что-нибудь подобное . Вобщем спасибо за статью мегаполезно.

    • WTiggA

      Да, я тоже думал о хитром рутинге, но пока такое сложное кунфу мне не под силу. Возможно, после переезда, в процессе переделывания домашней ит-инфраструктуры и запилю что-то такое. В идеале нужен роутер на DD-WRT, ведь туда ставится плагин Astrill, который умеет по-умному распределять трафик (иностранное по впн, местное так).

  • Alex

    Почему не попробовали установить FreeNAS или Open Media Vault. Очень удобное и легкое решение специально для таких целей. Сам делал из старого MSI U100 со сгоревшей матрицей.

    • WTiggA

      Мне хотелось поиграться именно с Ubuntu, потому что на неё были разные дополнительные планы, ну и она чуть больше знакома.
      А чем в контексте такого применения принципиально лучше FreeNAS? Проще конфигурировать самбу?

  • i779

    Не советую ни freenas, ни OMV, у первого просто адские системные требования в последнем релизе и какие то проблемы со скоростью по самбе, а про беды с miniDLNA форумы завалены постами. OMV раздражал вечным отваливанием установленных модулей при очередном обновлении, проблемы сопровождали его с каждым обновлением релиза, но по сути штука очень достойная для homenas, думаю ребята справятся и я вернусь на него. Убунту сервер практически идеален и гибкостью настроек, удобством и возможностями кладет всех на обе лопатки, но OMV в пользовании все же проще.

    • WTiggA

      Спасибо. Вообще это кошмар, конечно, особенно в плане USB-дисков — чуть пошевельнёшь, отваливаются. Надо собирать нормальный PC на небольшой материнке и подключать диски по SATA.

  • N1GZ

    Не вы один такой сумасшедший. В своё время (пока игрушка была у меня на руках) имел сервер из 8,9 дюймового Асера, но крутился он на Дебиан ОлдСтэйбл (Убунта категорически не дружила с самбой у меня). Сейчас крайне неспешно собираю нечто такое же на очень старом завалявшемся железе, с желанием позже подвесить туда ещё и зачатки умного дома (управление светом и частично окном).

    • WTiggA

      Пожимаю руку.
      А не страшно, что старое (потенциально глючное) железо будет управлять окном?

      • N1GZ

        Некропостинг он такой.
        Не особо страшно. На старом железе будет крутится бот на питоне, и запихивать команды в (по планам) ардуино. Там самый плохой сценарий это просто отказ, и тогда просто отцепить всё «умное» и вернуться к привычному управлению.

  • Red

    Интересная статья. Сейчас нетбуки окончательно вымерли, у самого валяется один из последних, Asus X200CA, с богомерзким Celeron, потому что на Pentium и I3 я опоздал, всё раскупили, а на ультрабук денег нету. У него даже раскладка европейская и зарядка не типичная для российских краёв, повезло что все клавиши по наитию знаю, а для провода есть переходник. В общем жить можно. Огорчает, что дров на XP нету, только 7 и 8, ненавижу 8, на 10 тоже нормальных нету, из-за этого поставил туда Debian с XFCE, системе вполне хватает 512 МБ, а остальное я пускаю на виртуальную машину, да, можно сказать у меня нетбук «два в одном». В ней стоит ещё один GNU/Linux для экспериментов, системы Mac iOS X, Android, и Windows XP плюс 10. Работает замечательно, даже 3D есть полноценное, не то что у других. Тут стоит сказать, что на нём раньше с горем пополам и щипоткой везения можно было запустить игры года 2008 и ранее, но может у меня кривые руки, однако в Windows 7 старые игры, ранее 2005 года, шли из рук вон плохо, тот же Unreal Tournament 2004 на что-то матерился и только в старой системе работал хорошо. А такие крутые игры как эта, я очень люблю, во-первых ностальгия, я раньше в 2003 играл, а 2004 такой же, только добавили немного контента, во-вторых из как бы современных по динамике только представитель серии Quake способен конкурировать, остальные не катят, в третьих, искусственный интеллект довольно годный соперник, видно что разработчки не зря свой хлеб ели. В итоге я и так постоянно сидел в виртуалке, при том 7 с антивирусом только мешала, поэтому когда образовалась перспектива секономить системные ресурсы и улучшить ставшую основной среду, ей воспользовался. Зато мне не страшны вирусы и всякие BSOD, что неимоверно радует. Сейчас ещё хакеры наворовали эксплоитов у АНБ для Windows, весь мир от безнадёги стонет, поэтому виртуализация наша всё. Думаю, в будущем, когда накоплю на нормальную технику, сделаю также, как автор статьи. Стыдно, когда твой основной компьютер жутко проигрывает бюджетному мобильному телефону, неимоверно стыдно.

    • WTiggA

      Давно такой развёрнутый комментарий не видел 🙂
      Виртуальные машины крутятся на 512 мб оперативы? Или там суммарно больше?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *