Rallyup — дирижёр вашей серверной инфраструктуры

05 Nov, 2024

Репозиторий давно не обновлялся

Последнее обновление было 1 год назад.

362
🔱 10
👥 2

Представьте: после отключения электричества ваш homelab или офисная инфраструктура включается в хаотичном порядке. Сначала пытаются стартовать виртуальные машины, хотя хранилище ещё не готово, потом падает сетевое оборудование... Знакомая картина? Проект rallyup решает эту проблему раз и навсегда.

Что это за инструмент?

Rallyup — это легковесный планировщик Wake-on-LAN на Rust, который:

  • Автоматически запускает серверы в правильной последовательности
  • Проверяет доступность сервисов перед запуском зависимых узлов
  • Работает даже в сложных сетях с VLAN

Основная фишка — dependency management. Вы просто указываете, какие серверы от каких зависят, а rallyup делает всё остальное.

Кому это нужно?

  • Владельцам homelab, уставшим вручную включать оборудование
  • Малому бизнесу с собственной инфраструктурой
  • Энтузиастам, экспериментирующим с сетевым оборудованием

Топ-3 причины попробовать

  1. Умная последовательность запуска

    name: "VM Host"
      depends:
        - "Storage Server 1"
        - "Storage Server 2"
    

    Виртуальные машины не запустятся, пока не будут готовы хранилища — как и должно быть.

    Реклама
  2. Гибкие проверки готовности

    • HTTP-запросы к health-чекерам
    • Проверка открытых портов
    • Произвольные shell-команды

    Пример проверки через ping:

    type: shell
      command: ping -c 1 192.168.1.1
      status: 0
    
  3. Работа с VLAN без головной боли Просто укажите VLAN ID, и WOL-пакеты пойдут куда нужно:

    vlan: 100
    

Как это работает технически?

  1. Вы настраиваете оборудование на Wake-on-LAN
  2. Создаёте YAML-конфиг с зависимостями
  3. Запускаете rallyup на маломощном устройстве (например, Raspberry Pi)
  4. При включении этого устройства остальная инфраструктура запускается автоматически в правильном порядке

Из чего состоит конфигурация?

Каждый сервер описывается в YAML с указанием:

  • MAC-адреса
  • Сетевого интерфейса
  • VLAN (опционально)
  • Зависимостей от других серверов
  • Проверок готовности

Полный пример конфига:

name: "Firewall"
  mac: "00:1A:2B:3C:4D:5E"
  interface: eth0
  vlan: 10
  depends: []
  check:
    - type: http
      url: "http://192.168.1.1/health"
      status: 200

name: "Storage"
  mac: "00:1A:2B:3C:4D:5F"
  depends:
    - "Firewall"
  check:
    - type: port
      ip: 192.168.100.101
      port: 2049

Когда особенно пригодится?

  1. После отключения электричества — инфраструктура запускается сама в правильном порядке
  2. При переезде оборудования — не нужно вручную включать каждый сервер
  3. Для экономии энергии — можно выключать неиспользуемые серверы, зная, что они корректно запустятся

Что в планах разработки?

  • Поддержка проверок NFS и SMB
  • Возможность создания собственных плагинов для проверок
  • Улучшение документации

Вывод: стоит ли пробовать?

Если у вас:

  • Есть несколько серверов с Wake-on-LAN
  • Важна правильная последовательность запуска сервисов
  • Хочется автоматизировать рутинные операции

...то rallyup значительно упростит вам жизнь. Проект активно развивается, написан на Rust (значит, работает быстро и стабильно), а главное — решает конкретную боль многих системных администраторов и энтузиастов.

Для первых шагов достаточно Raspberry Pi и получасовой настройки. Попробуйте — и ваша инфраструктура больше никогда не запустится в неправильном порядке!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.