Технологии · 2 min read · Dec 10, 2025
Genesis, новый инструмент автоматизации дата-центров от Tumblr
Tumblr выпустил новый инструмент автоматизации дата-центров - “GENESIS”
Genesis, инструмент для автоматизации дата-центров, был выпущен Tumblr, который упростит процесс обнаружения новых машин и отчетности о деталях оборудования для Collins, части системы управления инвентарем Tumblr. Инструмент очень удобен для настройки оборудования, такого как изменение настроек BIOS и конфигурирование RAID-карт перед установкой операционной системы на хост.
Genesis был разработан командами Site Reliability Engineering и Datacenter в Tumblr, и теперь Genesis является открытым исходным кодом под лицензией Apache и доступен на Github.
Также читайте - Лучшие альтернативы Tumblr
Инструмент включает в себя облегченный образ Linux, подходящий для загрузки по PXE, и язык, специфичный для домена (DSL) на Ruby для описания задач, которые должны быть выполнены на хосте. Genesis DSL создает задачу на основе установленных пакетов и выполняемых команд. Примеры задач включают задачу TimedBurnin, которая выполняет стресс-тест системы, чтобы исключить аппаратные ошибки перед вводом в эксплуатацию, и BiosConfigrR720, которая настраивает BIOS на Dell R720 так, как нам нужно.
Существуют несколько систем, помимо Genesis, которые должны быть установлены для успешного развертывания. Это:
- DHCP сервер,
- TFTP сервер,
- HTTP сервер,
Проект Genesis на Github INSTALL.md предоставляет дополнительные инструкции и также включает необходимые параметры конфигурации серверов.
Когда машина загружается, DHCP сервер сообщает прошивке PXE загрузиться в iPXE. Затем iPXE используется для отображения списка меню, полученного с удаленного сервера. Когда пользователь делает выбор, загружается ядро Genesis и initrd (с файлового сервера) вместе с параметрами в командной строке ядра. Как только операционная система Genesis загружена, загрузчик genesis-bootloader получает и выполняет ruby-скрипт, описывающий второй этап, где мы устанавливаем гемы, несколько базовых RPM и получаем наши задачи с удаленного сервера. Наконец, мы выполняем соответствующие задачи.
Рассмотрим пример: представьте себе совершенно новый сервер, который загружается. Он делает запрос DHCP и загружает меню iPXE. В этом случае нам нужно помнить, что мы не знаем MAC-адрес заранее, поэтому это должна быть новая машина. Затем мы загружаем Genesis в режим обнаружения, где задачи, которые он выполняет, написаны для получения всей необходимой информации об оборудовании и отчетности обратно в Collins. В нашей настройке это включает информацию, такую как жесткие диски и их емкость, а также количество процессоров, но если вы хотите получить подробную информацию о сервисных тегах, используемых банков памяти, названиях портов коммутаторов, нам нужно будет провести 48 часов стресс-тестирования оборудования с использованием задачи TimedBurnin.
Веб-страница проекта Collins на Github утверждает, что это приложение очень важно, так как оно предоставляет источник правды и знаний для всей инфраструктуры Tumblr. Все данные, связанные с производственными средами Tumblr, хранятся и кодируются в Collins, и эти данные используются для управления всей автоматизацией дата-центров Tumblr.
Инструмент был создан как система, которая будет следить за всеми физическими серверами, коммутаторами и стойками в производственных средах Tumblr и развилась, чтобы также поддерживать инвентаризацию оборудования, IP-адресов и программного обеспечения. Демонстрация показывает, что API Collins и данные являются отличным механизмом для управления процессами автоматизации. Новый Collins предоставляет развертывание кластеров по нажатию кнопки, управляет генерацией конфигураций, когда топологии аппаратных кластеров изменяются, управляет обновлениями инфраструктуры, когда изменения конфигурации программного обеспечения происходят, и помогает управлять развертыванием программного обеспечения.
“Genesis все еще находится на ранних стадиях разработки, и хотя мы достигли многих целей, которые поставили перед собой, еще многое предстоит сделать”, - говорит блог Tumblr. Tumblr также добавил: “Если вы нашли ошибку или у вас есть классная идея, дайте нам знать и участвуйте, внося код и документацию или участвуя с вопросами и предложениями.”
Get new posts in your inbox
No spam. Unsubscribe anytime.