Собственная серверная платформа Selectel: что внутри и как мы ее разработали

663e113df33c167309272319041a0de6.png


Осенью мы анонсировали сервер под своим брендом. А сейчас пора выложить карты на стол: детально разобрать его характеристики и функциональность, а также углубиться в технические особенности. Меня зовут Дмитрий Шиченко, я руководитель отдела разработки встроенных систем в Selectel. Под катом рассказываю, как, зачем и для кого мы создавали собственный сервер.

5dc6ba5a8d10a3c40c9538b6729f3f8a.png


Сервер Selectel.

Используйте навигацию, если не хотите читать текст полностью:
→ Сервер — не только железо
→ Уровень виртуализации
→ Уровень ОС и BMC
→ Уровень железа
→ Наши конфигурации
→ Варианты применения сервера

Сервер — не только железо


Мы в Selectel занимаемся IT-инфраструктурой и конфигурируем серверы более 16 лет. В этом году мы пошли в новом для себя направлении и добавили в линейку готовых выделенных серверов собственную сборку. Но давайте начнем издалека.

Серверы — это не только набор аппаратных компонентов, таких как процессоры, RAM, SSD и прочее. Можно взять два одинаковых сервера и увидеть, что их производительность различается. Это может быть обусловлено разными операционными системами, набором ПО и настройками виртуализации. Обо всем этом поговорим ниже.

Получается, можно соединить друг с другом множество дорогих производительных «железок» и получить весьма посредственное решение? Да. Чтобы этого избежать, мы разрабатывали свой сервер как программно-аппаратную экосистему. Например, ОС и инструменты управления и мониторинга взаимодействуют с ПО для виртуализации на каждом уровне. Так можно из одного сервера сделать решение для самых разных задач.

Пока это звучит слишком абстрактно. Давайте рассмотрим сервер как трехуровневую модель.

  1. Виртуализация — верхушка пирамиды.
  2. Операционной система и встроенное ПО (OS/BMC) — промежуточный уровень.
  3. Аппаратное обеспечение (железо) — фундамент.


5cdf8efd0f0eb4c4faeeac025adbf0fa.png


Посмотрим на каждый уровень и попытаемся понять, что именно делает сервер таким особенным. Начнем с вершины, то есть с виртуализации.

xjnq5j2gsxndfc2z3ek3ei4jsii.png

Уровень виртуализации


В современном мире виртуализация с каждым годом играет все бóльшую и бóльшую роль. С одной стороны, она позволяет бизнесу крайне эффективно использовать IT-инфраструктуру, например, запуская множество виртуальных машин на одном физическом хосте. C другой стороны — очень быстро масштабировать те самые ресурсы, адаптируясь под рост бизнеса.

Сервер Selectel поддерживает виртуализацию непосредственно на уровне Bare Metal. Это позволяет использовать все преимущества аппаратных ресурсов без промежуточных слоев. Такой подход обеспечивает высокую производительность и гибкость управления. Пользователь может выбрать между стандартными гипервизорами, такими как VMware, и гипервизором Selectel, встроенным в нашу облачную платформу на базе OpenStack.

Поддержка VMware


Гипервизор VMware позволяет задействовать прямой доступ к вычислительным мощностям сервера, минимизируя накладные расходы и увеличивая скорость обработки задач. Развертывание виртуальных машин на Bare Metal дает высокую производительность, сравнимую с физическими серверами, и подходит для рабочих нагрузок со строгими требованиями к latency и масштабируемости.

Собственный гипервизор Selectel на базе OpenStack


Наш гипервизор глубоко интегрирован в облачную инфраструктуру Selectel и основан на OpenStack — популярной платформе с открытым исходным кодом. OpenStack предоставляет гибкий и мощный API, что позволяет легко масштабировать виртуальные машины, а также управлять их жизненным циклом и сетью.

Гипервизор поддерживает быструю настройку изоляции ресурсов и развертывание кастомных виртуальных окружений с высокой степенью контроля. Такая виртуализация на уровне Bare Metal делает возможным разделение аппаратных ресурсов в рамках одного сервера для нескольких клиентов или задач. При этом сохраняется максимальная производительность и доступ ко всем компонентам сервера, включая дисковую подсистему и сетевые адаптеры.

Таким образом, можно выбрать более удобный вариант аренды: гипервизор VMware, гипервизор Selectel на базе OpenStack или Bare Metal.

Выбирая последний вариант, вы получаете голое железо и начинаете настройку сервера с установки ОС. Вот ее уровень сейчас и рассмотрим.

Уровень ОС и BMC


В современном мире стандартом считается поддержка сервером нескольких десятков популярных ОС. Сервер Selectel работает со всеми современными операционными системами, которые обладают актуальными версиями ядра. Это важное условие, т. к. чем новее ядро, тем новее драйверы, которые нужны для корректной инициализации и взаимодействия с последним поколением процессоров. У нас есть отдельный пул тестов, направленный на автоустановку десятков операционных систем и их функционирование.

Linux


Классика серверной инфраструктуры, которая включает дистрибутивы на основе новейших ядер: CentOS, Ubuntu, Debian, Oracle Linux, AlmaLinux, Rocky Linux и другие. Эти системы обеспечивают стабильную и гибкую среду для серверных задач и являются наиболее часто используемыми в серверном сегменте операционными системами.

f8fe0309166d2722b4bba6df23403bf9.png


Для первых пользователей мы устанавливали CentOS 8–9 (последние сборки). Сейчас можем установить эту ОС по индивидуальной заявке.


SelectOS


Это наша сер­вер­ная опе­рацион­ная сис­те­ма кор­по­ратив­но­го клас­са на ба­зе Linux. SelectOS имеет версию, оптимизированную именно под наш сервер. Команда разработки проводит углубленное тестирование совместимости. ОС также поддерживает Intel One API для более эффективного использования ресурсов процессора последнего поколения. А перекомпиляция ряда приложений позволит получить существенный прирост в их производительности.

Также команда SelectOS работает над внедрением DPDK. Это позволит обойти ядро операционной системы в процессах обработки сетевых пакетов приложениями. Следовательно, сервер эффективнее справится с большим сетевым трафиком. Решение подойдет для инфраструктуры, испытывающей на себе высокие сетевые нагрузки.

Впрочем, скорость работы ПО, будь то пользовательский или сетевой стек, зависит не только от драйверов и низкоуровневого ПО. Важно также, как все реализовано на уровне железа. Пришло время рассмотреть этот уровень.

Уровень железа


Подозреваю, что многие открыли статью именно ради этого раздела. Что ж, давайте посмотрим на процессоры, сетевые интерфейсы, RAID-контроллеры и GPU.

f1a1d591421636088b7155c9288a2386.png


Сервер Selectel.

Процессоры


Наш сервер разработан на базе последнего поколения процессоров Intel® Xeon® 6 Processor Family. Соответственно он поддерживает процессоры серии 6700 с энергоэффективными Е-ядрами. Кроме того, есть поддержка и производительных P-ядер, релиз которых состоится в первом квартале 2025 года. Они будут обеспечивать высокую производительность и стабильность при выполнении ресурсоемких задач.

Подробнее о шестом поколении процессоров Intel мы недавно рассказывали в дайджесте топового железа за 2024 год.


f6129b315c749a2b69363ea8f22ec62b.png


Характеристики Intel® Xeon® Sierra Forest. Источник.

Сетевые интерфейсы


При аренде сервера пользователь решает, какое подключение выбрать: базовое на материнской плате или через карту расширения (медную или оптическую сеть). Выбор зависит от того, как пропускная способность нужна, какие задачи будет решать сервер, какова топология сети и какой сетевой стек будет использоваться.

Встроенные сетевые интерфейсы — первое, о чем нужно упомянуть. Сервер с самого начала готов к современным базовым нагрузкам благодаря двум портам Ethernet с пропускной способностью 1 Гбит/с и выделенному интерфейсу для управления BMC. Такая конфигурация идеально подходит для базовых сценариев использования, например, для корпоративных файловых серверов, серверов баз данных начального уровня или тестовых стендов. Выделенный порт BMC позволяет удобно управлять сервером, постоянно мониторить и логировать его состояние, что критически важно для бесперебойной работы.

Сетевые карты. Для задач, требующих высокой пропускной способности, сервер поддерживает установку дополнительных сетевых карт. Это могут быть медные адаптеры для традиционных Gigabit или 10G Ethernet подключений, если по каким то причинам не хватает стандартных двух портов. Например, если помимо глобальной и локальной у вас есть специализированные сети или настроено резервирование сетей.
Вторым вариантом являются оптические карты для высокоскоростных 10/25G или даже 25/100G сетей. Такая гибкость позволяет адаптировать сервер под самые разные сценарии: от распределенных вычислений в кластерных системах до высоконагруженных приложений в дата-центрах.

RAID-контроллеры


Встроенный VROC RAID


Сервер оснащен технологией Intel VROC (Virtual RAID on CPU). Она позволяет создать надежный RAID-массив с использованием NVMe-дисков, подключенных напрямую к процессору. Это решение идеально подходит для высокопроизводительных задач, таких как работа с базами данных, аналитика в реальном времени или виртуализация, где важны низкие задержки и максимальная скорость доступа к данным. Благодаря интеграции VROC вы получаете возможность организовать быстрый RAID без необходимости дополнительного оборудования, что упрощает настройку и снижает затраты.

Подключение аппаратного HW RAID


Для задач, где критически важна максимальная надежность и комплексные функции управления, сервер поддерживает установку аппаратных RAID-контроллеров. Такие решения обеспечивают поддержку широкого набора RAID-уровней, защиту данных от сбоев и кэширование с использованием резервных батарей. Это делает их идеальным выбором для корпоративных хранилищ, серверов резервного копирования и других сценариев, где сохранность данных имеет приоритет.

Использование программного SW RAID


Программный RAID остается простым и доступным способом управления массивами для менее критичных нагрузок, таких как файловые серверы, тестовые среды или локальные системы архивации. Современные операционные системы предоставляют широкие возможности для настройки RAID-уровней через ПО, что позволяет гибко распределять ресурсы без дополнительного оборудования. Для малобюджетных проектов или сред с невысокими требованиями к производительности это разумный выбор.

Графические ускорители


Для задач, требующих обработки больших массивов данных (ИИ, рендеринг видео, Big Data и т. д.), в сервер можно добавить мощные графические ускорители. В форм-факторе 2U есть возможность установки полноразмерных GPU, требующих дополнительного питания. Такие конфигурации в скором времени будут доступны для аренды в Selectel — следите за обновлениями.

Наши конфигурации


Сервер можно заказать как в готовом виде, так и адаптировать его под индивидуальные требования.

Готовые конфигурации


Прямо сейчас можно попробовать доступные готовые конфигурации в панели управления. Перейдите в раздел Серверы и оборудование, вкладка Готовые серверы и выберите конфигурацию с пометкой «Сервер собственной разработки». Здесь же вы можете посмотреть технические подробности, цену и т. д. Кстати, при аренде сервера на год вы получите скидку 15%.

Готовые конфигурации ориентированы на массового потребителя и широкий спектр задач, о которых более подробно я расскажу ниже.

127b4f11e4f4cbb372e23b1b7893c8a7.png


Кастомная сборка


Если вам нужно что-то особенное, вы можете сконфигурировать индивидуальную сборку на основе сервера Selectel. Перейдите в панель управления → Серверы и оборудованиеКонфигуратор серверов. Подберите нужные комплектующие, на этапе выбора материнской платы выберите Selectel SSEI 112-G6 MB или SSE-I224-G6 MB.

Переходите на сайт и оставляйте заявку на бесплатный тест сервера Selectel.


Вот пример конфигурации сервера для базы данных:

  • 1U-шасси с материнской платой Selectel SSEI 112-G6;
  • два процессора Xeon® 6740E с 96 ядрами и тактовой частотой 2,4 GHz;
  • RAM 1 ТБ DDR 5 ECC REG;
  • SSD NVMe 6 ТБ;
  • RAID10 из шести дисков (можно конечно и из четырех).


Ультимативное решение для баз данных готово!

Варианты применения сервера


Мы собрали, систематизировали и проанализировали типовые и самые частые рабочие нагрузки клиентов. А затем протестировали наши серверы для каждой из них. Итак, встречайте топ задач, решение которых на нашем сервере будет максимально эффективно.

Почему я так в этом уверен? Потому что целый отдел тестировщиков постоянно разрабатывает и улучшает собственные методики тестирования для самых распространенных серверных нагрузок. Такие тесты мы делаем на всем парке оборудования, получая полную картину производительности всех систем под все стандартные рабочие приложения. Но это совсем другая тема, подробнее о тесте рассказала моя коллега в статье об ускорении сетевого стека.

Веб-серверы


Производительность нового процессора позволяет легко выдерживать одновременные подключения тысяч пользователей. Каждый процессор имеет минимум 64 ядра, что в совокупности дает 128 ядер на систему. В сочетании с асинхронной работой nginx это позволяет эффективно справляться с распределением запросов. А наличие минимум 96 МБ аппаратного кэша (в самой простой модели процессора) и поддержка до 8 ТБ DDR5 позволяет хранить кэш запросов и не обращаться к дискам. Это дополнительно ускоряет работу веб-сервера.

Решение подойдет для высоконагруженных веб-проектов, интернет-магазинов и SaaS-приложений.

Базы данных


Сервер Selectel идеально подходит для работы с реляционными и NoSQL базами данных, например PostgreSQL и MongoDB. Скажу больше: он справляется с ними даже лучше топовых серверов на EPYCTM. Но вы все равно не поверите, поэтому проверьте сами на бесплатном тесте.

Благодаря архитектуре процессора, сервер обеспечивает ускоренное выполнение запросов и оптимизацию индексации, а следовательно — более быстрое выполнение команд чтения и записи.

Хранение данных


На 2U-корпус можно поставить 12 корзин на 3,5 дюйма и получится пусть и не СХД, но отличное холодное хранилище. Если нужно иметь данные в более быстром доступе, можно поставить 24 SSD SATA 2 ТБ (очень частый кейс) и получить 48 ТБ. Это особенно важно для систем резервного копирования и архивов с требованием высокой доступности.

А если этого мало, сервер оснащен шиной PCI 5 с высокой пропускной способностью и поддержкой NVMe-накопителей. Это делает его оптимальным для создания масштабируемых хранилищ с минимальными задержками доступа к данным.

Современные NVMe-диски достигают емкости до 16 ТБ, а в сервере с 24 дисками это означает до 384 ТБ локального хранения. Каждый NVMe-диск обеспечивает пропускную способность до 12 ГБ/с, что в сумме может превысить 100 ГБ/с в многодисковой конфигурации. То что нужно для обработки больших объемов данных.

В комментариях пишите, для чего вы используете серверы и какие конфигурации были бы вам интересны. Постараемся собрать и протестировать наиболее востребованные варианты и рассказать о результатах в следующих статьях.

© Habrahabr.ru