Отладка сервера для самых маленьких. Начало

в 6:16, , рубрики: self-hosted, анонимность, выбор, домашний сервер, конфиденциальность, начинающим, покупка, сервер

Обложка цикла

Обложка цикла

Есть люди, которые начинают задумывается об приватности/конфиденциальности в необъятном интернете или уже её практикуют. Есть те, кто не хочет платить за сервисы и считает, что подписочная модель по текущим ценам — не самый выгодный вариант. Тогда появляеться гениальная идея об «self-hosted» решений и покупка домашнего сервера.

В этом цикле статей мы будем говорить о настройке такого сервера и установке сервисов на него. Опыт по использованию этих сервисов, нужны они ли вам, или выбрать более простые аналоги, которые так еще окажутся быстрее в тех или иных задачах. Статьи будут интересны тем, кто задумывался о покупке домашнего сервера (и целесообразности такого решения) или те, кто уже имеет, но нету достаточного опыта/знаний в его настройке. В цикле акцентируется внимание на моментах, где мне пришлось перечитать много статей, как наших, так и иностранных, спрашивать у знакомых и друзей, чтобы собрать в единое целое ответ на простые вопросы: «Почему так?», «А зачем мне это?».

Принципы автора при настройке и работе сервера и не только, которые будут фигурировать в течении цикла:

  • Безопасность системы и сети

  • Быстрый ответ системы и ее служб

  • Минимальное количество пакетов (программ), только нужное

  • Унификация, зависимость приложений.

Оглавление статьи

  1. Рынок и выбор

    1. Опыт

    2. Рекомендации

  2. Оглавления цикла

  3. Рекомендуется к прочтению/изучению

Рынок и выбор

Для большинства людей идея «self-hosted» решений сводится к созданию личного облака, точнее, хранилища для синхронизации данных. В этом контексте существует два основных варианта:

  • NAS (Network Attached Storage): хост (то есть компьютер), предназначенный для хранения данных как для личного, так и для коммерческого использования. в основном plug and play решения. Машинка отлично справляется со своей задачей - хранение и синхронизация данных. Также могут похвастаться дополнительными сервисами, такие как фотоцентр (Google Photo), медиасистемы и т.д. Главный игрок, но не точно, среди plug and play решений: Synology. Еще один плюс NAS — наличие нескольких отсеков для дисков, что позволяет создавать RAID-массив. NAS для личного пользование отличаются компактностью. 

  • Сервер: хост, предназначенный для приема запросов (requests) и ответа на них. Это универсальное решение, которое может быть реализовано в различных формах:

    • Старый компьютер

    • Custom сборка

    • Сервер

    • Мини-компьютер ( mini-pc )

Опыт

Мой отец уже 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 на моем сервере

    Расход 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. Это моя первая статья, поэтому буду рад услышать аргументированные замечания и критику.

Автор: StafLoker

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js