Salta al contenuto

Documentazione

oVirt

oVirt è la piattaforma di gestione open source per KVM. Un unico motore si trova davanti a tutti gli host e Provibr dialoga con quel motore tramite la sua REST API. Chi ha già letto la pagina su Proxmox ritrova lo stesso schema: un agente nella propria rete, un’integrazione che punta al motore, un piano e un modello da clonare. Questa pagina descrive le differenze.

In che cosa differisce da Proxmox

Entrambi sono hypervisor ed entrambi forniscono lo stesso tipo di risorsa, quindi piani, capacità, pool di indirizzi e registro di controllo funzionano esattamente come con Proxmox. Le differenze riguardano il modo in cui una macchina viene indirizzata e collocata.

Non c’è alcun nodo da scegliere né alcun intervallo di identificatori da assegnare. È il motore stesso a scegliere un host all’interno del cluster e a generare l’identificativo di una macchina: un UUID, non un vmid. Chi è abituato a Proxmox noterà che questi due campi mancano di proposito.

Che cosa inserire

Un’integrazione oVirt punta al motore, non a un host. Quattro valori, tutti obbligatori:

  • L’indirizzo del motore così come lo apre nel browser, per esempio https://ovirt.example.com. Tutto ciò che segue il nome host viene ignorato; il percorso dell’API lo costruisce l’agente.
  • Il nome utente comprensivo del profilo di autorizzazione, per esempio provibr@internal.
  • La password di quell’utente.
  • L’impronta SHA-256 del certificato presentato dal motore.
oVirt non dispone di alcun token API revocabile o limitabile a una parte dell’API, quindi ciò che l’agente custodisce è la password completa di un account. Per questo il ruolo assegnato a quell’account è l’unico confine esistente: crei un utente dedicato a Provibr e gli assegni un ruolo limitato al cluster che gestisce, invece di usare admin@internal.

L’impronta TLS

Un motore oVirt presenta un certificato firmato dalla propria CA interna. Ne legga l’impronta da qualsiasi macchina in grado di raggiungere il motore:

shell
openssl s_client -connect <host>:443 </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
I comandi e l’output del terminale sono in inglese ovunque, nel pannello e in queste pagine. Un solo testo, una sola verità: quello che legge qui è letteralmente ciò che il suo host le restituirà.

Questo campo è obbligatorio e resta tale. Non esiste una catena di fiducia pubblica su cui ripiegare né un percorso non cifrato, quindi l’agente si fida di quell’unico certificato e di nessun altro. Se sostituisce il certificato del motore, sostituisca anche l’impronta qui.

Cluster, storage e rete

Tre impostazioni indicano al motore dove costruire. Risiedono sull’integrazione e valgono per ogni macchina ordinata tramite essa:

  • Cluster: dove finiscono le nuove macchine. Il motore vi sceglie un host.
  • Storage domain: dove viene creato il disco di una nuova macchina.
  • Profilo vNIC: a che cosa viene collegata la scheda di rete di una nuova macchina.

Modelli

Una macchina si crea clonando un modello oVirt, esattamente come su Proxmox. Colleghi un modello a un sistema operativo del suo catalogo e ogni piano che offre quel sistema lo clonerà.

L’installazione di rete tramite PXE non è disponibile per oVirt. Qui clonare un modello è l’unico modo in cui una macchina viene creata.

Che cosa si può fare con una macchina

Creare, avviare, fermare, spegnere, sospendere, riprendere ed eliminare. Ampliare un disco o aggiungerne uno, collegare o scollegare una scheda di rete, aprire la console e consultare i grafici di utilizzo.

La reinstallazione non esiste per oVirt. Su Proxmox quel comando azzera una macchina e riclona il modello sullo stesso identificativo; oVirt non ha nulla di equivalente, perciò il pulsante non c’è. Elimini la macchina e ne ordini una nuova.

Indirizzi e firewall

Gli indirizzi funzionano come ovunque in Provibr: un piano lega core, memoria e disco a un pool di indirizzi, l’ordine preleva il primo indirizzo libero e lo scrive nelle impostazioni cloud-init della macchina, e l’eliminazione della macchina lo rende di nuovo disponibile.

Non esiste un firewall per singola macchina. Proxmox può mantenere un ipset per macchina e Provibr lo tiene allineato agli indirizzi che ha assegnato; oVirt non ha nulla del genere, quindi quella scheda non compare.

Macchine già esistenti

Le macchine già in esecuzione sul suo motore possono essere importate nel pannello. Mantengono il loro identificativo, iniziano a contare ai fini della capacità e da quel momento vengono gestite come qualsiasi altra macchina.