Домашний сервер. Часть 4: Пробная сборка

Домашний сервер. Часть 4: Пробная сборка

Дата Автор Dmitry1 комментарий 1 090 просмотров

Оживляя цикл публикаций о создании домашнего сервера хочу описать конфигурацию, которая уже достаточно долгое время функционирует у меня дома в тестовом режиме.

На текущий момент система получилась очень простая и вряд ли удивит кого-то своей технологичностью и функционалом. Но в таком виде она нормально работает и выполняет поставленные перед ней задачи.

Аппаратная часть

Домашний сервер. Часть 4: Пробная сборка

Процессор: Intel Pentium E5300
Материнская плата: Asus P5QPL-AM
Оперативная память: 4 Гб DDR2
Дисковые накопители: 60 Гб (SSD), 320 Гб (HDD), 500 Гб (HDD)
Салазки для HDD: OImaster MR-6601
БП: Codegen Real Power 350W
Корпус: Zalman ZM-T2

Свой сервер я собрал на комплектующих, которые уже имелись в хозяйстве. Память осталась от предыдущего десктопа, жесткие диски позаимствованы из старых ноутбуков, корпус несколько лет пролежал без дела из-за невозможности его использования с крупными башенными кулерами.

Салазки OImaster для установки шести 2,5″ накопителей в один 5,25″ отсек прибыли ко мне год назад из интернет-магазина Cafago.com и я публиковал их обзор. Довольно экзотичная, но интересная железка.

Домашний сервер. Часть 4: Пробная сборка

В сборе система выглядит не очень презентабельно: провода болтаются, половина корпусного пространства остается незадействованным, энергоэффективность оставляет желать лучшего. Но при этом денежные затраты на его сборку составили 0 рублей, а конфигурация получилась достаточно мощной для функционала домашнего сервера / файлового хранилища. Компьютеры на “железе” такого уровня до сих пор используются в некоторых офисах в качестве рабочих станций.

Самый важный компонент

Самой важной частью при сборке домашнего сервера является блок питания. Качественный БП – это не только залог стабильной 24/7/365 работы, но и сведенный к минимуму шум.

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

Технологичность технологичностью, но потребность в тишине в вечерне-ночное время выигрывает на длинной дистанции.

Проверено на себе: в моей сборке используется дешевый и шумный блок питания – и его гул очень раздражает по вечерам.

Поэтому стоит переплатить за хороший БП, умеющий отключать свой кулер при низкой нагрузке. А то и вовсе взять безвентиляторный блок питания – стоят они дорого, но такая покупка будет служить очень долго. Из производителей безвентиляторных блоков питания могу отметить бренд SeaSonic.

Программная часть

В текущем своем виде мой домашний сервер работает на базе Ubuntu с несколькими дополнительно установленными пакетами.

Ubuntu

В качестве операционной системы я использую Ubuntu 18.04 LTS Server.

LTS означает долговременную поддержку – данный релиз будет получать обновления как минимум до 2023 года, а “серверность” в названии дистрибутива говорит об отсутствии графического интерфейса в составе. Немного экономии на потреблении дискового пространства и оперативной памяти.

Для установки Ubuntu нужно сделать следующее:

  1. Скачать дистрибутив с официального сайта
  2. Сделать из него загрузочную флешку при помощи приложений Rufus, Win32 Disk Imager, Etcher
  3. Загрузиться с флешки и следовать инструкциям инсталлятора, не забыв согласиться на установку сервера OpenSSH

Процесс установки очень прост и явно не нуждается в подробных инструкциях.

Webmin

Домашний сервер. Часть 4: Пробная сборка

Webmin – удобный веб-интерфейс для удаленного управления компьютерами на базе Linux. Обновлять пакеты, смотреть системную нагрузку, управлять жесткими дисками и работать с файлами на сервере через встроенный файловый менеджер – все это и многое другое доступно через Webmin. Конечно, все то же самое можно делать просто подключившись к серверу по SSH, но во многих случаях графический интерфейс окажется намного удобнее.

Я уже описывал процесс установки Webmin на примере Raspberry Pi 3 в отдельной статье, но продублирую необходимые команды без пояснений тут:

sudo apt update
sudo apt install software-properties-common apt-transport-https wget
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib"
sudo apt install webmin

После этого можно будет управлять сервером с любого устройства в локальной сети, перейдя по ссылке https://ip-адрес-сервера:10000 в браузере.

Samba

Samba – пакет утилит для сетевого доступа к дискам по протоколу SMB/CIFS.

В рамках цикла статей по Raspberry Pi я уже публиковал инструкцию по установке и настройке Samba, информация в ней полностью актуальна на сегодняшний день.

В дополнение к ней опишу как подготовить к работе дисковые накопители сервера.

Если совместно с Raspberry Pi я использовали внешние диски, подключенные по USB и отформатированные в NTFS, то в случае сборки полноценного сервера с нативным SATA-интерфейсом правильнее будет сразу отформатировать диски в формате ext4.

В этом нам и поможет Webmin:

HardwarePartitions on Local DisksWipe PartitionsWipe and Re-LabelAdd primary partitionLinux EXT → Create

Там же:

Create Filesystem

Там же:

Mountext4/задаем имя раздела/ → Create

Nextcloud

Nextcloud – персональный облачный сервис, бесплатная и безопасная альтернатива всем “Дропбоксам”, “Яндекс.Дискам” и прочим коммерческим облачным сервисам.

Установку и настройку Nextcloud я подробно описывал на примере Raspberry Pi 3. Инструкция актуальна.

Единственное – нужно выбирать свежий дистрибутив, он успел неоднократно обновиться с момента публикации той статьи.

Transmission

Домашний сервер. Часть 4: Пробная сборка

Transmission – популярный, легко настраиваемый и управляющийся по сети торрент-клиент для Linux.

За детальной инструкцией по его установке и настройке опять-таки отправляю читателей к своей статье про установку торрент-клиента на Raspberry Pi. Там все очень подробно расписано и до сих пор актуально.

Концепция

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

На SSD установлена система и Nextcloud со своим хранилищем. Остальная информация хранится на жестких дисках.

Один из жестких дисков целиком определен под “инбокс”. На него попадают все файлы, с которыми требуется совершить какие-то действия: просмотреть, сгруппировать, определить на постоянное место для хранения или удалить за ненадобностью. Все торренты тоже загружаются сюда.

Понятие “инбокс” я позаимствовал из системы GTD Дэвида Аллена.

Второй диск определен под долговременное хранение файлов. Сперва файлы фильтруются по основным категориям:

  1. Книги
  2. Музыка
  3. Фильмы
  4. Сериалы
  5. Фото
  6. Бэкапы
  7. Другие данные

Категория “Другие данные” – самая сложная из всех. Сюда попадает все, что вышло из инбокса, но не вошло в одну из первых шести категорий. По ходу увеличения количества файлов в данной категории они начинают делиться на разные подкатегории.

Допустим, 3 скачанных видеокурса по программированию на Python объединяются в папку “Курсы по Python”, а десяток картинок с понравившимися мне интерьерными решениями  перемещаются в папку “Идеи для дома”. И так далее.

Для понимания идеи очень рекомендую ознакомиться с системой GTD и “Методом ограниченного хаоса” Глеба Архангельского.

Упрощение

Когда у меня появилась Raspberry Pi, то я активно экспериментировал с применением этого микрокомпьютера в быту. И применений ему нашлось множество, и далеко не все из них я успел описать на страницах этого сайта – некоторые статьи до сих пор висят в черновиках и находятся в процессе постепенного дописывания.

После сборки x86-компьютера в качестве домашнего сервера некоторые реализованные еще на Raspberry Pi 3 решения перекочевали на него. И от части из них я в итоге отказался в пользу большей простоты.

Электронная библиотека

Как было: Calibre + COPS

Calibre – наиболее мощный и функциональный каталогизатор для электронных книг из имеющихся на сегодняшний день. Проблема лишь в том, что для поддержания библиотеки в электронном виде нужно очень скрупулезно подходить к заполнению тегов к добавляемым в нее книгам. Комбайн очень чувствителен к мелочам.

Например, вы добавляете две книги одного и того же автора. Только в тегах у одной из них автор прописан как “Андрей Белянин”, а у другой как “Андрей Олегович Белянин”. Всё, для Calibre это два разных автора, книги которых он будет отображать раздельно.

Книжные серии, жанры, номера книг внутри серии – все это прописывается в тегах и требует большого внимания при заполнении. Если не уделять всему этому внимание, то по мере увеличения библиотеки она будет смотреться все более неряшливо и хаотично организованной.

Мне не настолько важна возможность поиска и категоризации по множеству различных параметров, чтобы тратить на заполнение и корректировку тегов столько времени. В то же время хочется, чтобы книги хранились аккуратно и организованно. Поэтому от Calibre я отказался.

Как стало: структура из файлов и папок

Домашний сервер. Часть 4: Пробная сборка

Для каждого автора создается своя папка. Каждая книга переименовываются по шаблону “Автор – Серия /если есть/ – Порядковый номер в серии – Название”.

Просто, но удобно и информативно. Для меня подобной структуры пока достаточно.

Из минусов – теперь нет собственного OPDS-каталога. Но используемая мной читалка на мобильных устройствах позволяет подключать SMB-шару в качестве библиотеки. Так что особо ничего не теряю.

Медиатека

Как было: Plex

Plex – мощный и красивый каталогизатор для медиаданных, с его помощью можно хранить и просматривать в удобном виде фильмы, сериалы, музыку и записи телепередач. Претензии к нему те же, что и к Calibre: чтобы все было аккуратно и организовано нужно тратить время на организацию.

Плюс я не нашел способов бороться в Plex’е с рассинхроном субтитров. Зарубежные сериалы по возможности я предпочитаю смотреть с родной звуковой дорожкой и русскими субтитрами – и это не блажь и не попытка продемонстрировать мнимую “элитарность”, просто наши недоделанные переводчики иной раз гонят такую шизофреническую отсебятину, что невозможно понять сюжет по переведенным ими диалогам. А когда посмотришь пару сериалов в оригинале, то слушать унылые, монотонные, напрочь лишенные интонаций голоса деятелей из какой-нибудь NewStudio становится и вовсе тошнотворно.

В общем, зарубежные сериалы я уже давно смотрю с субтитрами. А подгружаемые отдельно субтитры нередко бывают плохо синхронизированными с видеорядом. При использовании какого-нибудь VLC или MPC это исправляется легко: нажатием определенной клавиатурной комбинации регулируется задержка субтитров (положительная или отрицательная).

В Plex же такого функционала нет. Либо я его не нашел.

Как стало: структура из файлов и папок

Домашний сервер. Часть 4: Пробная сборка

Как и с книжной библиотекой, перешел к обычной файловой структуре. В одну папку сгружаю сериалы, в другую – фильмы. Если к фильму идет несколько отдельных звуковых дорожек или файл с внешними субтитрами – для него создается отдельная папка.

Менее изящно, чем интерфейс “Плекса” с постерами и подробной информацией о каждом фильме, но практически не требует времени на поддержание в рабочем состоянии.

Заметки, база знаний

Как было: Leanote / DokuWiki

Сперва я использовал Leanote на Raspberry Pi 3. Красивое, легкое и функциональное приложение, ничем не уступающее своим коммерческим аналогам (а Evernote так и вовсе превосходящее). Смущало лишь то, что в нем используется закрытый формат хранения данных, и в случае повреждения БД будет трудновато восстановить накопленную информацию.

Поэтому с Leanote я перешел на DokuWiki – легковесный Wiki-движок, хранящий всю информацию в файловой структуре.

Внутренняя перелинковка, добавление файлов и медиаданных к страницам, гибкие возможности оформления страниц – и при всем при этом не используется БД, а до хранящейся информации можно добраться через файловый менеджер.

И я бы так и продолжил пользоваться DokuWiki, если бы не покупка макбука.

Как стало: Apple Notes + Simplenote

Домашний сервер. Часть 4: Пробная сборка

Отказался от хранения данных на своем оборудовании в пользу “яблочной” экосистемы.

Apple Notes обладает отличным легковесным интерфейсом, моментально синхронизируется через iCloud со всеми macOS- и iOS-девайсами, а встроенная в macOS системная утилита Spotlight отлично индексирует добавленные заметки и выискивает нужные по ключевым словам за доли секунду.

Это намного удобнее всех self-hosted решений, которые я знаю. Поэтому в данный момент мой основной заметочник – Apple Notes.

Дома стоит (и довольно активно используется) десктоп на Windows. Иногда приходится синхронизировать информацию с ним. Для этой цели использую Simplenote.

Заключение

В таком виде мой домашний сервер работает уже долгое время и удовлетворяет всем потребностям.

Это не финальный его вариант. В дальнейшем планирую улучшать его как в аппаратном плане (увеличить емкость хранилища, подобрать более подходящий корпус и более качественный блок питания), так и в программном (сделать хранение данных более безопасным, настроить автоматические бэкапы).

Подробнее обо всем этом поговорим в следующих статьях цикла.

Домашний сервер. Часть 1: Вводная теория
Домашний сервер. Часть 2: Локальная сеть
Домашний сервер. Часть 3: Жесткие диски
Домашний сервер. Часть 4: Пробная сборка

Один комментарий на «Домашний сервер. Часть 4: Пробная сборка»

  1. Спасибо за Ваши статьи. Очень интересно было бы почитать про бэкапы. Буквально несколько дней назад собрал х86 конфигурацию вместо малинки.

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

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