Questo articolo è il successivo nel ciclo su oVirt, inizio .
Articoli
- Installazione del gestore (ovirt-engine) e degli hypervisor (hosts) — Siamo qui
Quindi, esaminiamo le questioni relative all'installazione iniziale dei componenti ovirt-engine e ovirt-host.
I processi di installazione possono sempre essere esaminati in maggiore dettaglio in .
Contenuto
Installazione di ovirt-engine
Per Engine, i requisiti minimi sono 2 core / 4 GiB di RAM / 25 GiB di spazio di archiviazione. Raccomandati: da 4 core / 16 GiB di RAM / 50 GiB di spazio di archiviazione. Utilizziamo l'opzione Standalone Manager, quando l'engine funziona su una macchina fisica o virtuale dedicata al di fuori del cluster gestito. Per la nostra installazione, useremo ad esempio una macchina virtuale su un ESXi* dedicato. È conveniente utilizzare strumenti di automazione del deployment o clonare da un modello precedentemente preparato o un'installazione kickstart.
*Nota: per un sistema di produzione è una cattiva idea, poiché il gestore funziona senza riserva e diventa un collo di bottiglia. In questo caso, è meglio considerare l'opzione Self-hosted Engine.
Se necessario, la procedura di conversione da Standalone a Self Hosted è descritta in dettaglio in . In particolare, all'host deve essere dato il comando reinstall con supporto per Hosted Engine.
Sulla VM installiamo CentOS 7 in configurazione minima, quindi aggiorniamo e riavviamo il sistema:
$ sudo yum update -y && sudo rebootPer la macchina virtuale, è utile installare l'agente guest:
$ sudo yum install open-vm-toolsper gli host VMware ESXi, o per oVirt:
$ sudo yum install ovirt-guest-agentColleghiamo il repository e installiamo il gestore:
$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum install ovirt-engine
Impostazione di base:
$ sudo engine-setupNella maggior parte dei casi, le impostazioni predefinite sono sufficienti, per utilizzarle automaticamente è possibile avviare la configurazione con l'opzione:
$ sudo engine-setup --accept-defaults Ora possiamo collegarci al nostro nuovo engine all'indirizzo . Qui è ancora vuoto, quindi procediamo all'installazione degli hypervisor.
Installazione di ovirt-host
Sull'host fisico installiamo CentOS 7 in configurazione minima, quindi colleghiamo il repository, aggiorniamo e riavviamo il sistema:
$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum update -y && sudo reboot
Nota: per l'installazione è comodo utilizzare strumenti di automazione del deployment o un'installazione kickstart.
Esempio di file kickstart
Attenzione! Le partizioni esistenti vengono eliminate automaticamente! Fai attenzione!
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us','ru' --switch='grp:alt_shift_toggle'
# System language
lang ru_RU.UTF-8
# Network information
network --bootproto=dhcp --device=ens192 --ipv6=auto --activate
network --hostname=kvm01.lab.example.com
# Root password 'monteV1DE0'
rootpw --iscrypted $6$6oPcf0GW9VdmJe5w$6WBucrUPRdCAP.aBVnUfvaEu9ozkXq9M1TXiwOm41Y58DEerG8b3Ulme2YtxAgNHr6DGIJ02eFgVuEmYsOo7./
# User password 'metroP0!is'
user --name=mgmt --groups=wheel --iscrypted --password=$6$883g2lyXdkDLbKYR$B3yWx1aQZmYYi.aO10W2Bvw0Jpkl1upzgjhZr6lmITTrGaPupa5iC3kZAOvwDonZ/6ogNJe/59GN5U8Okp.qx.
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Moscow --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype xfs --size=1024 --ondisk=sda --label=boot
part pv.01 --size=45056 --grow
volgroup HostVG pv.01 --reserved-percent=20
logvol swap --vgname=HostVG --name=lv_swap --fstype=swap --recommended
logvol none --vgname=HostVG --name=HostPool --thinpool --size=40960 --grow
logvol / --vgname=HostVG --name=lv_root --thin --fstype=ext4 --label="root" --poolname=HostPool --fsoptions="defaults,discard" --size=6144 --grow
logvol /var --vgname=HostVG --name=lv_var --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=16536
logvol /var/crash --vgname=HostVG --name=lv_var_crash --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=10240
logvol /var/log --vgname=HostVG --name=lv_var_log --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=8192
logvol /var/log/audit --vgname=HostVG --name=lv_var_audit --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=2048
logvol /home --vgname=HostVG --name=lv_home --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024
logvol /tmp --vgname=HostVG --name=lv_tmp --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024
%packages
@^minimal
@core
chrony
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
# Reboot when the install is finished.
reboot --eject
Salva questo file, per esempio, su . Per utilizzare lo script all'avvio dell'installazione del sistema operativo, è necessario selezionare l'opzione ‘Install CentOS 7’, attivare la modalità di modifica dei parametri (tasto Tab) e alla fine (con uno spazio, senza virgolette) aggiungere
' inst.ks=ftp://ftp.example.com/pub/labkvm.cfg'.
Lo script di installazione elimina le partizioni esistenti su /dev/sda, ne crea di nuove secondo (puoi visualizzarle dopo l'installazione con il comando lsblk). Il nome host è impostato come kvm01.lab.example.com (dopo l'installazione può essere modificato con il comando hostnamectl set-hostname kvm03.lab.example.com), l'ottenimento dell'indirizzo IP è automatico, il fuso orario è di Mosca, e è stata aggiunta la supporto per la lingua russa.
Password per l'utente root: monteV1DE0, password per l'utente mgmt: metroP0!is.
Attenzione! Le partizioni esistenti vengono eliminate automaticamente! Fai attenzione!
Ripetiamo (o eseguiamo in parallelo) su tutti gli host. Dal momento in cui si accende un server 'vuoto' fino a quando è pronto, considerando due lunghe avvii, ci vogliono circa 20 minuti.
Aggiunta di un nodo in oVirt
Si esegue molto semplicemente:
Compute → Hosts → New →…
Nel wizard sono obbligatori i campi Name (nome visualizzato, per esempio, kvm03), Hostname (FQDN, per esempio, kvm03.lab.example.com) e la sezione Authentication — utente root (non modificabile) — password o chiave SSH pubblica.
Dopo aver premuto il pulsante Ok Riceverai un messaggio «Non hai configurato la gestione dell'alimentazione per questo host. Sei sicuro di voler continuare?». È normale: parleremo della gestione dell'alimentazione più avanti, dopo il collegamento riuscito dell'host. Tuttavia, se le macchine su cui sono installati gli host non supportano la gestione (IPMI, iLO, DRAC, ecc.), ti consiglio di disabilitarla: Compute → Clusters → Default → Edit → Fencing Policy → Abilita fencing, deseleziona la casella.
Se sul host non è stato collegato il repository oVirt, l'installazione fallirà, ma non è un problema: è necessario aggiungerlo, quindi premere Install → Reinstall.
Collegare l'host richiede non più di 5-10 minuti.
Configurazione dell'interfaccia di rete
Poiché stiamo costruendo un sistema ad alta disponibilità, la connessione di rete deve garantire anche una connessione di riserva, il che viene fatto nella scheda Compute → Hosts → HOST → Network Interfaces — Configura le reti dell'host.
A seconda delle capacità della vostra attrezzatura di rete e degli approcci architettonici, ci sono varie opzioni. È ottimale collegarsi allo stack di switch top-of-rack, in modo che in caso di guasto uno la disponibilità di rete non venga interrotta. Prendiamo come esempio un canale aggregato LACP. Per configurare il canale aggregato, "prendete" con il mouse il secondo adattatore non utilizzato e "trasportatelo" al primo. Si aprirà una finestra Crea nuova aggregazione, dove LACP (Modalità 4, aggregazione dinamica dei link, 802.3ad) è selezionato per impostazione predefinita. Sul lato degli switch viene eseguita la configurazione normale del gruppo LACP. Se non è possibile costruire uno stack di switch, si può utilizzare la modalità Active-Backup (Modalità 1). Le impostazioni VLAN verranno trattate nel prossimo articolo, mentre le raccomandazioni per la configurazione della rete saranno disponibili nel documento .
Configurazione FC
Fibre Channel (FC) è supportato "out of the box", il suo utilizzo non presenta difficoltà. La configurazione della rete di archiviazione, compresa la configurazione dei sistemi di archiviazione e il zoning degli switch fabric nell'ambito della configurazione di oVirt, non verrà approfondita.
Configurazione FCoE
A mio parere, FCoE non ha ancora avuto una diffusione ampia nelle reti di archiviazione, ma viene spesso utilizzato sui server come "ultimo miglio", ad esempio in HPE Virtual Connect.
La configurazione di FCoE richiede ulteriori passaggi semplici.
Configura il motore FCoE
Articolo sul sito di Red Hat , con il comando successivo aggiungiamo la chiave al manager e lo riavviamo:
$ sudo engine-config -s UserDefinedNetworkCustomProperties='fcoe=^((enable|dcb|auto_vlan)=(yes|no),?)*$'
$ sudo systemctl restart ovirt-engine.service
Configura il nodo FCoE
Sugli oVirt-Host è necessario installare
$ sudo yum install vdsm-hook-fcoeSuccessivamente, configurazione normale di FCoE, articolo su Red Hat: .
Per Broadcom CNA vediamo anche .
Accertarsi che siano installati i pacchetti (già presenti nel minimal):
$ sudo yum install fcoe-utils lldpadSuccessivamente, la configurazione vera e propria (al posto di ens3f2 e ens3f3 inseriamo i nomi CNA collegati alla rete di archiviazione):
$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f2
$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f3
$ sudo vim /etc/fcoe/cfg-ens3f2
$ sudo vim /etc/fcoe/cfg-ens3f3
Importante: se l'interfaccia di rete supporta hardware DCB/DCBX, il parametro DCB_REQUIRED deve essere impostato su no.
DCB_REQUIRED="yes" → #DCB_REQUIRED="yes"
Successivamente, assicurarsi che l'adminStatus sia disattivato su tutte le interfacce, comprese quelle senza FCoE attivato:
$ sudo lldptool set-lldp -i ens3f0 adminStatus=disabled
...
$ sudo lldptool set-lldp -i ens3f3 adminStatus=disabled
Se ci sono altre interfacce di rete, è possibile attivare LLDP:
$ sudo systemctl start lldpad
$ sudo systemctl enable lldpad
Come già detto, se si utilizza DCB/DCBX hardware, la configurazione DCB_REQUIRED deve essere attivata in no e questo passaggio può essere saltato.
$ sudo dcbtool sc ens3f2 dcb on
$ sudo dcbtool sc ens3f3 dcb on
$ sudo dcbtool sc ens3f2 app:fcoe e:1
$ sudo dcbtool sc ens3f3 app:fcoe e:1
$ sudo ip link set dev ens3f2 up
$ sudo ip link set dev ens3f3 up
$ sudo systemctl start fcoe
$ sudo systemctl enable fcoe
Per le interfacce di rete controllare se l'avvio automatico è abilitato:
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f2
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f3
ONBOOT=yesControllare le interfacce FCoE configurate, l'output del comando non dovrebbe essere vuoto.
$ sudo fcoeadm -iLa configurazione successiva di FCoE viene eseguita come per il normale FC.
In seguito, deve essere configurato il sistema e la rete di archiviazione: zoning, host SAN, creazione e presentazione di volumi/LUN, dopodiché l'archiviazione può essere collegata agli ovirt-host: Storage → Domains → New Domain.
Domain Function lasciamo Data, Storage Type — Fibre Channel, Host — qualsiasi, nome — ad esempio, storNN-volMM.
Sicuramente il tuo sistema di archiviazione consente non solo il collegamento della riserva dei percorsi, ma anche il bilanciamento. Molti sistemi moderni sono in grado di trasmettere dati su tutti i percorsi in modo ottimale (ALUA active/active).
Per attivare tutti i percorsi in stato attivo, è necessario configurare il multipathing, di questo si parlerà nei prossimi articoli.
La configurazione NFS e iSCSI avviene in modo simile.
Archivio delle immagini ISO
Per installare il sistema operativo sono necessari i file di installazione, spesso disponibili come immagini ISO. Puoi utilizzare il percorso incorporato, ma per lavorare con le immagini in oVirt è stato sviluppato un tipo speciale di storage — ISO, che può essere puntato a un server NFS. Aggiungiamolo:
Storage → Domains → New Domain,
Domain Function → ISO,
Export Path — ad esempio, mynfs01.example.com:/exports/ovirt-iso (al momento della connessione la cartella deve essere vuota, il gestore deve avere la possibilità di scriverci),
Name — ad esempio, mynfs01-iso.
Per l'archiviazione delle immagini il gestore creerà una struttura
/exports/ovirt-iso/<some UUID>/images/11111111-1111-1111-1111-111111111111/
Se sul nostro server NFS ci sono già immagini ISO, per risparmiare spazio è utile invece di copiare i file collegarli a questa cartella.
Prima VM
A questo punto è già possibile creare la prima macchina virtuale, installarci un sistema operativo e software applicativo.
Compute → Virtual Machines → New
Per la nuova macchina specificare il nome (Name), creare un disco (Instance Images → Create) e collegare l'interfaccia di rete (Instantiate VM network interfaces by picking a vNIC profile → selezionare dall'elenco l'unico ovirtmgmt).
Dal lato client è necessario un browser moderno e per interagire con la console.
La prima macchina è stata avviata con successo. Tuttavia, per un funzionamento completo del sistema è necessario eseguire una serie di impostazioni aggiuntive, di cui parleremo nei prossimi articoli.
Fonte: habr.com
