Automazione Data Center · 3 min read · Dec 10, 2025
Genesis, un Nuovo Strumento di Automazione dei Data Center di Tumblr
Tumblr rilascia un Nuovo Strumento di Automazione dei Data Center - “GENESIS”
Genesis, uno strumento per l’automazione dei data center, è stato rilasciato da Tumblr e semplificherà il processo di scoperta di nuove macchine e di segnalazione dei dettagli hardware a Collins, una parte del sistema di gestione dell’inventario di Tumblr. Lo strumento è molto conveniente per la configurazione dell’hardware, come la modifica delle impostazioni del BIOS e la configurazione delle schede RAID prima di fornire un sistema operativo all’host.
Genesis è stato sviluppato dai team di Site Reliability Engineering e Datacenter di Tumblr e ora Genesis è open-source sotto la Licenza Apache ed è disponibile su Github.
Leggi anche - Migliori alternative a Tumblr
Lo strumento include un’immagine Linux semplificata adatta per l’avvio tramite PXE e un linguaggio specifico del dominio (DSL) basato su Ruby per descrivere i compiti da eseguire sull’host. Genesis DSL crea il compito in base ai pacchetti installati e ai comandi eseguiti facilmente. Esempi di compiti sono il compito TimedBurnin, che esegue un test di stress sul sistema per escludere errori hardware prima di metterlo in produzione, e BiosConfigrR720, che configura il BIOS sui Dell R720 proprio come lo vogliamo.
Ci sono pochi sistemi oltre a Genesis che devono essere in atto per un’implementazione di successo. Questi sono
- un server DHCP,
- un server TFTP,
- un server HTTP,
Il progetto Github di Genesis INSTALL.md fornisce ulteriori istruzioni e include anche le opzioni di configurazione del server necessarie.
Quando una macchina si avvia, il server DHCP dice al firmware PXE di avviarsi in iPXE. L’iPXE viene quindi utilizzato per presentare un elenco di scelte di menu, recuperato da un server remoto. Quando l’utente ha fatto una scelta, il kernel di Genesis viene caricato e initrd (dal file server) insieme ai parametri sulla riga di comando del kernel. Una volta che il sistema operativo Genesis è stato caricato, il bootloader di genesis recupera ed esegue uno script Ruby che descrive una seconda fase in cui installiamo gemme, alcuni RPM di base e recuperiamo i nostri compiti da un server remoto. Infine, eseguiamo i compiti pertinenti.
Prendiamo un esempio; consideriamo un server nuovissimo che si avvia. Fa una richiesta DHCP e carica il menu iPXE. In questo caso, dobbiamo ricordare che non conosciamo l’indirizzo MAC di prima, quindi deve essere una nuova macchina. Avviamo quindi Genesis in modalità di scoperta, dove i compiti che esegue sono scritti per recuperare tutte le informazioni hardware di cui abbiamo bisogno e riportarle a Collins. Nella nostra configurazione, ciò include informazioni come dischi rigidi e la loro capacità e il numero di CPU, ma se desideriamo ottenere informazioni dettagliate riguardo ai tag di servizio, le banche di memoria in uso, il nome delle porte dello switch, dobbiamo seguire questo con 48 ore di test di stress hardware utilizzando il compito TimedBurnin.
La pagina web del progetto Github di Collins afferma che questa applicazione è molto vitale in quanto fornisce una fonte di verità e conoscenza per l’intera infrastruttura di Tumblr. Tutti i dati relativi agli ambienti di produzione di Tumblr sono memorizzati e codificati in Collins, e questi dati vengono utilizzati per guidare tutta l’automazione dei data center di Tumblr.
Lo strumento è stato creato come un sistema che si occuperà di tutti i server fisici, switch e rack negli ambienti di produzione di Tumblr, ed è evoluto per supportare anche l’inventario dell’hardware, degli indirizzi IP e del software. La dimostrazione mostra che l’API di Collins e i dati sono un eccellente meccanismo per guidare i processi di automazione. Recentemente, Collins fornisce il deployment di cluster con un pulsante, genera configurazioni quando le topologie dei cluster hardware cambiano, guida gli aggiornamenti dell’infrastruttura quando le configurazioni software cambiano e aiuta a gestire i deploy software.
“Genesis è ancora nelle prime fasi di sviluppo e mentre abbiamo raggiunto molti degli obiettivi che ci eravamo prefissati, c’è ancora molto da fare”, afferma il blog di Tumblr. Tumblr ha aggiunto ulteriormente che “Se trovi un bug o hai un’idea interessante, faccelo sapere e partecipa contribuendo codice e documentazione o partecipando con domande e suggerimenti.”
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.