In questo articolo esamineremo una serie di impostazioni opzionali ma utili:
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- .
Questo articolo è una continuazione, per l'inizio vedere oVirt in 2 ore e .
Articoli
- Impostazioni aggiuntive — Siamo qui
Impostazioni aggiuntive del gestore
Per facilitare il lavoro, installeremo pacchetti aggiuntivi:
$ sudo yum install bash-completion vimPer attivare l'autocompletamento dei comandi, è necessario passare a bash.
Aggiunta di nomi DNS aggiuntivi
Questo sarà necessario quando si deve connettersi al gestore con un nome alternativo (CNAME, alias o semplicemente un nome breve senza suffisso di dominio). Per motivi di sicurezza, il gestore consente la connessione solo da un elenco di nomi autorizzati.
Creiamo un file di configurazione:
$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-sso-setup.confdel seguente contenuto:
SSO_ALTERNATE_ENGINE_FQDNS="ovirt.example.com some.alias.example.com ovirt"e riavviamo il gestore:
$ sudo systemctl restart ovirt-engineImpostazione dell'autenticazione tramite AD
oVirt ha un database utenti integrato, ma supporta anche fornitori LDAP esterni, inclusi AD.
Il modo più semplice per una configurazione tipica è eseguire la procedura guidata e riavviare il gestore:
$ sudo yum install ovirt-engine-extension-aaa-ldap-setup
$ sudo ovirt-engine-extension-aaa-ldap-setup
$ sudo systemctl restart ovirt-engineEsempio di funzionamento della procedura guidata
$ sudo ovirt-engine-extension-aaa-ldap-setup
Implementazioni LDAP disponibili:
…
3 — Active Directory
…
Si prega di selezionare: 3
Si prega di inserire il nome della Foresta Active Directory: example.com
Si prega di selezionare il protocollo da utilizzare (startTLS, ldaps, plain) [startTLS]:
Si prega di selezionare il metodo per ottenere il certificato CA codificato in PEM (File, URL, Inline, System, Insecure): URL
URL:
Inserire DN utente di ricerca (ad esempio uid=username,dc=example,dc=com o lasciare vuoto per anonimo): CN=oVirt-Engine,CN=Users,DC=example,DC=com
Inserire la password dell'utente di ricerca: *password*
[ INFO ] Tentativo di collegamento utilizzando ‘CN=oVirt-Engine,CN=Users,DC=example,DC=com’
Usi Single Sign-On per Macchine Virtuali (Sì, No) [Sì]:
Si prega di specificare il nome del profilo che sarà visibile agli utenti [example.com]:
Si prega di fornire le credenziali per testare il flusso di accesso:
Inserire il nome utente: someAnyUser
Inserire la password dell'utente:
…
[ INFO ] Sequenza di accesso eseguita correttamente
…
Seleziona la sequenza di test da eseguire (Fatto, Annulla, Accesso, Ricerca) [Fatto]:
[ INFO ] Fase: Configurazione della transazione
…
RIEPILOGO DELLA CONFIGURAZIONE
…
L'uso della procedura guidata è adatto per la maggior parte dei casi. Per configurazioni complesse, le impostazioni vengono eseguite manualmente. Maggiori dettagli nella documentazione di oVirt, . Dopo la connessione riuscita di Engine a AD, nella finestra di connessione apparirà un profilo aggiuntivo, e nella scheda Permessi per gli oggetti di sistema — la possibilità di concedere autorizzazioni agli utenti e ai gruppi AD. È importante notare che un catalogo esterno di utenti e gruppi può essere non solo AD, ma anche IPA, eDirectory, ecc.
Multipathing
Nell'ambiente di produzione, il sistema di archiviazione deve essere connesso all'host tramite percorsi indipendenti multipli di input-output. In genere, in CentOS (e quindi in oVirt) non ci sono problemi nella costruzione di più percorsi verso il dispositivo (find_multipaths yes). Di ulteriori impostazioni per FCoE si parla nella . Vale la pena prestare attenzione alla raccomandazione del produttore della SAN: molti consigliano di utilizzare la politica round-robin, mentre per impostazione predefinita in Enterprise Linux 7 si usa service-time.
Prendendo come esempio 3PAR
e il documento EL viene creato come Host con Generic-ALUA Persona 2, per il quale nelle impostazioni /etc/multipath.conf si inseriscono i seguenti valori:
defaults {
polling_interval 10
user_friendly_names no
find_multipaths yes
}
devices {
device {
vendor "3PARdata"
product "VV"
path_grouping_policy group_by_prio
path_selector "round-robin 0"
path_checker tur
features "0"
hardware_handler "1 alua"
prio alua
failback immediate
rr_weight uniform
no_path_retry 18
rr_min_io_rq 1
detect_prio yes
fast_io_fail_tmo 10
dev_loss_tmo "infinity"
}
}Dopo di che si dà il comando per il riavvio:
systemctl restart multipathd
Fig. 1 — politica di input-output di default.

Fig. 2 — politica di input-output dopo l'applicazione delle impostazioni.
Impostazione della gestione dell'alimentazione
Permette di effettuare, ad esempio, un riavvio hardware della macchina, se Engine non riesce a ricevere risposta dall'Host per un periodo prolungato. È implementato tramite Fence Agent (agente di recinzione).
Compute -> Hosts -> HOST — Modifica -> Gestione dell'alimentazione, quindi attivare «Abilita gestione dell'alimentazione» e aggiungere l'agente — «Aggiungi agente di recinzione» -> +.
Indichiamo il tipo (ad es., per iLO5 è necessario specificare ilo4), il nome/indirizzo dell'interfaccia ipmi, nonché il nome/password dell'utente. Si consiglia di creare un utente separato (ad es., oVirt-PM) e, nel caso di iLO, concedergli privilegi:
- Accesso
- Console remota
- Alimentazione virtuale e reset
- Media Virtuali
- Configura Impostazioni iLO
- Gestisci Account Utente
Non chiedete perché proprio così, è stato selezionato tramite esperienza. L'agente di fencing da console richiede un insieme di permessi ridotto.
Quando si configurano le liste di controllo degli accessi, è importante tenere presente che l'agente non viene eseguito sull'engine, ma su un host “adiacente” (chiamato Power Management Proxy), ovvero, se nel cluster c'è solo un nodo, il controllo dell'alimentazione non funzionerà. non funzionerà.
Configurazione SSL
La guida ufficiale completa è in , Appendice D: oVirt e SSL — Sostituzione del certificato SSL/TLS dell'oVirt Engine.
Il certificato può provenire dal nostro CA aziendale o da un centro di certificazione commerciale esterno.
Nota importante: il certificato è destinato alla connessione al gestore, non influirà sull'interazione tra Engine e nodi — questi utilizzeranno certificati self-signed emessi da Engine.
Requisiti:
- certificato emesso dal CA in formato PEM, con l'intera catena fino al CA radice (dal CA subordinato all'inizio fino al radice alla fine);
- certificato per Apache, rilasciato dal CA (anch'esso completato con l'intera catena di certificati del CA);
- chiave privata per Apache, senza password.
Supponiamo che il nostro centro di certificazione funzioni su CentOS, si chiami subca.example.com e che le richieste, le chiavi e i certificati si trovino nella cartella /etc/pki/tls/.
Facciamo backup e creiamo una cartella temporanea:
$ sudo cp /etc/pki/ovirt-engine/keys/apache.key.nopass /etc/pki/ovirt-engine/keys/apache.key.nopass.`date +%F`
$ sudo cp /etc/pki/ovirt-engine/certs/apache.cer /etc/pki/ovirt-engine/certs/apache.cer.`date +%F`
$ sudo mkdir /opt/certs
$ sudo chown mgmt.mgmt /opt/certsCaricamento dei certificati, eseguiamolo dalla nostra workstation o trasferiamoli in un altro modo comodo:
[myuser@mydesktop] $ scp -3 causer@subca.example.com:/etc/pki/tls/cachain.pem mgmt@ovirt.example.com:/opt/certs
[myuser@mydesktop] $ scp -3 causer@subca.example.com:/etc/pki/tls/private/ovirt.key mgmt@ovirt.example.com:/opt/certs
[myuser@mydesktop] $ scp -3 causer@subca.example.com/etc/pki/tls/certs/ovirt.crt mgmt@ovirt.example.com:/opt/certsDi conseguenza, dovresti vedere tutti e 3 i file:
$ ls /opt/certs
cachain.pem ovirt.crt ovirt.keyInstallazione dei certificati
Copiamo i file e aggiorniamo le liste di fiducia:
$ sudo cp /opt/certs/cachain.pem /etc/pki/ca-trust/source/anchors
$ sudo update-ca-trust
$ sudo rm /etc/pki/ovirt-engine/apache-ca.pem
$ sudo cp /opt/certs/cachain.pem /etc/pki/ovirt-engine/apache-ca.pem
$ sudo cp /opt/certs/ovirt03.key /etc/pki/ovirt-engine/keys/apache.key.nopass
$ sudo cp /opt/certs/ovirt03.crt /etc/pki/ovirt-engine/certs/apache.cer
$ sudo systemctl restart httpd.serviceAggiungi/aggiorna i file di configurazione:
$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-truststore.confENGINE_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts"
ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""$ sudo vim /etc/ovirt-engine/ovirt-websocket-proxy.conf.d/10-setup.confSSL_CERTIFICATE=/etc/pki/ovirt-engine/certs/apache.cer
SSL_KEY=/etc/pki/ovirt-engine/keys/apache.key.nopass$ sudo vim /etc/ovirt-imageio-proxy/ovirt-imageio-proxy.conf# Key file for SSL connections
ssl_key_file = /etc/pki/ovirt-engine/keys/apache.key.nopass
# Certificate file for SSL connections
ssl_cert_file = /etc/pki/ovirt-engine/certs/apache.cerPoi riavviamo tutti i servizi interessati:
$ sudo systemctl restart ovirt-provider-ovn.service
$ sudo systemctl restart ovirt-imageio-proxy
$ sudo systemctl restart ovirt-websocket-proxy
$ sudo systemctl restart ovirt-engine.serviceFatto! È ora di collegarsi al gestore e verificare che la connessione sia protetta da un certificato SSL firmato.
Archiviazione
E dove saremmo senza di essa! In questa sezione parleremo dell'archiviazione del gestore, mentre l'archiviazione delle VM è una questione a parte. Effettueremo copie di backup una volta al giorno e le salveremo tramite NFS, ad esempio, sullo stesso sistema in cui abbiamo posizionato le immagini ISO — mynfs01.example.com:/exports/ovirt-backup. Non è consigliabile memorizzare i backup sulla stessa macchina in cui opera l'Engine.
Installiamo e abilitiamo autofs:
$ sudo yum install autofs
$ sudo systemctl enable autofs
$ sudo systemctl start autofsCreiamo uno script:
$ sudo vim /etc/cron.daily/make.oVirt.backup.shdel seguente contenuto:
#!/bin/bash
datetime=`date +"%F.%R"`
backupdir="/net/mynfs01.example.com/exports/ovirt-backup"
filename="$backupdir/`hostname --short`.`date +"%F.%R"`"
engine-backup --mode=backup --scope=all --file=$filename.data --log=$filename.log
#uncomment next line for autodelete files older 30 days
#find $backupdir -type f -mtime +30 -exec rm -f {} ;Rendiamo il file eseguibile:
$ sudo chmod a+x /etc/cron.daily/make.oVirt.backup.shOra ogni notte riceveremo un backup delle impostazioni del gestore.
Interfaccia di gestione degli host
— un'interfaccia amministrativa moderna per sistemi Linux. In questo caso svolge un ruolo simile a quello dell'interfaccia web di ESXi.

Fig. 3 — aspetto del pannello.
Si installa molto facilmente, sono necessari i pacchetti cockpit e il plugin cockpit-ovirt-dashboard:
$ sudo yum install cockpit cockpit-ovirt-dashboard -yAttivazione di Cockpit:
$ sudo systemctl enable --now cockpit.socketConfigurazione del firewall:
sudo firewall-cmd --add-service=cockpit
sudo firewall-cmd --add-service=cockpit --permanentOra è possibile collegarsi all'host: https://[Host IP or FQDN]:9090
VLANs
È consigliabile leggere di più sulle reti in . Ci sono molte possibilità; qui descriveremo la connessione delle reti virtuali.
Per collegare altre sottoreti, è prima necessario descriverle nella configurazione: Rete -> Reti -> Nuovo; qui è obbligatorio solo il nome; la casella di controllo Rete VM, che consente alle macchine di utilizzare questa rete, è attivata, e per collegare il tag è necessario abilitare Attiva il tagging VLAN, inserire il numero VLAN e cliccare su Ok.
Ora è necessario andare in host Compute -> Host -> kvmNN -> Interfacce di rete -> Configura reti host. La rete aggiunta dal lato destro Reti logiche non assegnate deve essere trascinata a sinistra in Reti logiche assegnate:

Fig. 4 — prima dell'aggiunta della rete.

Fig. 5 — dopo l'aggiunta della rete.
Per collegare massicciamente diverse reti a un host è conveniente assegnare un'etichetta (o più) alle reti durante la creazione e aggiungerle per etichetta.
Dopo la creazione della rete, gli host passeranno allo stato Non Operativo, fino a quando non terminerà l'aggiunta della rete a tutti i nodi del cluster. Questo comportamento è causato dall'impostazione Require All nella scheda Cluster durante la creazione di una nuova rete. Nel caso in cui la rete non sia necessaria su tutti i nodi del cluster, è possibile disattivare questa impostazione, quindi la rete verrà visualizzata a destra nella sezione Non Required durante l'aggiunta all'host, e sarà possibile scegliere se collegarla a uno specifico host.

Fig. 6 — selezione dell'impostazione del requisito di rete.
Specifico per HPE
Quasi tutti i produttori hanno strumenti che migliorano la facilità d'uso dei loro prodotti. Nel caso di HPE, sono utili AMS (Agentless Management Service, amsd per iLO5, hp-ams per iLO4) e SSA (Smart Storage Administrator, gestione del controller di disco) e altri.
Collegamento del repository HPE
Importiamo la chiave e colleghiamo i repository HPE:
$ sudo rpm --import https://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub
$ sudo vim /etc/yum.repos.d/mcp.repodel seguente contenuto:
[mcp]
name=Management Component Pack
baseurl=http://downloads.linux.hpe.com/repo/mcp/centos/$releasever/$basearch/current/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcp
[spp]
name=Service Pack for ProLiant
baseurl=http://downloads.linux.hpe.com/SDR/repo/spp/RHEL/$releasever/$basearch/current/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcpVisualizzazione del contenuto del repository e delle informazioni sul pacchetto (informativo):
$ sudo yum --disablerepo="*" --enablerepo="mcp" list available
$ yum info amsdInstallazione e avvio:
$ sudo yum install amsd ssacli
$ sudo systemctl start amsdEsempio di utilizzo dell'utilità per la gestione del controller di disco

Per ora è tutto. Negli articoli successivi prevedo di parlare di alcune operazioni di base e applicazioni. Ad esempio, come creare un VDI in oVirt.
Fonte: habr.com
