Documentazione
Sistemi operativi
Due modi per portare un sistema operativo su una macchina. Clonare un template già pronto è quello veloce ed è l’impostazione predefinita. L’installazione da rete è quella che serve quando non c’è nulla da cui clonare: una macchina nuda, oppure una distribuzione che si preferisce installare anziché copiare.
Il catalogo
Il suo catalogo è l’elenco dei sistemi operativi che offre. Ogni voce è collegata a qualcosa di concreto per ciascuna integrazione: un template sul suo hypervisor oppure un profilo di installazione da rete.
Template
Un template è una macchina sul suo hypervisor che Provibr clona. Può costruirlo lei stesso oppure lasciarlo costruire alla piattaforma: la pagina del catalogo fornisce un comando da eseguire sul suo nodo, che recupera un’immagine cloud, la prepara e la trasforma in template.
La preparazione di un’immagine è una sequenza fissa: copiarla, leggerne l’architettura, espandere il filesystem, aggiornare l’indice dei pacchetti, installare ciò che serve a una macchina cloud, configurarla, accertarsi che l’accesso come root via SSH funzioni, controllare che le chiavi host vengano rigenerate, cancellare l’identità specifica della macchina e calcolare un checksum.
L’installazione da rete
L’agente può gestire da solo un avvio da rete: risponde alla richiesta di avvio, consegna un bootloader, serve il kernel e l’installer e fornisce il file di risposte che rende l’installazione non presidiata. Non serve che nella sua rete sia già in funzione nulla.
I profili
Un profilo è un’installazione descritta dall’inizio alla fine. Esiste un insieme mantenuto dal suo provider che è possibile clonare, e ci sono i suoi.
- Distribuzione, versione e architettura, e il formato di risposte che vi corrisponde.
- Da dove arriva il supporto di installazione: servito dall’agente, cosa che funziona anche senza una rotta verso internet, oppure scaricato da un mirror, cosa che invece ne richiede una.
- La rete: dal server di avvio, oppure un indirizzo fisso preso dalla sua gestione degli indirizzi.
- Lo schema del disco, la politica per le chiavi SSH, i pacchetti aggiuntivi, le impostazioni locali, la tastiera e il fuso orario.
- I comandi da eseguire dopo l’installazione, dentro l’installer oppure dentro il sistema installato.
Il servizio sull’agente
L’installazione da rete si attiva per singolo agente, in una scheda dedicata. Si sceglie su quale interfaccia di rete resta in ascolto, e la scelta dell’interfaccia è imposta dal kernel e non dal programma.
Per impostazione predefinita l’agente risponde accanto al server di indirizzi che ha già, aggiungendo soltanto ciò che serve a un avvio da rete. Può anche distribuire indirizzi per conto proprio, ma questo viene presentato come strumento di prova: richiede un’interfaccia specifica e un blocco di indirizzi, chiede conferma e si disattiva da solo dopo un giorno.
Eseguire un’installazione
Si avvia dalla scheda delle impostazioni del server. Provibr controlla tutto ciò che può controllare prima che il pulsante faccia qualcosa: che l’agente la supporti, che l’integrazione sia impostata per installare da rete, che il servizio sia attivo, che la macchina abbia indirizzi MAC noti e che il profilo abbia tutto ciò che gli serve.
L’ordine conta ed è voluto. Prima si dice al suo agente di mettersi in ascolto e solo quando conferma la macchina viene accesa. Al contrario, la macchina si avvierebbe prima che qualcuno fosse in ascolto, non riceverebbe risposta e ripiegherebbe in silenzio sul suo disco.
La password di root e le chiavi SSH finiscono nel file di risposte che l’installer legge. Il file generato non viene mai conservato e il registro di audit annota soltanto che quei campi erano compilati.
Quando non si avvia
L’agente annota ciò che ha visto, fase per fase: se il servizio era in ascolto, se è arrivata una richiesta di avvio, se il bootloader è stato scaricato, se il kernel è partito, se l’installer ha richiamato. Raggiungere una fase dimostra tutte quelle precedenti, quindi l’ultima fase raggiunta è l’intera diagnosi.
- Nessuna richiesta: la macchina non ha mai chiesto nulla. Conviene accertarsi che si avvii dalla rete e che l’agente sia sul segmento giusto.
- È arrivata una richiesta ma non corrispondeva: l’indirizzo MAC nella richiesta non è quello registrato sul server.
- La risposta è partita ma il bootloader non è mai stato scaricato, di solito perché c’è un altro server di avvio sullo stesso segmento, oppure un firmware che non riesce a raggiungere la porta dell’agente.
- Il bootloader è stato eseguito, ma qualcosa non ha funzionato con il kernel, con il ramdisk iniziale o con il file di risposte.
- L’installer è partito e non si è più fatto sentire. Da qui in poi si tratta dell’installazione vera e propria, ed è nel suo log che occorre guardare.
La cache sull’agente
Tutto ciò che l’agente deve scaricare per un’installazione viene conservato sul suo disco, indirizzato tramite checksum e verificato tramite firma. La seconda macchina che installa non lo scarica quindi una seconda volta.
Dalla scheda della cache dell’agente è possibile ispezionare ciò che c’è, recuperare qualcosa in anticipo, verificarlo, eliminare una voce e svuotare l’intera cache. Consultazione e modifica sono autorizzazioni distinte.