Логика надежности

В очень далекие времена у меня был НАС Qnap. Работал он хорошо, функции файлопомойки выполнял исправно, облачный доступ обеспечивал из любой точки, лет за 15 активной деятельности, включая DIY чертежи, схемы, код обеспечивал. Там же были семейные фото и немного кино/музыки.

А потом он сломался. Сам. Qnap. И все встало колом.

К этому моменту я знал и имел как исследование/игрушку НАС TrueNAS со всеми плюшками, которые он позволяет. Там я узнал о Paperless-ngx и Immich - самые нужные вещи в домашнем хозяйстве кухарки и плотника. НАС этот был и есть развернут на каком-то левом железе ибо поиграть и понять.

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

Qnap пришлось купить б/у с рук (все равно цена конская), чтобы восстановить данные. Он есть, но “лежит” в запасе. Qnap плох тем, что он на слабом, слабейшем железе, ничего путного с ним не сделать и повторить его покупку, если откажет этот б/ушный, я не готов.

TrueNAS хорош всем, кроме того, что собран из … и палок, шумит как бетономешалка, железо старое и все равно скоро сломается.

И тут я подхожу к необходимости следующего шага. Как удивительно: нужен домашний сервер. Тихий. НЕНАДЕЖНЫЙ, ибо все ломается в самое неподходящее время. Лучше пусть он будет быстро-ремонтопригодный и восстанавливаемый.

Я полагаю сделать его на безвентилятроном ПК на Intel N150 и присоединить к нему пару жестких дисков на докстанции. Операционка на паре sdd в массиве. Данные на паре жестких дисков в массиве.

Как организовать решение программно имею смутное представление. Полагаю Proxmox, внутри - виртуальные машины и контейнеры, но как выполнить с точки зрения “быстро заменил и одной кнопкой восстановил” пока не представляю.

Что хочется от прочитавшего.

  1. Отругать за глупость вышенаписанного. Или согласиться.
  2. Дать общие инструкции типа “Ставишь это туда, организуешь это и это”.

Мне не нужны подробные объяснения - разберусь сам. Но нужно направление первых шагов, ибо пойдя не туда, и придешь мимо.

Спасибо хотя-бы прочитавшему много буков, а давшему совет - респект необъятный :wink:

запуская сервер - имей понимание, что тебе потребуется еще один ящик с дисками в 2раза больше для бекапа

но прокс это избыточно для тебя, если тебе надо хранить просто файлы и запустить пару контейнеров
лучше уж купить это https://unraid.net/

или нас на н100 UGREEN 2-Bay-NAS-Speicher mit 76 TB | 14-tägige Testversion – UGREEN NAS DE

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

в этом году был кунап, где слетел загрузчик

покупать отдельно ящик с дисками нет смысла, он стоит как половина наса, лучше сразу все в одном купить

если дохнет один диск для данных, то просто выключить, воткнуть новый диск, включить - он сам все сделает

да и в системным диском тоже самое
если дохнет плата, то поменять ее на новую и подключить диски в такой же последовательности, а лучше для системных дисков использовать нвме 2 штуки

но в любом случае бекап нужен

1 лайк

Соглашусь, что proxmox пока не особо целесообразен. если не смущает история с приложениями в Truenas, то прще не собирать матрешку, а напрямую на железо поставить truenas и получить прямой доступ к дискам.

  1. В целом, видится, что если хочется SSD под систему и HDD под данные, то ставится PVE c ZFS mirror на SSD, потом туда ставится в виртуалку Truenas и в него прокидываются диски, которые тоже собираются в zfs mirror или raidz
  2. Либо PVE ставится на SSD, HDD собираются в рейд прямо на хосте, а потом без truenas по инструкци https://www.youtube.com/watch?v=lJazySwCdC8 прокидываете папки в контейнеры с софтом, можно даже взять сборку самохостинга https://www.youtube.com/watch?v=7CYAZeQeg3s
  3. Либо truenas без PVE, тогда он ставится на SSD тоже в mirror, и в нем создается пул из raidz/mirror hdd, в нем устанавливаются приложения и при необходимости, контейнеры

PVE в truenas может прокидывать ли PCI контроллер или диски по одному, во втором случае простая замена диска не поможет - надо править конфиги и прописывать новые серийники дисков.

Ну и стоит обратить внимание на то, что надежное решение с zfs и без ECC памяти формально не достижимо Truenas: примеры low power сборок строго с ECC

Я намучился уже с боксами и USB подключением дисков.

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

Я бы предложил если требуется энергоэффективность и не смущает non-ECC оперативка

  • JONSBO корпус
  • mini ITX материнку китайскую (ищутся по “mini-itx nas board”) на n150 или n305 (зависит от бюджета и потребностей)
  • Приколхозить нормальный и тихий охлад
  • Нормальный блок питания с пассивным режимом работы

Это будет самый безпроблемный вариант, КМК

Туда же можно при желании воткнуть M2 → SATA плату или HBA контроллер полноценный, пробросить его в truenas (в случае варианта с PVE → TrueNAS) и дергать диски на свое усмотрение

Вот тут даже спорить не буду :laughing:

1 лайк

Что в данном случае имеется в виду под “надежное”? Мой ТруНАС работает без каких-либо проблем, или я их не вижу?

В чем возникает проблема?

Докстанция Ugreen на два диска на али стоит 2 тр. Рискну потестировать что получится.

======================

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

Планирую заказать вот это.

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

это же не для наса

для начала тебе нужна будет аткая херня
https://aliexpress.ru/item/33038670915.html

потом какая нибудь мини итх плата или типат ого

можеш себе даже роутер сделать, правда Freebsd очень плохо поддерживает влан адаптеры, так что точку доступа придется делать отдельно

1 лайк

Вторая плата поддерживает 32 гб, но N150 только 16. Противоречие?

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

1 лайк

У меня и N100 и N150 завелись с одной плашкой на 32Гб, если не работает, то это скорее исключение из правила

Я скинул ссылку на обсуждение темы, если придираться, то ZFS требует ECC памяти, т.к. non-ECC может рандомно менять значение при попадании космического ветра и т.д., а для ZFS это критично. Поэтому тут некоторые товарищи озадачились поиском сборок для TrueNAS с поддержкой ECC памяти

У меня yottamaster на 5 дисков, UAS просто нерабочий, диски отваливаются, usb-storage медленный, в итоге я медиа диск с торрентами вчера перенес из коробки в однодисковый бокс от orico и скорость выросла в 2 раза, а io wait упал в 2 раза

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

Взял USB–> SATA переходники, чтобы собрать свой бокс и подлкючиться к нему, в итоге обнаружил, что не всегда SMART работает без указания типа, при подключении или отключении диска весь адаптер перезагружается, но что-то мне подсказывает, что не зря yottamaster поставили USB хаб и 5 usb → sata контроллеров

Пока руки не доходят, но буду пробовать M2->SATA на тему нормальной работы

2х дисковые боксы не пробовал, это единственное, что не пробовал.

В итоге я уже практически стал экспертом в области USB/PCI-E/SATA контроллеров, хабок, концентраторов и багов ядра.

В итоге у меня из 5 нод PVE 4 обновлены до PVE9, а один миник все еще на PVE8 т.к. с вероятностью 100% при обновлении, при подключении бокса из 5 дисков определится 2 или 3

В общем, я изначально был уверен, что удобно и смотрится нормально бокс на 5 дисков и сверху миник, который при необходимости можно сменить без замены бокса, но сейчас у меня под ногами стоит это все, обмазанное кучей переходников, еще кое-что в пути, а оптимизма не прибавляется

Я пропустил момент когда FreeBSD вошла в чат

1 лайк

opnsense сделан на базе бсд

Если смотрите на процессор N100, N150 и им подобные и достаточно 2 дисков 3.5 дюймовых, то я бы лучше рекомендовал для вашей задачи Aostar R1. Он есть и на n100 и на n150 и на райзене. Есть М2 накопитель и сетка 2 порта по 2.5Гбита. Два отсека под HDD 3.5 и хочешь делай raid 1. Доработаете немного охлаждение установив 120мм вентилятор вниз или вверх и забудете про перегрев внутренних компонентов. Считаю для начала пути в домашние сервера хорошая железка за такую цену, чтобы понять что это за мир домашнего сервера.
По поводу ОС. Считаю вам лучше будет поставить ОС от Synology. Интерфейс понятный, адаптированный больше под обычного пользователя с кучей возможностей и настроек. Ставится не сложно. Ещё можно отнести к плюсу этой ОС то, что в случае выхода из строя железа минисервера один из вариантов слить инфу с дисков подключив их к другому ПК и установив эту ОС в виртуальной машине. Если хочется Proxmox, то так же без проблем можно будет накатить на эту железку.

1 лайк

Ремонтопригоднее декстоп железа еще не придумали
Ящик с Athlon PRO 300GE можно собрать дешевле 10к рублей из нового железа.
Для тишины можно поставить вертушки Arctic 0db или аналог (и настроить включение только под нагрузкой), при желании поменять еще и в бп.
Материнки нонейм/оем с китая не рекомендую для восстанавливаемости - у одной и той же модели могут быть разные компоненты и разводка pcie/usb и не получится восстановить как было при замене.
Брать только нормальные бренды типа asrock, gigabyte, msi

Единственный минус - потребление будет минимум раза в 3 выше чем у системы на N150

2 лайка

Очень спорная тема, одному будет достаточно минипк на n100, другому надо ECC-память и серверный проц для надежности. Одному нужен рейд, другой лучше зарезервирует данные на втором таком серваке в другой квартире/облаке/офисе. Я бы максимально избегал монструозных решений типа трунаса, тк диагностировать проблемы на этом дендрофекальном поделии весьма проблематично, лучше lxc-контейнерами сервисы поднять, возиться придется дольше, но не будете зависеть от апдейтов конторы, которая вечно что-то ломает.

И выбирайте решение, которое вы сможете повторить, чтобы сделать бекап-сервер, вскоре придет понимание, что лучше иметь резерв всех данных, чем не иметь

1 лайк

Ну тогда можно уже оформить следующую таблицу

Что Сбои Вариант решения Комментарий
RAM В редких случаях может случаях может менять значение Использовать “серверную” ECC память с корректировкой ошибок Часто потребляет больше энергии, поддерживается серверными CPU типа Xeon и AMD Pro
HDD Выход диска из строя RAID контроллер, программный RAID, бэкапирование, кластерные ФС
Мониторинг SMART
Иметь запасной диск, который может или руками или автоматически добавляться в RAID массив в случае выхода из строя основного диска
Часто используется либо MIRROR/RAID 10 с 2мя дисками в зеркале или RAID5,6/RAIDz с “размазанной” избыточностью

Надо понимать, что RAID это не серебряная пуля, выход из строя диска в массиве это все равно нештатная ситуация и массив будет в состоянии деградации с потенциальным падением производительности, а для RAID5/RAIDz1 выход второго диска полностью похоронит данные в массиве, поэтому считается, что если у вас HDD из одной серии и RAID 5 массив ушел в аварию, то надо бежать пересобирать массив, иначе, под повышенной нагрузкой начнут выходить из строя остальные диски
Аппаратный RAID Может использовать свои форматы и сигнаруты на дисках, другой RAID контроллер может не собрать массив от чужого контроллера Использовать популярные контроллеры или программный RAID На Ali есть куча контроллеров в IT прошивкой, которая пробрасывает все диски в сыром виде, а уже условный TrueNAS собирает из них программный RAID массив
Блок питания Выход из строя Серверные решения часто имеют 2 БП, подключаемые к 2м независимым линиям питания У меня был Barebone сервер с SFP БП, который грелся, гудел и выходил из строя по причине плохой схемотехники, после очередного ремонта выкинул и перевел питание на ноутбучные блоки питания, они тоже выходят из строя, но поменять быстрее
Материнская плата и компоненты Выход из строя компонентов Использовать серверные решения, с упором на надежность, если бытовые, то популярные варианты, которые можно легко заменить. Плата с распаяным ноутбучным процом или x99 подобные на зеоне являются не лучным решением Желательно не привязываться к железу, а если привязка нужна, то использовать виртуализацию (именно QEMU, а не LXC), например, тот же 1С сервер нормально переживает перенос виртуалки на другой хост, PVE имеет функционал маппинга устройств на разных хостах
Серверное железо надежное, конечно, но сервер, которому 20 лет все равно остается 20 летним сервером
Система охлаждения Мини ПК, особенно дешевые типа GMKTec G3 имеют ноутбучную систему охлаждения и не могут долго работать под нагрузкой Использовать серверные решения или нормальную дискретную систему охлаждения на mini ITX/ATX/E-ATX платах

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

По безвентиляторным вариантм, сам взял себе на N4000 миник, но там производительность очень малая. На N100 есть вроде неплохие варианты, но я видел отзывы, что некоторые миники все равно перегреваются и через 20 минут отваливается сеть, народ колхозит сверку 120 вертушку
Виртруалки и сервисы Неправильное конфигурирование, падение при обновлении, смерть сервера, взлом и просто смерть виртуалки Бэкапирование Я для дома выработал следующие правила
1. Конфигурация находится в GIT, секреты в Vault, провижининг в Ansible, раскатываем и обновляем при помощи CI/CD
2. Бэкапируем виртуалку или контейнер на другой сервер, чтобы можно было восстановить образом
3. Внутри виртуалки пользовательские файлы бэкапируем отдельно, они занимают меньше места и надежней, т.к. бэкап работающей виртуалки не самая хорошая идея
4. Данные на NAS переносим на другой диск по типу холожного бэкапа с хранением диска на полке
5. Данные на ZFS NAS обмазываем снепшотами, тем самым защищаемся от случайного удаления или изменения
6. GIT и некоторые части NAS бэкапируем в облако, например, зеркалируем репозиториии на gitlab.com/github.com
7. TrueNAS или PBS в виртуалке проще восстановить из бэкапа, нежели, развернутые на хосте
8. Для оборудования или DIY решения или менеджеры конфигураций с бэкапом конфигов, для node-red проекты с git репозиторием
Система в целом Сервер упал и упали сервисы Кластеризация, поднимаем несколько инстансов сервиса на разных серверах, используем оркестрацию типа K8S, храним данные на стороннем SAN/NAS Несколько мелких серверов надежнее 1 мощного, в идеале иметь сервера без дисков для вычислительных ресурсов и отдельный SAN, который будет отдавать диски VM, но это дорого и SAN тоже может выйти из строя
Бэкап Потеря данных бэкапа Придерживаемся принципа 3-2-1 3 копии данных (основные плюс две резервные), хранение копий на 2 разных типах носителей (например, внутренний HDD и внешний SSD) и сохранение 1 копии данных за пределами основной площадки, например, в облаке
Железо Выход из строя с простоем на время замены В идеале, иметь N+1 или файловеринг, т.е. запасной БП, запасной роутер, запасную материнку, запасные диски Читать обзоры и отзывы по железу, в идеале иметь или прямую замену или какой-то вариант для того, чтобы переждать
Несколько систем Влияние одной системы на другую В идеале иметь резервирование мощностей или разделение систем Я пришел к тому, что критически важные сервисы должны быть на выделенном железе, путь в ввиде виртуалки, но выделенное железо, т.к.
1. Крутить роутер, менеджер паролей и т.д. рядом с тестовым CI/CD и сервисами не очень хорошая идея, например, у меня Home-Assistant c 4ГБ оперативки ловил OOM при сборке EspHome проекта, в итоге я ESPhome перенес на мини ПК, а сборка большого angular приложения может съест все ресурсы
2. В хоум лабе часто что-то меняется, на то она и хоум лаба, я считаю, что во время установки google coral или ковыряния видеокора не должны ломаться критически важные сервисы
3. Чем меньше зависимостей, тем лучше. У меня миник мониторингом, волтом, аутентификацией не имеет внешних дисков, не использует NAS, не имеет доп. оборудования
Система питания Выход из строя в случае потери питания или простая недоступность Использовать
1. ИБП
2. Централизованное питания, например, POE
3. Мини ИБП, например, что-то типа такого
4. RAID контроллеры со встроенными батареями
Тоже важная тема, я стараюсь уйти от 100500 БП и перейти к единой слаботочной сети.
Идеальная схема:
1. БП в зеркале, на 24В
2. Батарейный lifepo4 ИБП
3. PDU или другой механизм мониторинга потребления
4. Питание устройств или от 24В если могут или через DC-DC преобразователи
5. ИБП на 220В для компьютера

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

  1. Дешево
  2. Надежно
  3. Энергоэффективно

Максимум, что мы можем получить это дешевое и энергоэффективное решение с минимальной производительностью, например одноплатник типа малинки или мини ПК на NXXXX, все остальное будет требовать каких-либо компромиссных решений

7 лайков

Фундаментально. Очень полезная таблица.