Отладка сервера для самых маленьких. Начало
Обложка цикла
Есть люди, которые начинают задумывается об приватности/конфиденциальности в необъятном интернете или уже её практикуют. Есть те, кто не хочет платить за сервисы и считает, что подписочная модель по текущим ценам — не самый выгодный вариант. Тогда появляеться гениальная идея об «self-hosted» решений и покупка домашнего сервера.
В этом цикле статей мы будем говорить о настройке такого сервера и установке сервисов на него. Опыт по использованию этих сервисов, нужны они ли вам, или выбрать более простые аналоги, которые так еще окажутся быстрее в тех или иных задачах. Статьи будут интересны тем, кто задумывался о покупке домашнего сервера (и целесообразности такого решения) или те, кто уже имеет, но нету достаточного опыта/знаний в его настройке. В цикле акцентируется внимание на моментах, где мне пришлось перечитать много статей, как наших, так и иностранных, спрашивать у знакомых и друзей, чтобы собрать в единое целое ответ на простые вопросы: «Почему так?», «А зачем мне это?».
Принципы автора при настройке и работе сервера и не только, которые будут фигурировать в течении цикла:
Безопасность системы и сети
Быстрый ответ системы и ее служб
Минимальное количество пакетов (программ), только нужное
Унификация, зависимость приложений.
Оглавление статьи
Рынок и выбор
Опыт
Рекомендации
Оглавления цикла
Рекомендуется к прочтению/изучению
Рынок и выбор
Для большинства людей идея «self-hosted» решений сводится к созданию личного облака, точнее, хранилища для синхронизации данных. В этом контексте существует два основных варианта:
NAS (Network Attached Storage): хост (то есть компьютер), предназначенный для хранения данных как для личного, так и для коммерческого использования. в основном plug and play решения. Машинка отлично справляется со своей задачей — хранение и синхронизация данных. Также могут похвастаться дополнительными сервисами, такие как фотоцентр (Google Photo), медиасистемы и т.д. Главный игрок, но не точно, среди plug and play решений: Synology. Еще один плюс NAS — наличие нескольких отсеков для дисков, что позволяет создавать RAID-массив. NAS для личного пользование отличаются компактностью.
Сервер: хост, предназначенный для приема запросов (requests) и ответа на них. Это универсальное решение, которое может быть реализовано в различных формах:
Опыт
Мой отец уже 6 лет пользуется NAS Synology серии DS2***, машинка работает безотказно, отлично синхронизирует файлы и работает как Drive (подробнее). Использует RAID 0, так как важно обеспечения целостности данных.
В моем случае выбор пал на покупку сервера, выбрал mini-pc Beelink Mini S12 Pro.
Преимущества выбора mini-pc:
Недостатки:
Низкая кастомизация: подключить можно только один SATA диск. В случаи если нужен RAID надо подключаться через usb, если usb медленный теряем скорость.
Встроенный GPU: не хватка только если в планах ставить ollama для «self-hosted» IA.
Почему я выбрал сервер, а не NAS? В планах было накатить много разных сервисов, поэтому NAS бы не подошел из-за небольшого объема RAM и слабой кастомизации.
Для хранения данных докупил HDD, а не SSD, поскольку предпочитаю долговечность и надежность данных перед скоростью. Однако у этого решения есть свои проблемы:
Низкая скорость при работе с базами данных. Примеры:
Cоздание базы данных Nextcloud с 131 таблицей заняло около 10 минут;
Запрос SELECT COUNT (*) AS total_tablas FROM information_schema.tables WHERE table_schema = 'nextclouddb'; занял 8 секунд.
Если сервер стоит в тихой комнате, может быть слышно работу диска.
Рекомендации
Больше RAM (ОЗУ). Минимальное количество RAM должно составлять 16 GB. Если вы хотите, чтобы сервисы работали как коммерческие аналоги, необходимо кэшировать данные. Лучше иметь 32 GB RAM. В подтверждение, состояние сервера при просмотре фильма через Jellyfin.
Расход RAM на моем сервере
Быстрые LAN порты. Wi-Fi — это, конечно, хорошо, но нет ничего лучше, чем провод. Желательно иметь 2 LAN порта (если у вас нет коммутатора (switch)): один для подключения к роутеру, а другой — к компьютеру. Пропускная скорость должна быть не менее 1Gbps, желательно 2,5 Gbps или лучше 10Gbps. Есть также возможность сделать 25Gbps, как это сделать дешево, описано в статье.
Наличие RAID. RAID 1+0, конечно дороговато будет, но в случаи HDD хорошее решение, и скорость подымиться и надежность данных повысится. Если не можете позволить тогда RAID 0 на SSD. Желательно также иметь RAID контролер, так как в IT — Hardware (аппаратное обеспечение) лучше чем Software (программное обеспечение), по скорости так точно.
Наличие Hardware Security Module (HSM). Повторяя, что аппаратные решения лучше, чем программные, то же самое относится к безопасности. В частности, это касается защиты ключей шифрования. В случае несанкционированного доступа к системе ключи будут надёжно защищены не только в операционной системе, но и физически.
Оглавление цикла
(Обновляемое)
Рекомендуется к прочтению/изучению
P.S. Это моя первая статья, поэтому буду рад услышать аргументированные замечания и критику.