[О блоге]
[наверх]
[пред]
[2025-03-07 10:38:32+03:00]
[338b940f2ec4fef2727445fa6c61263e2af4dc7c]
Темы: [hard]
Идеальный рабочий компьютер и домашний сервер
https://ounapuu.ee/posts/2025/03/07/perfect-home-server/
https://ounapuu.ee/posts/2023/10/25/the-optimization-treadmill/
https://www.apple.com/newsroom/2025/03/apple-unveils-new-mac-studio-the-most-powerful-mac-ever/
Свалились ссылки из одного блога о рассуждениях об идеальном домашнем
сервере. Плюс на днях посмотрел на новое железо от Apple.
Когда-то я тоже любил делать "подкроватный хостинг" на отживших своё
ноутбуках. Зачастую у них ломается "мобильность", но системный блок ещё
может продолжать жить. Какое-то время у меня работал GuruPlug: маленькая
коробочка размером с RPi втыкаемая напрямую в розетку, имеющая два
Ethernet-а и eSATA порт. Подобные решения я вообще не рассматриваю как
вариант, даже для маршрутизатора/шлюза и/или NAS.
Нужно, как минимум, 2 или более Ethernet порта. Или, если форм-фактор
позволяет, то несколько PCIe слотов. Собственно, в них можно сколько
надо вставить сетевых карт, это не дорого.
Нужна возможность подключения множества HDD, чтобы это было сразу же и
NAS-ом. Хотя в теории ничто же не мешает разделить NAS от сетевого
шлюза/моста, но зачем? И опять же это намёк на необходимость
использования PCIe для установки SAS/SATA HBA. Не всегда на материнской
плате будет достаточное количество портов.
В нём должен быть всё же более менее приемлемый по мощности процессор и
вменяемое количество оперативной памяти. Когда я был выходной Tor нодой,
хостил Freenet, I2P и всякое такое -- всё это вполне себе требовало
относительно не мало ресурсов. А раз там будет NAS, то это однозначно
ZFS файловая система, которой CPU/RAM не помешают. Одновременный scrub
моих зеркал из 16, 20 и 22 TB дисков отъедает ощутимую часть 6-ти
ядерного Xeon процессора.
Только серверное железо, не consumer grade -- за 25+ лет я убедился, что
надёжность и стабильность работы (без нежданчиков) это не пустой звук и
слова на бумаге, поэтому только серверные процессоры и материнские платы.
Почти всю жизнь в нашей семье были только AMD процессоры: i386 (возможно
i286 тоже), i486, K6-2, K6-3, Athlon -- потому что дешевле. С
приобретением ноутбука появился Intel. Не считая MIPS-ового netbook-а,
дальше у меня только Intel был. Судя по сторонним наблюдениям,
обсуждениям в рассылках: AMD не всегда полностью и до конца
поддерживается в современных ядрах, если речь про виртуализацию и прочие
штуки. Видел в новостях как яростно глючили и были чуть-ли не
работоспособны Ryzen первые, если ничего не путаю. Возможно и с Intel
такие же проблемы всегда были, но вот почему-то в памяти оседает чётко
только про AMD. Плюс Intel chipset-ы и сетевые карты это максимальный
шанс что оно без проблем будет работать не под Windows/Linux, в отличии
от чипсетов для AMD решений. Поэтому я слепо только Intel CPU и chipset
выбираю.
Совсем нет опыта с ARM процессорами. Не прочь бы это использовать и
попробовать, но серверные решения на ARM что я видел -- дорогие, дороже
amd64 based. Либо относительно слабые. Это правда означает низкое
энергопотребление, что тоже хотелось бы, но если оно не может вытягивать
resilver/scrub с полдюжины HDD, параллельно раздавать BitTorrent и всё в
таком духе -- то значит оно уже не выполняет возложенные на него задачи.
Ну и вопрос с совместимостью с ОС: будет ли на случайной ARM64-based
штуке работать FreeBSD из коробки?
Сейчас я уже не хотел бы отказывать от 10GbE сети. И чтобы была
возможность подключения нормальных кабелей (хотя бы DAC), то есть был бы
SFP, а не намертво встроенная витая пара. А это снова означает, как
правило, необходимость ещё свободного PCIe слота.
То есть, по сути мне то на самом деле нужно просто обычный сервер. Но!
Не rackmount, которые, как правило, сильно шумят. Плюс в пьедестал можно
обычные полноразмерные PCIe карты вставлять, в отличии от невысоких
rackmount-ов. Которые ещё и дороже за счёт крепкого корпуса будут, что
не критивно для пьедестальника. И большущие, а значит тихие,
вентиляторы. Вот и автор заметок тоже к этому же решению пришёл.
Решения из ноутбуков или дешёвых одноплатников -- нет, не рассматриваю.
Больше нервов и геморроя и ограничений будет, чем экономии хотя бы
просто на обычном desktop компьютере, куда вставили HDD и NIC
дополнительные.
А каким я вижу идеальный рабочий (мобильный!) компьютер? Да по сути мой
текущий Intel NUC всем устраивает. Ну точнее, да: я хотел бы чтобы там
было server grade железо, но такого или никто не предложит в компактном
форм-факторе или будет дорого (хотя и NUC-то отнюдь не дешёвая штука).
Тут уж без вариантов и надо смириться. Обязательно два M.2 NVMe (можно и
только SATA) порта должно быть (или свободный PCIe слот для этого),
чтобы иметь зеркало, а не единичный диск. Мой NUC этому удовлетворяет.
Было бы полезно иметь SATA кабель, для того чтобы произвольный диск во
время каких-нибудь rescue работ иметь, но для rescue бывает достаточно и
USB enclosure, не страшно. Два сетевых порта: мой NUC из коробки их
имеет, killer-feature. Плюс в свободном PCIe ещё и 10GbE карта
вставлена. DisplayPort вывод должен быть -- HDMI то ещё говно по
вероятности иметь проблемы. Помощнее процессор и памяти побольше
(минимум 64GB) -- это очень хочется на рабочей машине.
Но Intel отдала производство NUC-ов Asus, к которым у меня не такое
доверие к качеству, но с ходу я не могу вспомнить точно моменты где Asus
плохо бы себя показывать. Они делают, насколько помню, насколько
показалось, и ширпотреб и качественные server-grade решения -- широкий
спектр. Вижу что NUC похожего форм-фактора всё же продолжают делать,
хотя в рюкзаке оно уже не уместится, судя по фотографиям:
https://www.asus.com/displays-desktops/nucs/nuc-kits/nuc-13-extreme-kit/
[оставить комментарий]
- комментарий 0:
From: kmeaw
Date: 2025-03-07 17:09:55Z
> Нужно, как минимум, 2 или более Ethernet порта.
А не лучше ли взять управляемый свитч и воспользоваться 802.1Q? 10 Gbps
скорее всего для всех домашних нужд хватит, какой-нибудь
MikroTik CRS-305 или даже CRS-326 - оба бесшумные. А если гигабита
достаточно, то RB250GS/RB260GS, можно даже с суффиксом "P" для PoE.
Если хочется сократить денежные затраты, то переделать под управляемый
тот, что есть - я уже и не вспомню микросхемы гигабитного коммутатора, у
которой нет интерфейса управления, разве что с документацией сейчас
могут быть проблемы. Я такое проделывал с TP-Link L-SG1005D на
RTL8366SB. А ещё сейчас у многих есть беспроводной роутер, в котором
есть свитч, и сменой прошивки можно выключить роутинг и настроить
802.1Q.
И тогда роутить между VLAN можно будет и на однопортовом сервере.
Требование "минимум два порта" очень сильно сокращает выбор, особенно
если использовать разбитые ноутбуки - не хочется к ним ещё и второй
интерфейс колхозить.
> rackmount, которые, как правило, сильно шумят
Тут надо отдельно смотреть - мне удалось сделать сервер на Supermicro
X8SIE достаточно тихим полной заменой системы охлаждения. Все
вентиляторы поменял на малооборотные Noctua, а продуваемый радиатор
процессора заменил на обычный (но низкий, чтобы в корпус влез)
десктопный кулер. На ServeTheHome.com обсуждают подобные переделки.
Серверные железки предыдущих поколений корпорации часто распродают на
вторичном рынке, поэтому попадаются выгодные варианты с вполне
server-grade железом. Я бы уже не стал отказываться от возможности
делать stateless firewall на L2-свитче и ECC RAM, IPMI у домашнего
сервера без веских аргументов за что-то другое.
Из минусов серверного железа дома помимо шума могу ещё назвать vendor
lock-in - очень любят вендоры проверять состав сервера и не грузится,
свитчи проверять производителя SFP и так далее. На том же форуме можно
поискать рецепты по отлому этой функциональности.
- комментарий 1:
From: Sergey Matveev
Date: 2025-03-07 17:34:14Z
*** kmeaw@kmeaw.com [2025-03-07 16:37]:
>А не лучше ли взять управляемый свитч и воспользоваться 802.1Q?
Я так не хочу. Не нравится. Тупой коммутатор -- тупой, простой, дешёвый,
без подвохов (ну почти). Воспринимается мною почти как пассивное
устройство, прозрачное для меня. Управляемый -- значит надо настраивать
какую-то штуку с проприетарным ПО внутри (да, знаю что могут быть и
свободные реализации и перепрошивать их можно, но это значит я голову
ещё больше буду забивать всем этим). Не то чтобы это сильно волновало:
её же не как general purpose компьютер воспринимать должен, но просто
неприятно. Если можно сделать тоже самое (хоть и дороже), но на основе
обычной ОС/ПК, то предпочёл бы так. Когда речь про 20/40/100GbE, то там
уже на обычной ОС/ПК туговато, поэтому придётся мириться.
Ну и всё же физически разделённый канал это физически разделённый.
Поэтому хотя бы два порта должно быть, чтобы один отводить изолированно
под входной кабель от Интернет-провайдера. Вот совершенно всё свербило
бы от того факта, что он будет подключён к неизвестно как (для меня)
работающему коммутатору, через который и LAN трафик проходит.
Но согласен что по форм-фактору, энергопотреблению и компактности
коммутаторы выделенные очень приятны.
>Если хочется сократить денежные затраты, то переделать под управляемый
>тот, что есть - я уже и не вспомню микросхемы гигабитного коммутатора, у
>которой нет интерфейса управления, разве что с документацией сейчас
>могут быть проблемы. Я такое проделывал с TP-Link L-SG1005D на
>RTL8366SB. А ещё сейчас у многих есть беспроводной роутер, в котором
>есть свитч, и сменой прошивки можно выключить роутинг и настроить
>802.1Q.
Всё это я вижу как большая головная боль и геморрой. Ничуть не критикую,
ничего против не имею, но я себе таких задач не хочу ставить. Я не прочь
маяться и возиться с FreeBSD, но не с железками и прошивками, которые
для меня как чёрный ящик которому просто приходится доверять. Я поэтому
и хочу иметь возможность просто поставить дополнительные NIC-и чтобы ни
с чем вышеописанным не иметь дела. Просто и надёжно, так сказать.
Да и 802.1Q я воспринимаю как некий костыль. У меня из головы не выходит
статья про идеальный мир для IPv6: https://apenwarr.ca/log/20170810 где
по сути всё можно делать грамотной маршрутизацией. Нужно отделить и
разделить сети? Бьём на подсети, маршрутизируем, применяем firewall. В
этом (идеальном) мире нет места для VLAN-ов. Разделять Ethernet на
сегменты уже нужно для физического разделения только, тогда как 802.1Q
уже будет имитацией и костылём.
>И тогда роутить между VLAN можно будет и на однопортовом сервере.
>Требование "минимум два порта" очень сильно сокращает выбор, особенно
>если использовать разбитые ноутбуки - не хочется к ним ещё и второй
>интерфейс колхозить.
Мой самый первый ноутбук (или вообще два, уже не помню -- блога не было
:-)) именно так и использовался. VLAN-ом разделялось на WAN и LAN. В
общем-то работало, но мне, как минимум, чисто эстетически это не нравится.
>Тут надо отдельно смотреть - мне удалось сделать сервер на Supermicro
>X8SIE достаточно тихим полной заменой системы охлаждения. [...]
Да, согласен, такое тоже можно проворачивать. Я не отбрасываю идею
rackmount-ов как таковую, особенно если будет хорошая цена. Просто, как
правило, что-то да придётся в нём менять для тишины. Выгодных я и правда
не мало видел, спору нет.
>Из минусов серверного железа дома помимо шума могу ещё назвать vendor
>lock-in - очень любят вендоры проверять состав сервера и не грузится,
>свитчи проверять производителя SFP и так далее. На том же форуме можно
>поискать рецепты по отлому этой функциональности.
С lockin на SFP сталкивался на работе, есть такое. Собственно, когда
недавно покупал себе 10GbE NIC-и и SFP, то просто про себя надеялся что
"повезёт" и всё заработает. Мне кажется что lockin на отдельные
компоненты железа это вроде как больше прерогатива прям совсем
законченных решений: типа там "сервер от Dell", "сервер от HP". А когда
это просто "generic" Asus/Tyan/Supermicro материнка, то с этим уже вроде
не так строго. Но я давно с железом на работе не работал и не трогал,
поэтому не в курсе тенденций.
- комментарий 2:
From: Sergey Matveev
Date: 2025-03-07 19:01:09Z
*** kmeaw@kmeaw.com [2025-03-07 16:37]:
>А не лучше ли взять управляемый свитч и воспользоваться 802.1Q?
Хотя если рассматривать вариант с ноутбуком, который жалко выбрасывать,
и добавлением к нему коммутатора управляемого: наверное хороший вариант,
чем за не малые деньги приобретать ПК с PCIe NIC картами. Когда у меня
были ноутбукив качестве шлюза, то про управляемые коммутаторы точно
мысль не приходила в голову.
- комментарий 3:
From: kmeaw
Date: 2025-03-07 20:46:47Z
> Вот совершенно всё свербило бы от того факта, что он будет подключён к
> неизвестно как (для меня) работающему коммутатору, через который и LAN трафик
> проходит.
Забавно, у меня bias совершенно противоположный на эту тему. Я больше верю в
изоляцию на коммутаторе, чем в правильную настройку ОС. Много раз видел, как
люди пишут фаервольные правила для "простого" IPv4-маршрутизатора с NAT,
разрешая всё в forward, но включая masquerade только на тот трафик, который
они хотят пропустить.
А софт на (L2) коммутаторе обычно крайне простой - он перекладывает
конфигурацию в регистры специализированной микросхемы и снимает счётчики.
Application processor там обычно настолько дохлый, что прокачать трафик даже
между двух портов не сможет.
> У меня из головы не выходит статья про идеальный мир для IPv6
В таком идеальном мире вместо 802.1Q будут SRv6 или ip6ip6-туннели прямо на
уровне коммутатора. :)
> приобретать ПК с PCIe NIC картами
Вспомнил, что когда-то менял в ноутбуке mPCIe WiFi на довольно странную карту.
Выглядит примерно вот так: https://i.kmeaw.com/1005008389313525.jpg
и стоила она тогда порядка одной тысячи рублей. Были ещё похожие, но дороже и
на Intel. И даже двухпортовые.
- комментарий 4:
From: Sergey Matveev
Date: 2025-03-07 21:22:15Z
*** kmeaw@kmeaw.com [2025-03-07 20:47]:
>Забавно, у меня bias совершенно противоположный на эту тему. Я больше верю в
>изоляцию на коммутаторе, чем в правильную настройку ОС.
Но настройка ОС в моих (корявых) руках (а значит ругать могу только себя
:-)), а коммутатор это чёрный ящик.
Но согласен что человеческий фактор, корявые руки, самоуверенность и
неграмотность людей куда чаще будут проблемой. Собственно и у меня
проблемы с firewall настройкой (f8e2e4dfc6870c4dad7e62be9bb02ae9dd73d180).
>А софт на (L2) коммутаторе обычно крайне простой - он перекладывает
>конфигурацию в регистры специализированной микросхемы и снимает счётчики.
>Application processor там обычно настолько дохлый, что прокачать трафик даже
>между двух портов не сможет.
Это да, в курсе. И согласен что уж коммутация эта штука в которой сложнее
облажаться, в отличии от L3 маршрутизации.
Но я вот ради интереса посмотрел бегло на MikroTik CRS-305 и ещё
какой-то (уже закрыл, не помню точно). У ещё-какого-то есть COM-порт,
видимо, через который можно достучаться до его CLI и управлять им. А вот
для CRS-305 в его quick start написано, что управлять им надо изначально
через Winbox утилиту. Саму документацию не дают скачать (JS нужен), это
я просто фотографию первой страницы с сайта магазина увидел. И вот
подобные вещи сильно напрягают. Вроде бы туда по telnet/ssh можно
подключиться через management port и получить CLI. Но quick start
пишется как-будто чисто для домашних пользователей, которым надо указать
куда втыкать WAN, и как включить WiFi. Как бы несерьёзно выглядит. Но
это придирки.
>В таком идеальном мире вместо 802.1Q будут SRv6 или ip6ip6-туннели прямо на
>уровне коммутатора. :)
Всё так. Но зато прям понятно что нет никакого obsolete legacy в виде
Ethernet L2 "маршрутизации". И пока таких коммутаторов нет (дороговато),
то вот я и хочу чтобы мой сервер выполнял его роль. Но это всё на уровне
ощущений, эстетики, чувств о прекрасном, так сказать :-)
>Вспомнил, что когда-то менял в ноутбуке mPCIe WiFi на довольно странную карту.
>Выглядит примерно вот так: https://i.kmeaw.com/1005008389313525.jpg
Клёво! И куда стабильнее/надёжнее должна работать по сравнению с
подключением Ethernet по USB.