Пускай, в настоящий момент, все пишется, как говорится «в стол». Но, кто знает, что там нас ждёт в будущем…
Тем временем, моя жизнь не стоит на месте. Проекты рождаются и реализовываются (или подыхают) своим чередом. Одним из них был проект серверной для моего умнеющего, день за днём, дома.
К моменту написания этого поста, функционал многочисленных сенсоров и контроллеров в доме уже перерос возможности Raspberry Pi 3B+, которая достойно справлялась с задачами “центрального мозга” для дома в течение предыдущей пары лет. Она прожила долгую и достойную жизнь, сделав блестящую карьеру на этом поприще. Более того, она пыталась выполнять свои задачи даже тогда, когда вокзал с названием “малина не справляется” был уже далеко позади.

Но чудес не бывает… В какой-то момент она сказала: «С Новым Годом! Я устала, я мухожук!».
Так, на смену малинке пришел более адекватный компьютер, реализующий в себе функции домашнего NAS, локального веб-сервера, базы данных, автономной качалки торрентов и систем управления контроллерами дома и т.п.
Собрал за вечер на коленке из кузова и материнки с процем, которые мне передал в дар Друг, проапгрейдивший свой собственный NAS. От себя я добавил только жёстких дисков, да памяти напихал… Фотографий нет, но там и фотографировать нечего — обычный писюковый форм-фактор без затей.
Когда новый сервер принял на себя функции «центрального мозга» для дома в полном объёме, настало время подумать куда ж его вкорячить так, чтобы он, и под рукой был, и места не занимал, и под ногами не путался, и в комфортной для себя обстановке, и в безопасности от внезапных котов, и вообще. Да ещё чтобы и глаза не мозолил, оставаясь, при этом, частью дома.
Заметка из будущего:
А потом «умный дом» опять переехал с NAS на малину. Правда, уже пятую. И уже под управлением совсем другой системы для «умного дома». И оно уже совсем другая история, которую я когда-нибудь расскажу, когда оно все в голове уляжется и перестанет менять концепцию, каждый раз, как я какой новый контроллер придумаю…
Конечно, идея с «домашней серверной» мне не только что в голову ударила. В голове проект обсасывался уже очень давно — он буквально вынашивался годами. Как следствие, место в доме под проект было выбрано давно и согласовано со всеми с кем только можно. Все согласились с правильностью выбранного решения.
Есть у нас на кухне кладовка для хранения вкусняшек (pantry storage). Неизменный и обязательный атрибут на любой кухне, в любом доме, в любой части света, во все времена. Может быть в виде отдельного предмета мебели, типа шкафа или сундука. А может, как в нашем случае, встроенным в стену небольшим «помещением»:

Причём, сама по себе кладовка не занимает эту часть стены по всей высоте. Ну, просто потому, что до потолка кухни там, как до Луны, а функционал кладовки теряет смысл на высоте среднего роста самки человека с вытянутой вверх рукой. Т.о. от внутреннего объёма кладовки и до потолка имеется весьма внушительный кусок пространства, который до последнего времени никак не использовался:

Вот в этом объёме и было решено развернуть проект по сооружению «домашней серверной».
Среди плюсов:
- Места достаточно не только для самого сервера, но и для всей сопутствующей ему инфраструктуры типа модемов, хабов, свитчей, роутеров, вентиляторов, AP, БП, ИБП и прочего ХЗЧ.
- Это почти самый центр всего жилого пространства жилища и длина любых коммуникации от этой точки по чердаку до конечного потребителя в любом из углов дома будет одинаковой.
- В перспективе туда уйдёт и точка раздачи WiFi, что сделает покрытие домашней локальной сети по дому более равномерным. В основном это важно для всех домашних «умных» контроллеров с их маломощными приёмниками.
- Локация расположена вдали от спальных комнат и, т.о., никакое гудение сервера и присных его, не будет тревожить чуткий ночной сон Пса.
- Не занимает никакого нужного места в пространстве дома. С точки зрения обитаемой площади, этого места как бы и не существовало никогда.
- Самое вентилируемое место на перекрёстке большинства воздушных потоков из системы центрального кондиционирования воздуха, что для электронной аппаратуры работающей в режиме 24/7 — немаловажно.
- Недоступно для нашего домашнего зоопарка от слова совсем. Проверено Котом лично.
Среди минусов — только один:
- Без лестницы или табуретки к серверной не подобраться.
При таком соотношении плюсов к минусам, иных вариантов и искать уже не надо было…
Хотя, по правде сказать, в качестве одной из рабочих версий, была мысль о размещении серверной на чердаке…
Но, как-то летом, было дело, закинул туда один из домашних сенсоров, на предмет выяснения того, насколько там вообще бывает жарко… Выяснил. Бывает жарко. Мягко говоря. См. температурный график…
После обнаружения этого факта, чердак навсегда был исключён из любых потенциальных проектов, как нынешних, так и будущих. До наступления нового ледникового периода, по крайней мере…
Вся затея не выглядела слишком сложной.
Розовые единороги, пуская волшебные слюни и попукивая бабочками, нараспев щебетали, что там всех дел будет: прорубить дыру в стене, провести электричество, закрыть все дверкой, покрасить в белое и готово! Ну да, ну да… Они всегда так говорят. А потом, вместо запланированного лёгкого «за пару минут», все выливается во вдумчивое строительство на пару недель.
В данном конкретном случае, первым делом нужно было вскрыть стену и посмотреть, что там позади неё. Предварительно я пытался разведать эту область со стороны чердака — безуспешно. Потом, правда, выяснилось, что я искал не в том месте… Но не суть…
Зная злонамеренный характер единорогов, ответственных за вопросы DIY, постарался не слишком уж раскурочивать стену, чтобы, ежели чего, можно было вставить вынутый кусок гипсокартона обратно и сделать вид, что ничего не было:

На фото выше, вынутый прямоугольник гипсокартона как раз и пришлось вернуть на место. Но не по причине провала проекта, а просто потому, что разведка предоставила новые, ранее неизвестные данные исключительной важности. И потребовалось внести некоторые изменения в планы.
В частности, выяснилось, что та полость позади стены, не является замкнутым объёмом, а напрямую связана с чердаком. Водопад раскалённого воздуха, вылившийся из дыры, безмерно опечалил наш домашний кондей, который перешёл в режим работы на повышенных оборотах. Это в свою очередь опечалило электросчётчик, который так же перешёл на повышенные обороты. А это, в свою очередь, могло очень сильно опечалить семейный бюджет… Чтобы волна этих печалей не захлестнула всех с головой, разведывательное отверстие было заткнуто на то время, пока в планы вносились изменения и шли всякие подготовительные операции. На это ушла пара дней.
Тонким моментом во всем этом было то, что кладовка своей крышей влезала в объем предполагаемой серверной:

А проблема тут в том, что это все располагается в самой жилой и парадной части дома. Нужно было постараться сделать все так, чтобы серверная ниша над кладовкой вписывалась в общий изысканный «архитектурный ансамбль».
Если привязываться к конструкции потолка кладовки, то большой «пробел» между дверью шкафа и будущей дверцей серверной, вносил бы существенный дисбаланс во внешний вид. При таком раскладе совершенно точно нельзя было бы сказать, что «оно всегда так и было».
Когда в планы были внесены все необходимые изменения и завершились необходимые подготовительные операции, стена была вскрыта уже капитально, с учётом размеров серверной, как она задумывалась:

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

Других приключений, в части конструкции кладовки, не обнаружилось. Ну, разве что, вот несколько внезапных проводов, которые были брошены поперёк объёма будущей серверной с чердака к ближайшему выключателю. Они там висели почти в натяг без шанса их как-то передвинуть или обойти:

«Но это ничего, это, даже, хорошо!»(с)…
Двое из трёх проводов, как выяснилось, идут от выключателя к светильникам на потолке кухни. Они были просто наращены и пущены в обход сквозь брус вдоль стены.
Зато третий — питающий, как раз и стал источником электричества в серверной нише. Благо, оказалось, что он был частью самой слабонагруженной электрической ветки в доме (на ней только два кухонных светильника на потолке висит + одна розетка в стене, которой мы почти не пользуемся). И управляется эта ветка своим отдельным автоматом в щитке.
Изначально проект предусматривал прокладку отдельной ветки от щитка до серверной, а оказалось, что тут и делать, ничего не надо. Все уже готово. Просто идеальный расклад!
Сразу же после полного вскрытия стены, объем будущей серверной был изолирован от чердака панелями теплоизоляции, заготовленными заранее в нужных размерах. Как по потолку, так и по стенам:


Без теплоизоляции, даже со стороны комнаты, в этой области находиться было, мягко говоря, неприятно (см. график с температурами выше).
После устранения угрозы мгновенной смерти от перегрева всего живого и неживого в доме, можно было начинать уже что-то строить и оборудовать. Первым делом, внутренняя область серверной была закрыта фанерой в качестве обшивки:



Зачем внутри серверной сделана ещё одна вертикальная узкая ниша? Очень просто…
Как обычно, реальный мир и мир сказочных единорогов, расходятся в некоторых малозначительных деталях. Так, например, сервер в формате «писюк обычный, настольный», по глубине входит в объем серверной буквально впритык. От передней её дверцы до задней стенки дюйм в дюйм! На такую ерунду, как, например, штекер питания, воткнутый в заднюю панель корпуса компьютера места не оставалось вообще. А там же ещё и витая пара для подключения сети, USB-шнурок к ИБП и что-нибудь ещё, наверняка.
Вариантов было три:
- установить компьютер в серверной боком;
- найти необходимые провода с какими-нибудь сверх-компактными угловыми штекерами;
- сделать серверную глубже, чтобы для компьютера позади было чуть больше пространства.
Последний вариант и был организован, как «меньшее из зол»:



Расположение и конфигурация «суб-ниши» обусловлена конструкцией задней стенки серверной. Она же, по совместительству, стена столовой в той части дома.
Конечно, просто поставить компьютер боком было ещё проще, но выглядело бы это, как черт знает что. Дверца серверной предполагалась прозрачной и стоящий за ней боком компьютер с органами управления на передней панели смотрящими в одну сторону и пучком проводов из задницы — в другую… Ну, такое себе…
Поиск же и покупка каких-то особых проводов с хитрозадыми штекерами затянула бы проект. Да и сомневаюсь я, что оные поиски увенчались бы успехом. Слишком уж оно там впритык получалось.
Есть у меня, например, шнуры питания с угловыми C13 на конце, но не сказать, чтобы они настолько уж и маленькие. По крайней мере, в данном конкретном случае, они ситуацию не спасали никак ваще. Было проверено, само собой…
Покончив со стенами в серверной, настало время заняться её внутренностями.
Тут стоит заметить, что — ну, разумеется — ещё на самых ранних этапах проектирования, рассматривался вариант с установкой стандартных серверных салазок. Даже потратил несколько дней на крейгcлисте и на маркетплейсе в поисках недорогой поюзанной серверной мини стойки, которую можно было бы просто вкорячить как есть в объем над кладовкой и использовать по прямому назначению.
Типа такого, что-нибудь:

Такого добра, в принципе, навалом на вторичке по разумным ценам. Но…
Составил список имеющегося содержимого, посчитал количество того, что может быть представлено в виде стандартных юнитов серверной стойки. Вышло ровно две штуки: юнит с розетками (который уже есть) и, возможно, юнит с ИБП (который придётся найти и купить). И все! Все прочие элементы для серверной уже есть и работают. Они представляют собой сугубо бытовые варианты, никаким боком не укладывающиеся в формат серверного юнита. Включая и сам, собственно, сервер. Который, как не раз уже было отмечено выше, представляет собой простой настольный писюк по форме.
Наиболее разумным тут представлялось, не оборудование подгонять под серверную, а, наоборот, подогнать устройство серверного шкафа под уже имеющееся оборудование. Оное то — вот уже имеется и работает, а шкаф все равно надо стоить что так, что эдак.
Да, можно было бы найти в кладовке старый свитер, приколоть на него значок с пингвином, отрастить бороду и, рыгая дешёвым пивом, на серьёзных щах, парить всем вокруг, о том, что правильно…
Спасибо за картинку, DALL-E. Да, вот именно так это могло бы выглядеть. Хотя папиросу в зубы я не просил рисовать. Я никогда не курил папиросы. Только сигареты и трубки… Хотя, с папиросой тоже нормуль… Значок — ваще шикарный. Теперь хочу себе такой… Да и свитер выглядит уютным… А уж пиво…
Тьфу… Короче, в моем конкретном случае, на такой алтарь праведности, пришлось бы положить абсолютно весь парк имеющихся устройств, загнав себя в совершенно иные и весьма жёсткие рамки. Это вылетело бы в ощутимую копеечку, мягко говоря. И для целей домашнего NAS с зачаточными функциями веб-сервера, на уровне хобби и развлечения, все это настолько неразумно, что и калькулятор доставать не стоит.
Единственный имеющийся на руках стандартный серверный юнит — блок с розетками — без затей уместился в ту «суб-нишу», которая была организована для штекеров/проводов идущих к серверу:


Питание на этот блок идет внутри стены напрямую с автомата из электро-щитка, поэтому никакой лишней вермишели внутри не болтается.
Хотя, все же, некое подобие стойки соорудить пришлось. Но подобие совсем примитивное и компактное. Тупо две металлические вертикальные палки. Вот и вся «стойка»:



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



Когда в доме есть 3D-принтер, напечатать крепление даже под самый хитровыдолбанный корпус устройства — дело пары часов. Лишь бы ответная часть этого крепления подходила к этим стойкам.
Пример посложнее. Крепление массива колодок центрального блока питания для камер наблюдения:




Нафига? Ну… Всем камерам, что у меня есть в составе «умного дома», нужны одни и те же 12V. Каждая камера идет со своим БП в розетку. При этом, каждая камера по витой паре подключена в общий хаб, продемонстрированный выше. Так и чего сущности плодить? Пускай, будет только один мощный БП, который и раздаёт всем камерам 12V. Витую пару все равно надо тащить от камеры к хабу, ещё пара проводов питания погоду уже не делают. Это и безопаснее, кстати, т.к. не нужно ставить по всему чердаку высоковольтные розетки для каждого БП каждой камеры. И это не говоря уже о том, что на чердаке, штатным БП-кубикам живётся очень хреново при царящем там климате.
Да, я в курсе про Power over Ethernet. Но чойта сильно дораха выходило на тот момент. Как минимум, пришлось бы свитч или хаб с поддержкой PoE искать/покупать. Плюс, я не очень уверен, что имеющиеся камеры умеют в PoE на своей стороне… Т.е., потенциально, и камеры сменить пришлось бы.
Камеры умеют в WiFi и, казалось бы, витую пару к ним тоже можно не таскать. Но, во-первых, у меня и без камер есть чем эфир забить. А, во-вторых, это не решает проблемы с питанием от слова «совсем»… Что-то тащить придётся, как ни крути. Либо питание, либо витую пару. И при таком раскладе уж без разницы: проводом больше, проводом меньше…
Ещё надо будет соорудить крепление для роутера и модема в том же стиле. Но они пока торчат у меня в кабинете на прежнем месте. Дело в том, что кабель от провайдера идет к одной стороне дома. А чтобы затащить его в серверную его надо подать с другой стороны. Это будет задачей второго этапа проекта.
Так или иначе, когда придет время, то такие индивидуальные подвесы можно сделать для чего угодно и когда угодно. Их можно спокойно двигать вверх-вниз по стойкам, менять местами и т.о. конфигурировать расположение оборудования в зависимости от текущего расклада.
Это, как пегборд на стене в мастерской для развешивания инструмента. Сегодня показалось, что удобно так, завтра может оказаться иначе. В подобных случаях, модульные системы оказываются намного более функциональными, нежели стационарные полки… И, да, обычную полку, кстати, тоже можно присобачить к этим стойкам, если приспичит…
Для вывода всех проводов на чердак, в потолке серверной предусмотрено просторное отверстие, с оправкой из трубы ПВХ. Она проходит сквозь потолок и теплоизоляцию прямиком в объем чердака:


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


Он не работает постоянно. В серверной, само собой, есть подсветка и управляющий ею контроллер… Дом же «умный»! Ещё б я в святую святых его «разума» не впердолил очередной контроллер… Ну, вот, этот контроллер и управляет вентилятором. Включает его, если температура в серверной поднимается выше заданного предела. Выключает, когда температура падает до желаемой.
Этот же контроллер рапортует системам умного дома о текущей температуре внутри «серверной». Если там чё вдруг за пределом разумности нагреется, сразу же будет подняты вой и истерика на все наши телефоны и почту.

Там, на самом деле, с мониторингом всё немного сложнее, конечно, устроено… Система опирается не только на данные с этого контроллера, но и на данные самого сервера. На основе анализа всех параметров, «умный дом» принимает решение: сообщить ли мне тихонько о чем-то подозрительном или закатить полноформатную истерику для всех до кого дотянется.
Выхлоп этого вентилятора без затей идет прямо в столовую, которая находится по ту сторону стены:


Шума это все почти не производит. Сам вентилятор очень-очень тихий — из ценовой категории «понты дороже процессора». Лично я его вообще не слышу. Пришлось, даже, на контроллер специальную лампочку поставить, чтобы хоть зрительно понимать, работает оно вообще или нет…
В плане нагретого в серверной воздуха, перекачиваемого в столовую… Ну, поскольку все размещённое в серверной оборудование, в основном, бытовое, то оно не производит много тепла. Включая и сам сервер. Вентилятор включается на 10-15 минут раз в несколько часов. В особо жаркие дни он включается раз в час полтора. Никакого существенного влияния на общий климат в помещениях оно не оказывает.
И это не голословное предположение. Столовая, кухня и гостиная, обзавелись своими контроллерами ещё три года назад. Все ходы записаны! Можно проследить изменения температуры и влажности в этих помещения, как до появления серверной, так и после. Исследования показали, что если таковые изменения и есть, то они за пределами чувствительности «климатического» чипа BME280, что для нас, мясных мешков, означает «разницы нет никакой вовсе».
Это, кстати, был ещё один момент, который заставил меня отказаться от идеи постройки «взрослой» серверной с «настоящим» сервером. Для него уж точно пришлось бы организовывать вентиляцию с отдельным выхлопом по чердаку за пределы дома… А то, был у меня как-то ещё в Москве серверный Sun под столом. С ним, батареи в комнате на зиму можно было не включать…
Ах, да… И подсветку в шкафу я тоже сделал. Куда ж без неё…

Естественно, светом и вентилятором можно управлять дистанционно через общий интерфейс управления функциями умного дома, не залезая в серверную. Но 99% времени все работает в автоматическом режиме и никакого внимания со стороны человека не требует.
Когда начинка серверной была собрана в минимальной конфигурации и мозги умного дома зачесались на новом для себя месте, стало понятно, что вот так оно и должно быть. Идея себя оправдала и никаких существенных изменений в планировку серверную вносить не нужно. Соответственно, можно заняться её декоративной мордой лица.
Передний проем всей ниши изначально был вырезан по контуру, образуемому несущим брусом стен. Т.е. по двум длинным вертикальным столбам под гипсокартоном, на которых так же висит и дверь кладовки ниже.
Тут возник один момент… Если делать дверцу серверной по всей ширине сделанного проёма, то она получается сильно шире двери кладовки. Ведь, помимо бруса, размер двери кладовки задаётся так же и её коробкой. Это было бы странно и некрасиво.
Поэтому, для серверной ниши пришлось соорудить некое подобие рамки, которая имитирует толщину дверной коробки кладовки под собой:

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



Даже получилось валиком сделать имитацию «пупырышков» на наличниках (на фото их почти не видно). Оригинальные наличники двери кладовки имеют «пупырчатую» текстуру. Но сейчас такие наличники уже не делают, похоже. В магазине нашлись точно такие же по профилю, но гладкие совершенно. Оно конечно высоко под потолком и если не указывать специально, то эту разницу хрен кто заметит, но я то знал бы! Так, что пришлось сделать «пупырки», чтобы спать спокойно по ночам.
С самой дверцей обстояло все немножко сложнее. Её нельзя было делать сплошной. Не важно со стеклом или нет. В ней должны быть вентиляционные отверстия. Иначе вентилятор в серверной может начать тянуть воздух с чердака через канал с проводами, как его не конопать изоляцией. А это не очень хорошо.
Поэтому дверца состоит как бы из двух секций. Одна под стекло, другая под вентиляцию:


Вон та узкая нижняя часть — воздухозаборник:


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


Стекло — акриловое. Не стал я там особо заморачиваться. Просто квадрат не слишком толстого оргстекла на толстом двустороннем скотче по периметру. Выглядит аккуратно и без лишних сложностей.
В загашнике нашлись очень хорошие выносные пружинные петли для дверцы. Правда для них пришлось напечатать специальные проставки, чтобы компенсировать толщину фальшивой коробки к которой эти петли крепятся:



Что-то в последнее время такие петли пропали из продажи. Это печально. Очень уж они мне нравятся. Их не видно, для них не нужно ничего фрезеровать в дверцах, регулируемые, хорошо прижимают створку к косяку… В загашнике ещё есть парочка таких, конечно, но… Ладно. Когда возникнет задача, найдётся и решение. С серверной, во всяком случае, вопрос подвеса дверцы был ими закрыт. Буквально.
В общем, это и все. Проект вышел, конечно, но не «пару часов», как обещали единороги, но ничего особенно сложного в процессе его реализации тоже не вылезло. По ходу эксплуатации, в «стойку» была ещё добавлена пара девайсов, рядом с сервером завёлся большой надёжный ИБП, ну и по мелочи там всякое.
Итог:

Вписалось, как родное! Поскольку, «серверная» не нуждается в постоянном доступе, то оно живет там тихонько себе, никто про нее и не вспоминает. Вмешательство в работу сервера, если и требуется, то оно все происходит на программном уровне из окна терминала с любого доступного в доме компа.
Даже Кот на нее плюнул. Сперва подолгу сидел внизу, на барной стойке напротив, наблюдая за мигающими там иногда внутри огоньками. Но потом и он забил на это дело. Все равно достать не получается…
Дошло до смешного… Спустя время, мы как-то с Женой вели разговор на эту тему и она начала утверждать, что сам шкафчик там всегда и был с начала времён, а я, дескать, просто переоборудовал его под «серверную» и дверцу переделал. Пришлось доставать фотографии и доказывать свою правоту. Не доказал. Потому, что «это фотошоп«, «нейронка нарисовала» и, вообще, «у тебя память дырявая, я лучше помню«. Зато мне это доказало то, что все поставленные задачи проекта были выполнены на 100%.
Такие, вот, дела…
P.S. Полтора года спустя, данный проект получил продолжение.