Обновление домашнего сервера, потребление

На волне обновления дисков решил заняться и остальным железом: был заказан корпус Jonsbo N3 на Aliexpress, потом под него БП SFX-формата (у меня раньше таких не было) – Be quiet! BN238. Потом дошла очередь и до остальной начинки.

В итоге у меня сформировался такой комплект по железу:

  • AMD Ryzen 7 5700G – 8 ядер, 16 потоков и встроенная графика.
  • Asrock A520M-ITX/ac – такая же материнка, как у меня для компьютера для Zwift’а.
  • 64 ГБ RAM – чтоб уж точно для всего хватало.
  • Плата-сплиттер с Али для PCI-E-шины в формате x4x4x4x4. Вместе с имеющимся на материнской плате разъемом это давало 5 m.2-слотов.
  • m.2-SATA-контроллер на 6 портов. Еще 4 присутствовало на материнской плате, чего должно было хватить на все нужды: 8 дисков в корзине и потенциально еще 2 – на боковушках корпуса (в описании заявлено одно место, но на деле можно пристроить 2 диска).
  • HDD на 16 ТБ – пока 2 штуки, потом еще пара.

Материнку решил использовать такую же, как в Zwift’окомпике, потому что поддерживала нужный процессор, а главное – имела функцию бифуркации (расщепления одного PCI-E-слота на несколько независимых). Не хотелось взять что-то другое и пролететь с этим моментом.

В качестве системных дисков планировалось использовать 2 NVMe-диска по 1 ТБ. Еще один слот занят под SATA-контроллер. Остается 2 – можно использовать под ethernet-карту на 2 порта и еще один в запасе.

На деле все оказалось чуть менее радужно: с Ryzen 5700G в BIOS’е отсутствовала опция x4x4x4x4, в лучшем случае только x8x4x4 – т.е., одним слотом я не мог воспользоваться. Почему так – пока не знаю.

Т.е., на пока ничего страшного, но в будущем будет возможность поставить только одну карту. Скорее всего это и будет сетевая, как и планировал.

По процессору – решил не тратиться на более современные и более дорогие варианты. Потенциально можно взять Ryzen 7700 – в этой линейке уже все идут с графикой и это тоже младший 8-ядерник. Но стоимость процессора превышала стоимость Ryzen 5700G + материнской платы. А на подходе уже более новое поколение. Поэтому решил пока остановиться на 5ххх – все равно это огромный скачок по сравнению с Athlon X4 740, который сейчас работал на NAS’е.

Что касается NAS’а на сейчас – там Athlon X4 740, PCI-видеокарта (чтобы не занимать PCI-E-слоты), 32 ГБ памяти четырьмя планками, SATA+NVMe-диски под систему (60 ГБ + 256 ГБ) и 2 HDD на 16 ТБ под хранилище. Все это потребляет 55-65 Вт от сети (БП Seasonic Gold на 350 Вт).

Т.е., в целом – не сказать, что много после замены десятка дисков на 2 современных. Но захотелось попробовать свежее железо, захотелось пощупать его экономичность и потенциально функции NAS’а и домашнего сервера объединить на одном железе. При этом сделать возможность гасить функции NAS’а при необходимости (отключение света) и переходить в максимально экономичный режим – тут должен был помочь более новый техпроцесс (7 нм против 32 у Athlon’а). Из “внешнего” железа оставалась бы только что-то для роутинга трафика. В целом, тут несколько вариантов:

  • Что-то максимально энергоэффективное для трафика (пара-тройка ватт, может ARM какой-то), где только linux+iptables. В идеале – с нужным числом интерфейсов, чтобы можно было гасить основной свич – TL-SG2008. Все сервисы будут вынесены на новую машину; при достижении определенного разряда диски и domU NAS’а гасятся. В худшем случае при глубоком разряде остается только роутинг трафика. Минус – у меня сейчас из критичных сервисов на домашнем сервере крутится видеонаблюдение с одной камерой и домен с Home Assistant. Правда, при отключении света HA не особо актуален, но наблюдение хотелось бы оставить. Сейчас, в теории, я могу быть обеспечен интернетом (т.е., домашний сервер, модем, wifi) + наблюдением в течение полутора дней чисто на аккумуляторах. Железо есть, все в работе, но раз уж затеял апгрейд…
  • Поэтому как вариант – чуть более мощная железка, где все так же будет крутиться Xen с парой-тройкой критичных доменов. А остальное – на новой железке. Из более новых и “чуть более мощных” железок – например, мини-компьютеры на Intel N100 с Ali. Но это еще где-то +130$ затрат без обвязки. Плюс там нет возможности поставить 2 NVMe-диска (хотя видел варианты с вторым через SATA) для отказоустойчивости. Плюс остается вполне годная железка, которая у меня сейчас работает, а на новую надо тратиться, чего делать не хочется. Хотя 6 Вт TDP у N100 – заманчиво… Плюс пачка сетевых интерфейсов и возможность не использовать свич.
  • И опять же, я после апгрейдов дисков на сервере и NAS’е толком не знаю текущее потребление сервера. Но выходило что-то около 7-8 Вт, что вполне немного – и это с парой терабайтных дисков. Вряд ли замена их на что-то другое сильно скажется, но можно поиграться.
  • Как вариант – все же оставить J4005 для трафика и сделать возможность миграции критичных сервисов в Xen’e с одной машины на другую. Только уже без DRBD. Наверное. Потому что в прошлый раз все это вроде как работало, но не всегда хорошо и иногда приходилось разруливать split brain’ы.

В общем, пока маловато данных – надо хотя бы оценить потребление старой машины на J4005. А пока по мере поступления железа поделал замеры потребления на новом.

Итак…

  • Ryzen 7 5700G + Asrock A520 + 8 GB RAM (SS, 2666 MHz) + 60 GB SSD с Debian 12 + Be quiet! BN238 500W – потребление от сети по ваттметру 13,8 Вт (вот только не помню, с подключенным монитором или без).
  • КПД БП на таком потреблении не особо хороший, поэтому провел тест с picoPSU – вышло 10,5 Вт.

Весьма неплохо как для железки, которая заменит все. Но это “голый” компик и далеко не в той конфигурации, которая будет. Хотя разница между picoPSU и сетевым блоком ощутимая. Кроме того, хотелось бы сделать возможность питания от аккумуляторов в “легком” режиме – когда domU с NAS остановлен и диски погашены. С другой стороны – сохранить возможность сетевого питания. На пока оптимальным вариантом кажется питание материнской платы и процессора от picoPSU, который будет питаться от сетевого блока, в котором замкнут сигнал PS On. На точку соединения будет подаваться 12В через дополнительный разъем. TODO: выяснить, как будет вести себя блок, если ему в зад пихать 12В при отключенной сети. В идеальном варианте будут задействованы DC-DC внутри блока, которые формируют 5 (и 3,3)В – т.е., можно оставить корзину с дисками подключенной на штатные шлейфы БП: при сетевом питании все штатно, при батарейном – 12В через XT60E подается на picoPSU для материнки и обвязки на ней и “в зад” сетевому блоку, через который питаются диски.

Когда приехало остальное железо – занимался настройками новой системы (пока на китайском SSD, позже надо будет сделать перетасовку дисков), после чего сделал сравнение потребления с разными конфигурациями. Некоторые варианты, правда, забыл измерить, но результаты можно высчитать. Итак:

  • Ryzen 7 5700G + Asrock A520 + 2×32 GB RAM + 60 GB SATA + вентиляторы обдува HDD = 22,3W от сети.
  • Отключаю на БП шлейфы, которые питают корзину (в которой SATA-диск + 2 вентилятора) – 19,5 Вт. Думаю, потребление SATA SSD в простое минимальное, так что на вентиляторы уходит около 3 Вт.
  • Если отключить дисплей от видеокарты (подключен VGA-дисплей через HDMI-VGA-переходник) – потребление становится на 1 Вт меньше – 18,5 Вт.
  • Снимаем одну планку памяти. Без подключенного дисплея – 19 Вт. Т.е., с дисплеем было бы 20. Итого разница в 2,3 Вт с первым пунктом.
  • Отключаем корзину – 16,5 Вт (против 18,5 выше).
  • Замена 1х32 на односторонний модуль на 8 ГБ. С дисплеем – 17,7 Вт. Без – 16,5 Вт. Без вентиляторов – 13,8. 19-16.5 = 2.5W, 16.5-13.8=2.7. Итого – один модуль потребляет от 2 до 2,7 Вт в разных режимах. И как дополнительный вывод – 8 ГБ модуль потребляет удивительно мало. Нагляднее было бы сравнить на лабораторнике и через picoPSU, конечно.
  • По последнему режиму сделал замер с подключенной картой-сплиттером с SATA-контроллером + NVMe-диском:  во всех случаях +1 Вт.
  • С полной конфигурацией (см. пункт 1 + PCI-E-сплиттер + SATA-контроллер + NVMe-диск на 1 ТБ) – 24,8 Вт. Еще будет второй NVMe и электроника HDD (в случае с остановленными шпинделями). Думаю, при питании через picoPSU можно было бы сбить до 20 Вт. Уже не сказать, что мало.

И да, по всем замерам стоит вводить поправку на КПД БП (Gold) и возможные неточности у ваттметра.

Update: выключение wifi/BT-модуля в BIOS’е на потребление не влияет.

Update: сделал замер потребления старого NAS’а (Athlon 740 + 32 GB RAM + SATA SSD 60 GB + PCI Video и с загруженным Debian без задач) через picoPSU – 20W.

Update: на сейчас плюс-минус финальный вариант по железу (исключая необходимость в еще двух HDD) – переставил 2 NVMe-диска по 1 ТБ с малого сервера, мигрировал все данные на них. Стоит Xen, развернута виртуалка с копией содержимого старого NAS’а; плюс мигрированы еще несколько относительно легких виртуалок. Потребление от сети довольно активно скачет, но минимум находится на уровне примерно 42-45 Вт, чаще выше. При остановке дисков потребление от сети на уровне 31 Вт.

Итого – не сказать, что получился какой-то глобальный выигрыш и экономия. Да, ресурсов сейчас гораздо больше – есть 16-поточный процессор, есть в 2 раза больше оперативной памяти – которой я пока не пользуюсь. И – всё. Экономия в простое или на типичной нагрузке – 10 Вт: 10 против 20 Вт в простое и, как уже писал выше, старый NAS потреблял 55-65 Вт в работе (когда не было активного движения на всех камерах у motion) и плюс-минус те же цифры я вижу и сейчас – наверное, на те же 10 Вт меньше в итоге. Насчет low power mode – я, конечно, еще буду экспериментировать, но хотелось что-то поменьше, чем 30 Вт.

Т.е., примерно то же можно было сделать и на старом железе. Переделать систему, поставить там Xen. Сам NAS сейчас у меня работает на 16 ГБ, оставшиеся 16 ГБ можно было бы выделить другим доменам. Материнскую плату под miniITX за <20$ недавно можно было взять на барахолке. Плюс нового железа разве что в бифуркации – у меня мелкая материнка, но в итоге на ее базе есть 5 (на деле вышло 4) слота под возможную периферию. С другой стороны, на сейчас 2 HDD, а в будущем 4 (и на этом можно было бы и ограничиться, а не пихать все подряд диски в комп “чтоб работали”) вполне можно пристроить и на набортный SATA-контроллер. Многопортовую сетевую карту я пока так и не купил и нужность пока под вопросом. Остается пара NVMe – один становится в PCI-E 16x-слот, вопрос только со вторым. Иначе говоря, найдя mini ITX материнку под FM2+ и с набортным m.2-слотом, я решил бы вопрос модернизации домашнего железа гораздо дешевле. Ну и ценой дополнительных 10 Вт, да – по электроэнергии затраты на новое железо не окупятся никогда, а сэкономленные деньги можно было бы пустить просто на аккумуляторы для поддержания автономности при отключениях.

Update: померял потребление “малого” домашнего сервера. На сейчас он в таком конфиге:

  • Gigabyte J4005ND2P-CF
  • Team 8 GB DDR4 2400 MHz
  • TOSHIBA THNSN5256GPUK
  • PicoPSU в качестве блока питания, замер потребления прямо перед ним парой мультиметров.

Минимальное потребление (domU с motion погашен, оставлен только DNS) – 12.05V, 0.37A – 4.45W; иногда бывают пики на каких-то внутренних процессах.

При работе хоста с motion без активного движения на камере потребление на уровне 0.38-0.42A – т.е., 4.6-5.1W.

При запуске cat /dev/urandom > /dev/null (100% нагрузка на одно ядро) на хосте с motion потребление 0.6A, с пиками до 0.7A – т.е., 7.2-8.4W.

По мере поступления новых данных – дополню.

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