oVirt in 2 ore. Parte 3. Impostazioni aggiuntive

In questo articolo esamineremo una serie di impostazioni facoltative ma utili:

Questo articolo è una continuazione, vedi oVirt in 2 ore per l'inizio Parte 1 и parte 2.

Articoli

  1. Introduzione
  2. Installazione del gestore (ovirt-engine) e degli hypervisor (host)
  3. Impostazioni aggiuntive: siamo qui

Impostazioni aggiuntive del gestore

Per comodità, installeremo pacchetti aggiuntivi:

$ sudo yum install bash-completion vim

Per abilitare il completamento del comando, il completamento di bash richiede il passaggio a bash.

Aggiunta di ulteriori nomi DNS

Ciò sarà necessario quando è necessario connettersi al gestore utilizzando un nome alternativo (CNAME, alias o semplicemente un nome breve senza suffisso di dominio). Per motivi di sicurezza, il gestore consente le connessioni solo utilizzando l'elenco di nomi consentiti.

Crea un file di configurazione:

$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-sso-setup.conf

come segue:

SSO_ALTERNATE_ENGINE_FQDNS="ovirt.example.com some.alias.example.com ovirt"

e riavviare il gestore:

$ sudo systemctl restart ovirt-engine

Configurazione dell'autenticazione tramite AD

oVirt ha una base utenti integrata, ma sono supportati anche provider LDAP esterni, incl. ANNO DOMINI.

Il modo più semplice per una configurazione tipica è avviare 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-engine

Un esempio del lavoro di un maestro
$ sudo ovirt-engine-extension-aaa-ldap-setup
Implementazioni LDAP disponibili:
...
3 - Directory attiva
...
Seleziona: 3
Inserisci il nome della foresta di Active Directory: example.com

Seleziona il protocollo da utilizzare (startTLS, ldaps, plain) [inizioTLS]:
Seleziona il metodo per ottenere il certificato CA con codifica PEM (file, URL, in linea, sistema, non sicuro): URL
URL: wwwca.esempio.com/myRootCA.pem
Inserisci il DN dell'utente di ricerca (ad esempio uid=nome utente,dc=esempio,dc=com o lascia vuoto per anonimo): CN=oVirt-Engine,CN=Utenti,DC=esempio,DC=com
Inserisci la password utente di ricerca: *parola d'ordine*
[ INFO ] Tentativo di associazione utilizzando 'CN=oVirt-Engine,CN=Users,DC=example,DC=com'
Utilizzerai il Single Sign-On per le macchine virtuali (Sì, No) [Sì]:
Specifica il nome del profilo che sarà visibile agli utenti [esempio.com]:
Fornisci le credenziali per testare il flusso di accesso:
Inserire username: someAnyUser
Inserisci la password utente:
...
[INFO] Sequenza di accesso eseguita correttamente
...
Selezionare la sequenza di test da eseguire (Fine, Interrompi, Accedi, Cerca) [Fatto]:
[INFO] Fase: Impostazione della transazione
...
RIASSUNTO DELLA CONFIGURAZIONE
...

L'utilizzo della procedura guidata è adatto alla maggior parte dei casi. Per configurazioni complesse, le impostazioni vengono eseguite manualmente. Maggiori dettagli nella documentazione di oVirt, Utenti e ruoli. Dopo aver collegato correttamente il motore ad AD, nella finestra di connessione e nella scheda verrà visualizzato un profilo aggiuntivo Permessi Gli oggetti di sistema hanno la capacità di concedere autorizzazioni a utenti e gruppi AD. Va notato che la directory esterna di utenti e gruppi può essere non solo AD, ma anche IPA, eDirectory, ecc.

multipath

In un ambiente di produzione, il sistema di storage deve essere connesso all'host tramite più percorsi I/O multipli e indipendenti. Di norma in CentOS (e quindi oVirt) non ci sono problemi con l'assemblaggio di più percorsi su un dispositivo (find_multipaths sì). Sono scritte impostazioni aggiuntive per FCoE Parte 2. Vale la pena prestare attenzione alle raccomandazioni del produttore del sistema di archiviazione: molti consigliano di utilizzare la politica round-robin, ma per impostazione predefinita in Enterprise Linux 7 viene utilizzato il tempo di servizio.

Utilizzando 3PAR come esempio
e documento Guida all'implementazione di HPE 3PAR Red Hat Enterprise Linux, CentOS Linux, Oracle Linux e OracleVM Server EL viene creato come Host con Generic-ALUA Persona 2, per il quale vengono inseriti i seguenti valori nelle impostazioni /etc/multipath.conf:

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"
                 }
}

Dopodiché viene dato il comando di riavvio:

systemctl restart multipathd

oVirt in 2 ore. Parte 3. Impostazioni aggiuntive
Riso. 1 è la policy I/O multipla predefinita.

oVirt in 2 ore. Parte 3. Impostazioni aggiuntive
Riso. 2 - policy I/O multiple dopo aver applicato le impostazioni.

Configurazione della gestione energetica

Permette di eseguire, ad esempio, un reset hardware della macchina se l'Engine non riesce a ricevere risposta dall'Host per molto tempo. Implementato tramite Fence Agent.

Calcolo -> Host -> HOST — Modifica -> Gestione alimentazione, quindi abilita "Abilita gestione alimentazione" e aggiungi un agente — "Aggiungi agente Fence" -> +.

Indichiamo il tipo (ad esempio per iLO5 è necessario specificare ilo4), il nome/indirizzo dell'interfaccia ipmi, nonché il nome utente/password. Si consiglia di creare un utente separato (ad esempio, oVirt-PM) e, nel caso di iLO, concedergli i privilegi:

  • Accedi
  • Console remota
  • Alimentazione virtuale e ripristino
  • Media virtuali
  • Configurare le impostazioni iLO
  • Amministrare gli account utente

Non chiedetevi perché è così, è stata scelta empiricamente. L'agente di fencing della console richiede meno diritti.

Quando si impostano gli elenchi di controllo degli accessi, è necessario tenere presente che l'agente non viene eseguito sul motore, ma su un host "vicino" (il cosiddetto Power Management Proxy), ovvero se nel cluster è presente un solo nodo, la gestione dell'energia funzionerà non lo farò.

Configurazione dell'SSL

Istruzioni ufficiali complete - in documentazione, Appendice D: oVirt e SSL: sostituzione del certificato SSL/TLS di oVirt Engine.

Il certificato può provenire dalla nostra CA aziendale o da un'autorità di certificazione commerciale esterna.

Nota importante: il certificato è destinato alla connessione al gestore e non influirà sulla comunicazione tra l'Engine e i nodi: utilizzeranno certificati autofirmati emessi dall'Engine.

requisiti:

  • certificato della CA emittente in formato PEM, con tutta la catena fino alla CA root (dalla CA emittente subordinata all'inizio alla root alla fine);
  • un certificato per Apache rilasciato dalla CA emittente (integrato anche da tutta la catena dei certificati della CA);
  • chiave privata per Apache, senza password.

Supponiamo che la nostra CA emittente esegua CentOS, chiamato subca.example.com, e che le richieste, le chiavi e i certificati si trovino nella directory /etc/pki/tls/.

Eseguiamo i backup e creiamo una directory 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/certs

Scarica i certificati, eseguilo dalla tua postazione di lavoro o trasferiscilo in un altro modo conveniente:

[myuser@mydesktop] $ scp -3 [email protected]:/etc/pki/tls/cachain.pem [email protected]:/opt/certs
[myuser@mydesktop] $ scp -3 [email protected]:/etc/pki/tls/private/ovirt.key [email protected]:/opt/certs
[myuser@mydesktop] $ scp -3 [email protected]/etc/pki/tls/certs/ovirt.crt [email protected]:/opt/certs

Di conseguenza, dovresti vedere tutti e 3 i file:

$ ls /opt/certs
cachain.pem  ovirt.crt  ovirt.key

Installazione di certificati

Copia i file e aggiorna gli elenchi 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.service

Aggiungi/aggiorna file di configurazione:

$ sudo vim /etc/ovirt-engine/engine.conf.d/99-custom-truststore.conf
ENGINE_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.conf
SSL_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.cer

Successivamente, riavvia 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.service

Pronto! È ora di connettersi al gestore e verificare che la connessione sia protetta da un certificato SSL firmato.

Archiviazione

Dove saremmo senza di lei? In questa sezione parleremo dell'archiviazione dei gestori; l'archiviazione delle VM è una questione separata. Realizzeremo copie di archivio una volta al giorno e le memorizzeremo tramite NFS, ad esempio, sullo stesso sistema in cui abbiamo inserito le immagini ISO - mynfs1.example.com:/exports/ovirt-backup. Non è consigliabile archiviare gli archivi sulla stessa macchina su cui è in esecuzione l'Engine.

Installa e abilita autofs:

$ sudo yum install autofs
$ sudo systemctl enable autofs
$ sudo systemctl start autofs

Creiamo uno script:

$ sudo vim /etc/cron.daily/make.oVirt.backup.sh

come segue:

#!/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 {} ;

Rendere il file eseguibile:

$ sudo chmod a+x /etc/cron.daily/make.oVirt.backup.sh

Ora ogni notte riceveremo un archivio delle impostazioni del manager.

Interfaccia di gestione dell'host

Cabina di pilotaggio — una moderna interfaccia amministrativa per i sistemi Linux. In questo caso, svolge un ruolo simile all'interfaccia web ESXi.

oVirt in 2 ore. Parte 3. Impostazioni aggiuntive
Riso. 3 — aspetto del pannello.

L'installazione è molto semplice, sono necessari i pacchetti Cockpit e il plugin Cockpit-Ovirt-Dashboard:

$ sudo yum install cockpit cockpit-ovirt-dashboard -y

Abilitazione del Cockpit:

$ sudo systemctl enable --now cockpit.socket

Configurazione del firewall:

sudo firewall-cmd --add-service=cockpit
sudo firewall-cmd --add-service=cockpit --permanent

Ora puoi connetterti all'host: https://[Host IP o FQDN]:9090

VLAN

Dovresti leggere di più sulle reti in documentazione. Ci sono molte possibilità; qui descriveremo la connessione di reti virtuali.

Per connettere altre sottoreti è necessario prima descriverle nella configurazione: Rete -> Reti -> Nuova, qui solo il nome è un campo obbligatorio; La casella di controllo Rete VM, che consente alle macchine di utilizzare questa rete, è abilitata, ma per connettere il tag deve essere abilitato Abilita il tagging VLAN, immettere il numero VLAN e fare clic su OK.

Ora devi andare su Host di calcolo -> Host -> kvmNN -> Interfacce di rete -> Configura reti host. Trascina la rete aggiunta dal lato destro di Reti logiche non assegnate a sinistra in Reti logiche assegnate:

oVirt in 2 ore. Parte 3. Impostazioni aggiuntive
Riso. 4 - prima di aggiungere una rete.

oVirt in 2 ore. Parte 3. Impostazioni aggiuntive
Riso. 5 - dopo aver aggiunto una rete.

Per connettere più reti a un host in blocco, è conveniente assegnare loro una o più etichette durante la creazione delle reti e aggiungere reti tramite etichette.

Dopo la creazione della rete, gli host entreranno nello stato non operativo finché la rete non verrà aggiunta a tutti i nodi del cluster. Questo comportamento è causato dal flag Richiedi tutto 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, questo flag può essere disabilitato, poi quando la rete verrà aggiunta ad un host, sarà a destra nella sezione Non Richiesto e potrai scegliere se connetterti ad un host specifico.

oVirt in 2 ore. Parte 3. Impostazioni aggiuntive
Riso. 6: seleziona un attributo di requisito di rete.

Specifico per HPE

Quasi tutti i produttori dispongono di strumenti che migliorano l'usabilità dei loro prodotti. Utilizzando HPE come esempio, sono utili AMS (Agentless Management Service, amsd per iLO5, hp-ams per iLO4) e SSA (Smart Storage Administrator, che lavora con un controller del disco), ecc.

Connessione al 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.repo

come segue:

[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-mcp

Visualizza il contenuto del repository e le informazioni sul pacchetto (per riferimento):

$ sudo yum --disablerepo="*" --enablerepo="mcp" list available
$ yum info amsd

Installazione e avvio:

$ sudo yum install amsd ssacli
$ sudo systemctl start amsd

Un esempio di utilità per lavorare con un controller del disco
oVirt in 2 ore. Parte 3. Impostazioni aggiuntive

È tutto per ora. Nei seguenti articoli ho intenzione di parlare di alcune operazioni e applicazioni di base. Ad esempio, come creare VDI in oVirt.

Fonte: habr.com