Добро пожаловать!
Список цикла статей:
- Домашний Сервер: Часть 1 – Предисловие, аппаратная и софтовая начинка (вы тут)
- Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox
- Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
- Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
Внимание! С 21.10.2022 изменился состав компонентов. Первая материнская плата не очень стабильно себя показала. Это системная проблема, поэтому не могу советовать вам использование данной материнской платы в составе своих систем (речь про ASRock E3C226D2I)Подробности в апдейте в конце статьи!
Наконец я добрался до написания этой статьи. К ней я шел долгие два с чем-то года 🙂
Данным постом хотелось бы начать отдельный цикл статей, которые будут посвящены моим исследованиям в рамках реализации домашнего сервера и различных сервисов на нем.
Что это и зачем вообще меня понесло в эту сферу, я расскажу в этом посте и давайте начнем обо всем по порядку!
Так как меня достаточно сильно интересуют различные IT тематики, я озадачился вопросом сборки собственного домашнего сервера.
Безусловно в обычном хозяйстве такая вещь по сути избыточна, в самом простом примере все лежит на домашнем компе, если что нужно поковырять, то это можно сделать в рамках существующих мощностей.
Основной целью было создание хорошего медиа-сервиса для просмотров фильмов и сериалов, ибо моя медиатека через некоторое время забила два HDD до отказа, а это чуть более 2Тб!
За некоторый период я уже успел ознакомится с возможностями DLNA встроенных в ОС «Окна» и меня они не очень-то и радовали. Тем не менее мне удалось найти более чем классный сервис Plex (будет в отдельной статье) о котором вскользь упоминалось в статье Домашний Медиа-плеер: Raspbian + Kodi + плагин Plex на Raspberry Pi 3 B+
Но за реализацией основной цели скрывались цели о которых я раньше только догадывался! О них я узнавал по мере ознакомления с различным софтом и решениями на этом софте.
Итогом всей моей головоломки стала реализация сервера с системой виртуализации Proxmox и различными контейнерами с отдельными сервисами, о чем я постараюсь рассказать.
Данный пост это ни в коем случае не призыв делать аналогично, я просто хочу познакомить вас с тем, что вышло у меня и как я это все реализовывал. Может тоже захотите 🙂
Перво наперво нужно было определиться с железом, с софтом и тем, как это все будет работать в локальной сети!
Аппаратная часть
После долгих обдумываний и гуглежа было принято решение делать все на серверных компонентах, ведь подразумевалось, что сервер будет лопатить 365/24/7 с небольшими перерывами на профилактику.
А серверные компоненты стоят не дешево. Безусловно я изучал различные готовые решения типа QNAP, Synology и др., но меня они не устраивали по ряду причин. По цене, собственная сборка, получалась подороже конечно.
В принципе я был уверен, что молодые годы опыта по сборкам/разборкам ПК мне помогут, а повышенную цену компенсирует более мощная база )
Сказано сделано!
Далее необходимо было определиться с количеством места, используемой системой, потребляемыми ресурсами и др.
С чем же в итоге мне пришлось определиться? А вот с чем:
- Компактный корпус — формата ITX с местом для 2х дисков 2.5″ и 4х дисков 3.5″
- Motherboard — формата mini-ITX с 6 SATA портами 6Гбит/сек поддержкой CPU Xeon, серверной DDR-DIMM памяти с ECC. Не самая новая конечно, иначе будет слишком дорого.
- CPU — Самый дешевый серверный Xeon
- DDR — Оперативная память с ECC
- SSD — 2шт. в RAID-1
- HDD — 4шт. в RAID-5 (у многих на него бомбит)
- Блок питания — формата ATX на 550W
В принципе этого достаточно, чтобы понять, что не так просто такое найти и собрать в один сервер. Но у меня получилось 🙂
Давайте расскажу, что именно я выбрал пока искал необходимое.
Корпус
Корпуса я анализировал долго, это одно из самых не простых решений. Мне повезло и я урвал последний(на тот момент) корпус который подходил мне по всем параметрам.
Корпус: Chenbro SR301/69T3
Кратенько пробежимся по характеристикам:
- Форм фактор материнской платы: Mini-ITX 170 x 170(мм)
- Размер корпуса: 310 x 200 x 270(мм)
- Место для SSD: внутри для 2.5″ — 2шт.
- Место для SSD/HDD: внутри для 2.5″/3.5″ — 4шт. Съемные корзины. Горячая замена
- Охлаждение: один вентилятор 120мм под корзиной с HDD/SSD
- Питание: место под блок питания формата ATX с длиной не более 140 мм
Как видим в данном корпусе есть все, что требуется. И место для ITX материнской платы, и 6 дисков и их горячая замена и компактность, причем с местом для практически полноформатного ATX блока питания.
В принципе вы все еще можете найти данный корпус в рознице и прикупить его. Цена правда на него кусается: ~ 8 700 руб.(цена на момент написания статьи по поиску) Но хороший корпус для сервера, из хороших материалов того стоит.
Кстати в сети есть обзоры на этот корпус 🙂 Их я тоже смотрел.
Материнская плата
Конечно ядром всего этого безобразия выступает материнская плата. Где же найти такую красавицу с такими требованиями да еще и с серверными замашками?
Мне повезло по аналогии с корпусом, я урвал последнюю(на тот момент) плату. Знакомьтесь…
Motherboard: Серверная плата ASRock E3C226D2I (mini-ITX 6x6Gb SATA) — 1 шт.
Причем я приятно удивился, когда после покупки обнаружил её в официально рекомендуемых для купленного мной корпуса 🙂
В ней все хорошо, даже, как полагается, есть интерфейс IPMI (Intelligent Platform Management Interface) 2.0 для управления по сети (позволяет работать с BIOS без подключения монитора и клавиатуры!)
Как можно видеть, есть поддержка 6 SATA портов 6Гбит/сек для всего набора дисков и это главное. Ну.. помимо форм фактора еще.
Я выбрал специально не самый новый сокет в угоду стоимости и возможности найти CPU для неё за «не дорого».
Единичный сокет H3 (LGA 1150) с поддержкой 4й и 5й генерации Intel Xeon E3-1200 v3/v4/ Core™ i7/i5/i3/Pentium/Celeron Processors
Из минусов(если так можно сказать) это максимальный объем оперативной памяти не более 16GB. Мне этого в принципе хватит. По началу я использую 8GB
На текущий момент данная плата уже не продается в розницу. Урвал я её по цене 5 800 руб.
CPU
Само собой CPU. «Мозги» я рискнул поискать на AliExpress т.к. Intel Xeon E3-1200 v3 уже давно не флагман и появилось много б.у. экземпляров.
CPU: Intel Xeon E3-1220 V3 (3100MHz, LGA1150, L3 8Mb) — 1 шт.
Данный CPU 4 ядерный и поддерживает оперативную память DDR3 1333/1600 ECC
Сам CPU поддерживает максимальный объем оперативной памяти не более 32GB. Т.е. ограничителем выступает материнская плата.
Брал на Али по цене в 8 400 руб. На текущий момент(дата написания статьи) еще можно найти у нескольких продавцов.
CPU оказался с «падением» был виден отколотый уголок текстолита, но при этом он полностью рабочий. Проверен временем! Чего и следовало ожидать 🙂
DDR
По оперативной памяти все достаточно просто.
DDR3: 4Gb DDR-III 1600MHz Transcend ECC (TS512MLK72V6N) — 2 шт.
В целом по памяти рассказывать особо и нечего. Купил и поставил.
По цене одна планка DDR около 3 800 руб.(цена на момент написания статьи по поиску)
Охлаждение
Ку да же без охлаждения! Для этих целей был необходим компактный кулер т.к. корпус компактный и при этом формат блока питания практически полноразмерный ATX(с некоторым ограничением по длине не более 140 мм).
Я подобрал кулер исходя из замеров. И еще взял к этому всему мою любимую термопасту.(вам может быть нравится другая, но я полагался на свой давний опыт сборщика)
Кулер: ID-COOLING IS-40V3
Термопаста: Arctic Cooling MX-2 4 г
Термопасту показывать не буду )
Высота профиля и вентилятора хорошая, сам вентилятор не шумный.
На текущий момент этот Кулер к сожалению уже не продается в розницу. Брал по цене около 1 200 руб.
SSD
С SSD вышла казусная ситуация… Вроде бы серверные компоненты все дела, а вот серверный SSD конечно имел достаточно серьезный ценник. И я позволили себе вольность.
Я выбрал SSD ориентируясь на доступную цену и достаточно хорошие отзывы(видимо зря).
SSD: 256Gb SSD A-DATA Ultimate SU900 (ASU900SS-256GM-C) — 2 шт.
Собственно именно они были изначально поставлены и использовались под отладку рабочей конфигурации, но потом один отвалился и следом за ним второй. Результатом оказалась не стабильная прошивка, которую A-DATA использовала в своих SSD, причем обновлять её они не спешили. Благо использовался популярный чип и мне удалось разобрав SSD, замкнув пару контактов перевести его в режим прошивки. Найдя на китайских просторах более новую прошивку и саму программу для прошивки мне удалось восстановить работоспособность данных SSD и (тфу, тфу, тфу) пока работает без нареканий.
Но гарантия на них, после таких манипуляций, как бы все… Будьте внимательны! Берите устройства только надежных производителей!
По цене один SSD около 4 100 руб.(цена на момент написания статьи по поиску)
HDD
С HDD я решил пойти по пути выбора специализированных решений для NAS. Выбирал среди популярных игроков и выбрал таки после долгих раздумий и анализа цен.
HDD: 3Tb — Seagate IronWolf NAS ST3000VN007 — 4 шт.
Тут ничего удивительного нет. Единственное, что хочется отметить так это использование 4-х HDD в конфигурации RAID-5, т.е. теоретически это будет 9Тб места под данные, остальное под хеш и все такое. На просторах интернета по этому поводу много холиваров и в целом я согласен с рисками в продакшене. Пока мне для дома этого вполне достаточно, посмотрим как все это будет проявлять себя на практике, (тфу, тфу, тфу) пока работает без нареканий.
По цене один HDD около 7 000 руб.(цена на момент написания статьи по поиску)
Блок питания
Нужно же подать питание в такую систему и озаботиться тем, чтобы оно было качественным и стабильным. Непосредственно в корпусе за это отвечает блок питания. И в этом решении он полноразмерный формата ATX. Но с одним ограничением! Т.к. блок питания прикручивается розеткой вверх(да да, позиционирование не простое), его нижняя часть с кабелями упирается в материнскую плату, именно поэтому тут требуется, чтобы его длина не превышала 140 мм. Благо на рынке такого добра достаточно. Выбор пал на:
БП: 550W Corsair TX550M (CP-9020133-EU)
Данного блока питания хватит с запасом. Я посчитал ориентировочное потребление всей системы по доступной документации на основные узлы и у меня получилось что-то вроде: 168W
Этого хватит с запасом и блок питания не будет работать на максималках, что в свою очередь сбережет его.
По цене БП около 6 200 руб.(цена на момент написания статьи по поиску)
Бесперебойное питание
А куда же без ИБП. Для обеспечения бесперебойной работы одного качественного блока питания не достаточно, необходим еще и бесперебойный блок питания.
Я специально добавил его в эту статью, чтобы все понимали необходимость резервирования. Иначе кратковременные отключения могут повредить системе работающей 365/24/7
Выбор пал на ИБП: APC Back-UPS 650VA 390W BX650CI-RS
Дополнительно к бесперебойнику еще подключен роутер MikroTik hEX S, а к роутеру еще по PoE подключена точка доступа MikroTik hAP ac
По цене ИБП около 5 600 руб.(цена на момент написания статьи по поиску)
Софтовая часть
Выбирая на чем реализовывать всю основную работу софтовой части я сразу начал рассматривать такой интересный проект, как Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Благо по работе я успел изучить её достаточно глубоко и знал на что иду.
Выдержка из Wikipedia:
В качестве гипервизоров использует KVM и LXC (начиная с версии 4.0, в версиях до 3.4 включительно вместо него использовался OpenVZ). Соответственно, способна выполнять любые поддерживаемые KVM ОС (Linux, *BSD, Windows и другие) с минимальными потерями производительности и Linux без потерь.Управление виртуальными машинами и администрирование самого сервера производятся через веб-интерфейс либо через стандартный интерфейс командной строки Linux.
Для создаваемых виртуальных машин доступно множество опций: используемый гипервизор, тип хранилища (файл образа или LVM), тип эмулируемой дисковой подсистемы (IDE, SCSI или VirtIO), тип эмулируемой сетевой карты, количество доступных процессоров и другие.
И немного картинок:
Данная система виртуализации позволит создать распределенную систему с различными сервисами, бекапами, софт RAID и другими плюшками.
Заключение… Продолжение?
В итоге получается достаточно компактная и мощная(для дома или малого офиса) система. Отдельные NAS системы от именитых производителей могут обеспечить практически такие же возможности, но там работает проприетарная ОС, к которой можно доустановить ряд модулей и сервисов. В моей же идеологии это самостоятельная система которую я могу дорабатывать и улучшать в рамках возможностей выбранного железа и софта.
Для чего же мне в итоге понадобится такая система? Ведь не для простого эстетического удовлетворения? Конечно нет!
Просто приведу список того, что у меня уже реализовано или же в процессе изучения и проработки:
- DNS — доменные имена в локальной сети вместо IP адресов. Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
- Torrent Transmission — качалка торрентов. Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Plex Mediaserver — домашний медиа сервер. Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
- The Dude — мониторинг девайсов в домашней сети.
- Умный дом, домашний IoT.
- IP телефония.
Далее я планирую описать реализацию интересных пунктов из этого списка. Следите за обновлениями!
Кстати по цене вы могли посчитать, что все это в рамках двухлетней сборки обошлось мне около: 80 000 руб., что в среднем по 3 333 руб в месяц.
А на чем вы собрали, планируете собирать или еще только продумываете себе подобное решение? Пишите в комментариях!
Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉
UPD: 03.02.2023 (добавление M.2 NVME SSD)
В конфигурацию добавлен M.2 NVME SSD накопитель для реализации L2ARC кэша и ZIL кэш логов записи.
Подробнее в соответствующей статье: Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox
UPD: 21.10.2022 (восстановление сервера)
Где-то в середине 2021 года длительное отключение электричества привело к неприятной ситуации — сервер перестал запускаться. Сервер пришлось жёстко выключить т.к. он перестал реагировать. Бесперебойник тут не при делах. После первичной диагностики удалось понять, что виной всему материнская плата. Видимо та самая ситуация которую описывал Дмитрий в комментариях.
И вот в конце 2022 года, я таки сподобился реанимировать свой сервер (до этого всё запускал на Raspberry Pi — такое себе если честно)
Мне повезло найти б/у серверную материнскую плату Asus P10S-i, но это повлекло за собой замену CPU и памяти соответственно. Итак новый сетап:
- Материнская плата: Asus P10S-I (Ссылка)
- Процессор: Intel Xeon E3-1280 v5 (Ссылка)
- Оперативная память: Kingston 8 ГБ DDR4 3200 МГц CL22 (KSM32ES8/8HD) — 2шт.
Кулер подошел изначальный.
Бонусом достался кабель mini-SAS HD для подключения тех самых 4х дисков.
На удивление после подключения всех компонентов система запустилась без каких либо проблем. Вот что значит преимущество создания программных RAID массивов.
Оставалось обновить Proxmox и контейнеры до последних версий, что также успешно было исполнено.
Всем добра и беспроблемной работы ваших систем 😉