HomeLab. Выбор основы
Если бы пол года назад, когда я ставил свою первую операционку на домашний сервер я бы прочитал этот пост - я бы принял иное решение и сейчас мой сервер выглядел по другому. С другой стороны - ничего принципиально нового в посте нет, вся информация давно есть на ютубе, реддите и в чате гпт - нужно было просто спросить. Разные люди по разному воспринимают понятие "домашний сервер" - для кого-то это это коробочка NAS, для кого-то просто виндовый компьютер на антресоли. В рамках этого поста я под домашним сервером буду иметь в ввиду физическую машину с операционной системой линукс. И поговорим о том, какой же дистрибутив можно поставить и в чем отличие.
Очень условно я классифицировал серверные операционные системы исходя из уровня подготовки и целей - и у меня получилось три типа.
- Простые = self-hosting + NAS + лёгкие UI
- Средние = виртуализация + более гибкая настройка
- Продвинутые = оркестрация, облачные сценарии, "мини-дата-центр"
Простые решения (для начинающих / low-entry).
Как следует из названия - это самые простые варианты, они (почти) не требуют знания линукс, имеют удобный веб интерфейс и возможность установки сервисов в несколько кликов. На рынке представлено множество таких решений, самые известные это: YunoHOST, CasaOS, Cosmos Cloud, Umbrel, Tipi, Sandstorm, unraid(!платновое), FreedomBox, cloudron, EmbassyOS
Отличия у них минимальны (например у embassy и FreedomBox чуть больше фокуса на приватность, интерфейс YunoHOST немного устарел - но зато самый большой встроенный магазин приложений), а общее у них одно - минимальный порог входа. Если вы новичок без технического бекграунда - с помощью этих решений вы легко можете выстроить всю инфраструктуру.
Интерфейс Космос Клауд. Можно потыкать тут https://cosmos-cloud.io/cosmos-ui/
Некоторые относят к операционным системам этого уровня и OpenMediaVault (OMV) с TrueNAS SCALE (и я купился на это, первая моя операционка как раз именно OMV) - но я с ними не согласен - это скорее операционка именно для NAS - если вы хотите ставить дополнительные сервисы - это возможно, но не интуитивно.
В общем для начинающего, или для "поставил, настроил и забыл" - я бы советовал взять в качестве ОС что то из вышеперечисленного.
А если по%баться? или средний уровень (для энтузиастов / medium-entry)
Вторая группа операционных систем несколько сложнее, требует базового понимания Linux, сетей, Docker, но и дают больше контроля. Я бы посоветовал эту группу себе энтузиастам, которым процесс важнее чем результат.
К этой группе я отношу Proxmox VE, XCP-ng, Harvester, NixOS, DietPi (тут я сразу отмечу, что сам тестировал и работал только с Proxmox VE, про остальное только читал. Поэтому буду рассказывать на его примере).
У проксмокса нет готового каталога приложений, которые можно поставить в один клик (хотя есть отличный каталог пользовательских скриптов установки, 300+ проверенных сервисов, которые устанавливаются через одну строчку) - это скорее универсальный хост для виртуализации. Зато поднять виртуальную машину с нужными параметрами, изменять эти параметры прям на ходу или использовать никогда не было так просто. Еще у проксмокса есть интересный формат контейнеров - LXC, я это воспринимаю как нечто среднее между виртуалкой и контейнером. Используется общее ядро, а контейнеры используют изолированное окружения. В результате эти контейнеры потребляют меньше ресурсов, чем виртуалка - но обладают большей степенью изолированности, чем докер контейнеры.
UI проксмокса чуть сложнее чем интерфесы ОС первого типа - но все еще существенно проще консоли, на мой взгляд.
В общем если бы я начинал сейчас - вместо OMV я бы поставил себе два Проксмокса.
Или три? Продвинутые решения (для экспертов / high-entry)
Последняя группа - это решения для профессионалов. Я не пробовал ничего из этого (пока?), поэтому коротко опишу как я вижу это со стороны и буду рад если кто то расскажет подробней.
VMware ESXi – классика корпоративной виртуализации (сейчас менее актуальна из-за Broadcom).
Kubernetes (k3s, MicroK8s, TalosOS) – для масштабирования контейнеров, требует глубоких знаний.
OpenShift OKD – корпоративный Kubernetes с дополнительным уровнем абстракции.
OpenStack – облачная платформа IaaS (виртуальные машины, сети, сторидж).
Nomad (от HashiCorp) – оркестрация контейнеров и VM, альтернатива Kubernetes.
Bare-metal Linux (Arch, Debian, Ubuntu, Gentoo) – "чистая" установка и ручная настройка всех сервисов.
FreeBSD / NetBSD / OpenBSD – более редкие, но мощные для сетевых и серверных задач.
Кажется что это решения, для маленького дата-центра дома. Явно не для всех - но если вы, например, делаете свой стартап, и хотите хостить его из дома - то это ваш выбор. Чат гпт подсказывает мне, что если я поставлю себе третий сервер - я смогу сделать кластер, который будет автоматически масштабироваться под нагрузку и работать даже в случае выхода из строя одной машины. Но я честно пока в душе не знаю, зачем мне это (*но очень надо)
На сегодня вероятно все, задавайте вопросы если есть, рассказывайте что стоит у вас, отдельно было бы интересно послушать людей с третьей группой операционок.
Хомячу Сервер
11 постов1.2K подписчиков
Правила сообщества
Правила просты: уважение друг к другу, помощь новичкам, делимся только тем, что пробовали сами.