Начиналось всё с создания стенда для тестирования серверов нашей собственной разработки. Потом стенд разросся и мы решили сделать небольшой датацентр для пилотирования различных софтовых решений. Сейчас это единственная в Россси и вторая в Европе лаборатория OCP Experience Lab.
Вообще я недавно в разработке вычислительной техники. Мне это всегда казалось чем-то невозможно сложным и доступным только огромным командам с очень большими бюджетами. И, наверное, поэтому очень привлекательным. В прошлом году звёзды сошлись и мне удалось привлечь инвесторов и найти стартовых клиентов, чтобы запустить свой собственный проект создания российского сервера. Выяснилось, что в России в этом направлении работает пара десятков команд совершенно разных размеров и специализаций. Одни просто привозят комплекты деталей от тайваньских производителей и делают в России только сборку, а другие копают сильно глубже, вплоть до написания собственного BIOS. Короче, стало понятно, что тема хоть и сложная, но вполне посильная.
Для старта разработки выбрали сервера стандарта OCP. ОСР это Open Compute Project, открытое сообщество, в котором конструкторская документация на все продукты выкладывется в открытый доступ для свободного использования. Настоящий Open Source Hardware, и как следствие, самый прогрессивный, бурно растущий и перспективный стандарт, к тому же продвигаемый преимущественно не поставщиками, а потребителями оборудования. Помимо всех технических преимуществ, открытая документация должна была упростить нам старт разработки и ускорить встраивание в такую тяжелую тему, как серверное железо. Но это, наверное, тема для отдельной статьи.
А компанию, кстати, назвали GAGAR>IN. Скоро вы про неё ещё услышите.
Готовимся
Моё же личное знакомство с ОСР состоялось лет пять назад, когда я участвовал в продвижении решений американской Stack Velocity на российский рынок. Уже тогда у нас была идея локализовать их производство и сделать собранные в России сервера с открытой документацией для нужд госкомпаний и госзаказчиков. Но тогда импотрозамещение было ещё не в тренде, и все потенциальные заказчики в итоге предпочли купить тайваньское оборудование. Именно тогда произошел первый сдвиг в популяризации OCP в России: Яндекс установил в свой новый датацентр как-бы-OCP сервера от небольшого тайваньского вендора AIC, а Сбербанк, РЖД и Mail вовсю тестировали полноценные OCP решения от гиганта Quanta, крупнейшего мирового производителя вычислительной техники.
С тех пор прошло довольно много времени и поэтому первым шагом моего плана было обойти всех основных вендоров и ближайших дистрибьюторов OCP, чтобы подружиться, запартнёриться и посмотреть-пощупать реальные железки. До начала карантинных ограничений я чудом успел объехать с десяток поставщиков в России, Тайване, Китае и Европе — это был стремительный и весьма продуктивный тур, из которого стало многое понятно. Не боги горшки обжигают и у нас точно есть шанс успешно воспроизвести сервер OCP, и более того — сделать его немного лучше по характеристикам.
Одним из открытий погружения в мир серверов было то, что вендора не показывали образцы реальной продукции — чаще всего мы смотрели картинки презентации, и в лучшем случае инженеры притаскивали опытный образец какой-то одной модели. Только один раз удалось увидеть что-то похожее на шоу-рум — голландский дистрибьютор оборудования OCP собрал весьма нарядный стенд в дата-центре под Амстердамом.
Стартуем
Создание тестового стенда всегда стояло одним из первых пунктов плана развития компании, но то, что мы увидели в Голландии, понравилось нам настолько сильно, что было решено совместить стенд тестирования своего железа, шоу-рум и лабораторию для отладки программно-аппаратных решений клиентов в одном месте, назвав это OCP Experience Lab. То есть мы создадим лабораторию, максимально соответствующую духу открытых сообществ — удобное и легко доступное место, где и конечные потребители, и интеграторы могут своими руками пощупать и потестировать реальное, боевое и самое прогрессивное железо.
Все эти наши прекрасные планы были перечеркнуты карантином, и первые тестовые стенды были собраны в спальных районах столицы “на коленке”, а специально арендованное под лабораторию помещение в центре Москвы стояло пустым.
Насколько мне известно, в период карантина, даже рабочие места инженеров крупнейших мировых корпораций выглядели очень похоже.
В июне, как только карантин немного ослаб, мы смогли начать сборку лаборатории нашей мечты.
Наконец-то получилось собрать всё закупленное оборудование в одном месте и нормально установить в стойки. Нам повезло, что в помещении был трехфазный электрический ввод, и существовала возможность проложить оптику. Тем не менее, первое время, пока мы согласовывали с арендодателем проект, тащили оптику и подводили электричество к стойкам — всё наше оборудование работало от обычной розетки и через LTE модем. Причем из-за толстых стен и плотной застройки, этот модем пришлось приклеить скотчем к окну.
И в первые же дни стало понятно, идея постоянно разместить системных инженеров в лаборатории была большой ошибкой — шум от оборудования стоит такой, что дольше получаса работать можно только в защитных наушниках.
Комплектующие в лабораторию мы собирали со всего мира: заказали всё самое новое и интересное, что есть в мире OCP. В итоге у нас образовалось три стойки от трёх разных производителей, полтора десятка различных вычислительных серверов, несколько дисковых массивов и целых шесть коммутаторов! Такое многообразие позволило одновременно запускать два-три функциональных стенда и проводить на них долговременные тесты.
Поначалу загрузили оборудованием и подключили только центральную стойку, левую — оставили для механических тестов и хранения отключенного оборудования, а правую — определили в резерв под будущее расширение.
Что и как тестируем
Очевидно, что первичная задача тестового стенда — проверка разработанного нами железа на функциональность, надежность и совместимость. Как-нибудь расскажу вам подробнее, как мы проводим эти тесты, как пишем методики и ведем протоколы испытаний. Но и на старте, когда наши собственные сервера были еще в проекте, лаборатория тоже не стояла без работы — тестировали продукты конкурентов и партнеров, выбирали периферию, готовили и апробировали те самые методологии.
Всё началось с базовых тестов производительности железа. Мы прогнали через испытания множество компонент: модули памяти Samsung, Micron, Hynix; SSD от тех же Samsung, Micron и Intel; сетевые карты Mellanox, Broadcom, Emulex и Intel. И даже сравнили между собой процессора Intel SkyLake и AMD EPYC2.
Но понятно, что лаборатория — не только место для тестирования новых железок. Потребители не бенчмарки будут мерять, им нужны рабочие программно-аппаратные конфигурации. И поэтому мы стали потихоньку собирать конфигурации различного софта и проверять его работоспособность и производительность. Начали с российских Линуксов: Альт, Астра и Роса. На базовых тестах всё прошло без сюрпризов — возможно стоит делать более глубокие исследования и сравнение в сложных задачах. Потом собрали несколько различных стендов систем виртуализации. Для начала попробовали VmWare, Proxmox, Virtuozzo — с ними также всё прошло довольно гладко и скучно. Мы сохранили конфигурации и решили вернуться к этим системам позже, уже с реальными клиентскими задачами.
Так как основная идея OCP — оборудование без излишеств, то всё разнообразие функционала перенесено на уровень софта. Фактически, любые конфигурации собираются из двух «кирпичиков» — вычислительного сервера и присоединяемого к нему дискового массива JBOD (Just a Bunch Of Discs). Мы же собрали в лаборатории несколько различных исполнений как серверов, так и дисковых массивов, и следующим логичным шагом было тестирование их совместной работы.
В ходе всех этих тестов, постоянного конфигурирования и переконфигурирования серверов и сетей, стало понятно, что без полноценного мониторинга систем нам не справиться, и с этого момента у нас завёлся Zabbix.
Одним из неожиданных открытий после запуска Zabbix, стало то, что мы обнаружили повышение температуры в лаборатории ночью. Оказалось, что так как мы находимся в обычном офисном центре, арендодатель ночью выключает центральное кондиционирование. Оно и без того жарким летом еле справляется с охлаждением наших стоек, но оказывается ночью температура в нашем импровизированном датацентре регулярно превышала 35 градусов:
Кстати, одним из преимуществ оборудования OCP, является его способность работать при температурах до 30 градусов, а максимум допустимой температуры составляет как раз 35 градусов. Получилось, что мы сами того не желая, устроили своего рода стресс-тест нашим серверам. Но всё же оставлять серверную без кондиционирования опасно — ещё несколько серверов и температура уползёт под сорок, да и клиентов приводить в такую жаркую комнату неудобно.
Финальный рывок
Наши продажники всегда просили красивый шоу-рум, но я до последнего надеялся обойтись малой кровью. Чистенько, удобно, функционально — и достаточно. Однако в планах было сделать большой анонс открытия лаборатории уже в октябре и для этого нужно было снять небольшое видео. Позвали съемочную группу и получили суровый приговор — дорисовывать красоту в кадре будет не сильно дешевле, чем сделать нормальный, полноценный ремонт. В результате торжественное открытие лаборатории отложилось ещё на пару месяцев, и появились дизайнеры, чтобы «сделать красиво».
Дизайн и ремонт мы заказали у застройщиков выставочных стендов — они как никто умеют делать яркие конструкции. Месяц согласований, месяц строительства — и получилось вот так:
Теперь можно было проводить официальное открытие и снимать полноценное видео:
В итоге, у нас есть не только лаборитория, шоурум, но и удобная съемочная площадка для производства серии видеороликов про оборудование Open Compute.
Так что продолжение следует!