Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Acest articol este o continuare a celui precedent - „Crearea unei infrastructuri IT tolerante la erori. Partea 1 - pregătirea pentru implementarea unui cluster oVirt 4.3".

Acesta va acoperi procesul de instalare și configurare de bază a unui cluster oVirt 4.3 pentru găzduirea mașinilor virtuale de mare disponibilitate, ținând cont de faptul că toți pașii preliminari pentru pregătirea infrastructurii au fost deja finalizați anterior.

prodrom

Scopul principal al articolului este de a oferi instrucțiuni pas cu pas precum „Pagina Următoare → -> Da -> finalizarea„cum să arătați unele caracteristici la instalarea și configurarea acestuia. Este posibil ca procesul de implementare a clusterului dumneavoastră să nu coincidă întotdeauna cu cel descris în acesta, din cauza caracteristicilor infrastructurii și mediului, dar principiile generale vor fi aceleași.

Din punct de vedere subiectiv, oVirt 4.3 funcționalitatea sa este similară cu VMware vSphere versiunea 5.x, dar desigur cu propriile caracteristici de configurare și operare.

Pentru cei interesați, toate diferențele dintre RHEV (aka oVirt) și VMware vSphere pot fi găsite pe Internet, de exemplu aici, dar voi observa ocazional unele dintre diferențele sau asemănările lor între ele, pe măsură ce articolul progresează.

Separat, aș dori să compar puțin munca cu rețelele pentru mașini virtuale. oVirt implementează un principiu similar de gestionare a rețelei pentru mașinile virtuale (denumite în continuare VM), ca în VMware vSphere:

  • folosind un bridge standard Linux (în VMware - vSwitch standard), rulând pe gazde de virtualizare;
  • folosind Open vSwitch (OVS) (în VMware - vSwitch distribuit) este un comutator virtual distribuit format din două componente principale: un server OVN central și controlere OVN pe gazde gestionate.

Trebuie remarcat faptul că, datorită ușurinței de implementare, articolul va descrie configurarea rețelelor în oVirt pentru un VM folosind o punte Linux standard, care este alegerea standard atunci când se utilizează hypervisorul KVM.

În acest sens, există câteva reguli de bază pentru lucrul cu rețeaua într-un cluster, care este cel mai bine să nu fie încălcate:

  • Toate setările de rețea de pe gazde înainte de a le adăuga la oVirt trebuie să fie identice, cu excepția adreselor IP.
  • Odată ce o gazdă a fost luată sub controlul oVirt, nu este recomandat să modificați nimic manual în setările rețelei fără a avea încredere totală în acțiunile dvs., deoarece agentul oVirt le va deplasa pur și simplu înapoi la cele anterioare după repornirea gazdei sau agent.
  • Adăugarea unei noi rețele pentru un VM, precum și lucrul cu aceasta, ar trebui să se facă numai din consola de management oVirt.

O alta notă importantă — pentru un mediu foarte critic (foarte sensibil la pierderile monetare), ar fi totuși recomandat să se folosească suport plătit și să se utilizeze Red Hat Virtualization 4.3. În timpul funcționării clusterului oVirt, pot apărea unele probleme pentru care este recomandabil să primiți ajutor calificat cât mai curând posibil, mai degrabă decât să le rezolvați singur.

Și în sfârșit recomandat Înainte de a implementa un cluster oVirt, familiarizați-vă cu documentație oficială, pentru a cunoaște măcar conceptele și definițiile de bază, altfel va fi puțin greu de citit restul articolului.

De bază pentru înțelegerea articolului și a principiilor de funcționare a clusterului oVirt sunt aceste documente de orientare:

Volumul de acolo nu este foarte mare, într-o oră sau două poți stăpâni destul de bine principiile de bază, dar pentru cei cărora le plac detaliile este recomandat să citești Documentația produsului pentru Red Hat Virtualization 4.3 — RHEV și oVirt sunt în esență același lucru.

Deci, dacă toate setările de bază ale gazdelor, comutatoarelor și sistemelor de stocare au fost finalizate, trecem direct la implementarea oVirt.

Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Pentru ușurința orientării, voi enumera principalele secțiuni din acest articol, care trebuie completate una câte una:

  1. Instalarea serverului de management oVirt
  2. Crearea unui nou centru de date
  3. Crearea unui cluster nou
  4. Instalarea gazdelor suplimentare într-un mediu auto-găzduit
  5. Crearea unei zone de stocare sau a unor domenii de stocare
  6. Crearea și configurarea rețelelor pentru mașini virtuale
  7. Crearea unei imagini de instalare pentru implementarea unei mașini virtuale
  8. Creați o mașină virtuală

Instalarea serverului de management oVirt

Server de management oVirt este cel mai important element din infrastructura oVirt, sub forma unei mașini virtuale, gazdă sau dispozitiv virtual care gestionează întreaga infrastructură oVirt.

Analogii săi apropiați din lumea virtualizării sunt:

  • VMware vSphere - vCenter Server
  • Microsoft Hyper-V - System Center Virtual Machine Manager (VMM).

Pentru a instala serverul de management oVirt, avem două opțiuni:

Opțiunea 1
Implementarea unui server sub forma unui VM sau gazdă specializat.

Această opțiune funcționează destul de bine, dar cu condiția ca o astfel de VM să funcționeze independent de cluster, de exemplu. nu rulează pe nicio gazdă de cluster ca o mașină virtuală obișnuită care rulează KVM.

De ce nu poate fi implementat un astfel de VM pe gazdele cluster?

La începutul procesului de implementare a serverului de management oVirt, avem o dilemă - trebuie să instalăm un VM de management, dar de fapt nu există încă un cluster în sine și, prin urmare, ce putem găsi din mers? Așa este - instalați KVM pe un viitor nod de cluster, apoi creați o mașină virtuală pe acesta, de exemplu, cu CentOS OS și implementați motorul oVirt în el. Acest lucru se poate face de obicei din motive de control complet asupra unui astfel de VM, dar aceasta este o intenție greșită, deoarece în acest caz, în viitor vor exista probleme 100% cu o astfel de VM de control:

  • nu poate fi migrat în consola oVirt între gazde (noduri) ale clusterului;
  • la migrarea utilizând KVM prin virsh migra, acest VM nu va fi disponibil pentru administrare din consola oVirt.
  • gazdele cluster nu pot fi afișate în Modul de întreținere (mod de întreținere), dacă migrați această VM de la gazdă la gazdă folosind virsh migra.

Deci, faceți totul conform regulilor - utilizați fie o gazdă separată pentru serverul de management oVirt, fie o VM independentă care rulează pe acesta, sau mai bine, procedați așa cum este scris în a doua opțiune.

Opțiunea 2
Instalarea aplicației oVirt Engine pe o gazdă de cluster gestionată de acesta.

Această opțiune va fi considerată în continuare ca mai corectă și mai potrivită în cazul nostru.
Cerințele pentru o astfel de VM sunt descrise mai jos. Voi adăuga doar că este recomandat să aveți cel puțin două gazde în infrastructura pe care poate fi rulată VM-ul de control pentru a o face tolerantă la erori. Aici aș dori să adaug că, așa cum am scris deja în comentariile din articolul precedent, nu am reușit niciodată să obțin creier impartit pe un cluster oVirt de două gazde, cu capacitatea de a rula VM-uri cu motor găzduit pe acestea.

Instalarea aplicației oVirt Engine pe prima gazdă a clusterului

Link către documentația oficială - Ghidul motorului auto-găzduit oVirt, capitolul "Implementarea motorului auto-găzduit folosind linia de comandă»

Documentul specifică cerințele preliminare care trebuie îndeplinite înainte de implementarea unui VM cu motor găzduit și, de asemenea, descrie în detaliu procesul de instalare în sine, așa că nu are rost să-l repeți literal, așa că ne vom concentra pe câteva detalii importante.

  • Înainte de a începe toate acțiunile, asigurați-vă că activați suportul de virtualizare în setările BIOS de pe gazdă.
  • Instalați pachetul pentru programul de instalare al motorului găzduit pe gazdă:

yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm 
yum -y install epel-release
yum install screen ovirt-hosted-engine-setup

  • Începem procedura de implementare a motorului oVirt Hosted pe gazdă din ecran (puteți ieși din el prin Ctrl-A + D, închideți prin Ctrl-D):

screen
hosted-engine --deploy

Dacă doriți, puteți rula instalarea cu un fișier de răspuns pregătit în prealabil:

hosted-engine --deploy --config-append=/var/lib/ovirt-hosted-engine-setup/answers/answers-ohe.conf

  • Când implementăm motorul găzduit, specificăm toți parametrii necesari:

- имя кластера
- количество vCPU и vRAM (рекомендуется 4 vCPU и 16 Гб)
- пароли
- тип хранилища для hosted engine ВМ – в нашем случае FC
- номер LUN для установки hosted engine
- где будет находиться база данных для hosted engine – рекомендую для простоты выбрать Local (это БД PostgreSQL работающая внутри этой ВМ)
и др. параметры. 

  • Pentru a instala o VM foarte disponibilă cu un motor găzduit, am creat anterior un LUN special pe sistemul de stocare, numărul 4 și dimensiunea de 150 GB, care a fost apoi prezentat gazdelor clusterului - vezi anterioară articol.

Anterior, am verificat și vizibilitatea acestuia pe gazde:

multipath -ll
…
3600a098000e4b4b3000003c95d171065 dm-3 DELL    , MD38xxf
size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:4  sdc 8:32  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:4  sdj 8:144 active ready running

  • Procesul de implementare a motorului găzduit în sine nu este complicat, la sfârșit, ar trebui să primim ceva de genul acesta:

[ INFO  ] Generating answer file '/var/lib/ovirt-hosted-engine-setup/answers/answers-20191129131846.conf'
[ INFO  ] Generating answer file '/etc/ovirt-hosted-engine/answers.conf'
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ INFO  ] Hosted Engine successfully deployed

Verificăm prezența serviciilor oVirt pe gazdă:

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Dacă totul a fost făcut corect, atunci după finalizarea instalării, utilizați un browser web pentru a accesa https://ovirt_hostname/ovirt-engine de pe computerul administratorului și faceți clic pe [Portal de administrare].

Captură de ecran a „Portalului de administrare”

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Introducând datele de conectare și parola (setate în timpul procesului de instalare) în fereastra ca în captură de ecran, ajungem la panoul de control Open Virtualization Manager, în care puteți efectua toate acțiunile cu infrastructura virtuală:

  1. adăugați un centru de date
  2. adăugați și configurați un cluster
  3. adăugați și gestionați gazde
  4. adăugați zone de stocare sau domenii de stocare pentru discurile mașinilor virtuale
  5. adăugați și configurați rețele pentru mașini virtuale
  6. adăugați și gestionați mașini virtuale, imagini de instalare, șabloane VM

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Toate aceste acțiuni vor fi discutate în continuare, unele în celule mari, altele mai detaliat și cu nuanțe.
Dar mai întâi aș recomanda citirea acestui add-on, care probabil va fi util multora.

Plus

1) În principiu, dacă există o astfel de nevoie, atunci nimic nu vă împiedică să instalați în avans hypervisorul KVM pe nodurile clusterului folosind pachete libvirt и qemu-kvm (Sau, qemu-kvm-ev) a versiunii dorite, deși atunci când implementează un nod de cluster oVirt, poate face acest lucru singur.

Dar dacă libvirt и qemu-kvm Dacă nu ați instalat cea mai recentă versiune, este posibil să primiți următoarea eroare la implementarea unui motor găzduit:

error: unsupported configuration: unknown CPU feature: md-clear

Acestea. trebuie avut versiune actualizata libvirt cu protectie de MDS, care susține această politică:

<feature policy='require' name='md-clear'/>

Instalați libvirt v.4.5.0-10.el7_6.12, cu suport md-clear:

yum-config-manager --disable mirror.centos.org_centos-7_7_virt_x86_64_libvirt-latest_

yum install centos-release-qemu-ev
yum update
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer libguestfs libguestfs-tools dejavu-lgc-sans-fonts virt-top libvirt libvirt-python libvirt-client

systemctl enable libvirtd
systemctl restart libvirtd && systemctl status libvirtd

Verificați suportul „md-clear”:

virsh domcapabilities kvm | grep require
      <feature policy='require' name='ss'/>
      <feature policy='require' name='hypervisor'/>
      <feature policy='require' name='tsc_adjust'/>
      <feature policy='require' name='clflushopt'/>
      <feature policy='require' name='pku'/>
      <feature policy='require' name='md-clear'/>
      <feature policy='require' name='stibp'/>
      <feature policy='require' name='ssbd'/>
      <feature policy='require' name='invtsc'/>

După aceasta, puteți continua instalarea motorului găzduit.

2) În oVirt 4.3, prezența și utilizarea unui firewall firewalld este o cerință obligatorie.

Dacă în timpul implementării unui VM pentru motor găzduit, primim următoarea eroare:

[ ERROR ] fatal: [localhost]: FAILED! => {"changed": false, "msg": "firewalld is required to be enabled and active in order to correctly deploy hosted-engine. Please check, fix accordingly and re-deploy.n"}
[ ERROR ] Failed to execute stage 'Closing up': Failed executing ansible-playbook
[https://bugzilla.redhat.com/show_bug.cgi?id=1608467

Apoi trebuie să dezactivați un alt firewall (dacă este utilizat) și să instalați și să rulați firewalld:

yum install firewalld
systemctl enable firewalld
systemctl start firewalld

firewall-cmd --state
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --get-zones

Mai târziu, când instalați agentul ovirt pe o nouă gazdă pentru cluster, acesta va configura porturile necesare în firewalld în mod automat.

3) Repornirea unei gazde cu un VM care rulează pe ea cu un motor găzduit.

Ca de obicei, link 1 и link 2 la documentele de guvernare.

Toată gestionarea VM a motorului găzduit se face NUMAI folosind comanda motor găzduit pe gazda unde ruleaza, aproximativ Virsh trebuie să uităm, precum și faptul că vă puteți conecta la această VM prin SSH și rulați comanda „închidere".

Procedura pentru punerea unui VM în modul de întreținere:

hosted-engine --set-maintenance --mode=global

hosted-engine --vm-status
!! Cluster is in GLOBAL MAINTENANCE mode !!
--== Host host1.test.local (id: 1) status ==--
conf_on_shared_storage             : True
Status up-to-date                  : True
Hostname                           : host1.test.local
Host ID                            : 1
Engine status                      : {"health": "good", "vm": "up", "detail": "Up"}
Score                              : 3400
stopped                            : False
Local maintenance                  : False
crc32                              : dee1a774
local_conf_timestamp               : 1821
Host timestamp                     : 1821
Extra metadata (valid at timestamp):
        metadata_parse_version=1
        metadata_feature_version=1
        timestamp=1821 (Sat Nov 29 14:25:19 2019)
        host-id=1
        score=3400
        vm_conf_refresh_time=1821 (Sat Nov 29 14:25:19 2019)
        conf_on_shared_storage=True
        maintenance=False
        state=GlobalMaintenance
        stopped=False

hosted-engine --vm-shutdown

Repornim gazda cu agentul motor găzduit și facem ce ne trebuie cu el.

După repornire, verificați starea mașinii virtuale cu motorul găzduit:

hosted-engine --vm-status

Dacă VM-ul nostru cu motor găzduit nu pornește și dacă vedem erori similare în jurnalul de service:

Eroare în jurnalul de service:

journalctl -u ovirt-ha-agent
...
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.hosted_engine.HostedEngine ERROR Failed to start necessary monitors
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.agent.Agent ERROR Traceback (most recent call last):#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 131, in _run_agent#012    return action(he)#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 55, in action_proper#012    return he.start_monitoring()#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 413, in start_monitoring#012    self._initialize_broker()#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 537, in _initialize_broker#012    m.get('options', {}))#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/lib/brokerlink.py", line 86, in start_monitor#012    ).format(t=type, o=options, e=e)#012RequestError: brokerlink - failed to start monitor via ovirt-ha-broker: [Errno 2] No such file or directory, [monitor: 'ping', options: {'addr': '172.20.32.32'}]
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.agent.Agent ERROR Trying to restart agent

Apoi conectăm stocarea și repornim agentul:

hosted-engine --connect-storage
systemctl restart ovirt-ha-agent
systemctl status ovirt-ha-agent

hosted-engine --vm-start
hosted-engine --vm-status

După pornirea VM-ului cu motorul găzduit, îl scoatem din modul de întreținere:

Procedura pentru eliminarea unui VM din modul de întreținere:

hosted-engine --check-liveliness
hosted-engine --set-maintenance --mode=none
hosted-engine --vm-status

--== Host host1.test.local (id: 1) status ==--

conf_on_shared_storage             : True
Status up-to-date                  : True
Hostname                           : host1.test.local
Host ID                            : 1
Engine status                      : {"health": "good", "vm": "up", "detail": "Up"}
Score                              : 3400
stopped                            : False
Local maintenance                  : False
crc32                              : 6d1eb25f
local_conf_timestamp               : 6222296
Host timestamp                     : 6222296
Extra metadata (valid at timestamp):
        metadata_parse_version=1
        metadata_feature_version=1
        timestamp=6222296 (Fri Jan 17 11:40:43 2020)
        host-id=1
        score=3400
        vm_conf_refresh_time=6222296 (Fri Jan 17 11:40:43 2020)
        conf_on_shared_storage=True
        maintenance=False
        state=EngineUp
        stopped=False

4) Eliminarea motorului găzduit și a tot ceea ce este asociat cu acesta.

Uneori este necesar să eliminați corect un motor găzduit instalat anterior - legătură la documentul de orientare.

Doar rulați comanda pe gazdă:

/usr/sbin/ovirt-hosted-engine-cleanup

În continuare, eliminăm pachetele inutile, făcând copii de rezervă ale unor configurații înainte de aceasta, dacă este necesar:

yum autoremove ovirt* qemu* virt* libvirt* libguestfs 

Crearea unui nou centru de date

Documentație de referință - Ghid de administrare oVirt. Capitolul 4: Centre de date

Mai întâi să definim ce este centru de date (Citez din ajutor) este o entitate logică care definește un set de resurse utilizate într-un mediu specific.

Un centru de date este un fel de container format din:

  • resurse logice sub formă de clustere și gazde
  • resurse de rețea de cluster sub formă de rețele logice și adaptoare fizice pe gazde,
  • resurse de stocare (pentru discuri VM, șabloane, imagini) sub formă de zone de stocare (Domenii de stocare).

Un centru de date poate include mai multe clustere constând din mai multe gazde cu mașini virtuale care rulează pe acestea și poate avea, de asemenea, mai multe zone de stocare asociate.
Pot exista mai multe centre de date care funcționează independent unul de celălalt. Ovirt are o separare a puterilor în funcție de rol și puteți configura permisiunile individual, atât la nivel de centru de date, cât și pe elementele sale logice individuale.

Centrul de date sau centrele de date, dacă există mai multe dintre ele, sunt gestionate dintr-o singură consolă administrativă sau portal.

Pentru a crea un centru de date, accesați portalul administrativ și creați un nou centru de date:
Calcula >> Centre de date >> Nou

Deoarece folosim stocarea partajată pe sistemul de stocare, tipul de stocare ar trebui să fie Partajat:

Captură de ecran a expertului de creare a centrului de date

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Când instalați o mașină virtuală cu motor găzduit, un centru de date este creat implicit - Centrul de date 1, iar apoi, dacă este necesar, îi puteți schimba tipul de stocare cu altul.

Crearea unui centru de date este o sarcină simplă, fără nuanțe complicate, iar toate acțiunile suplimentare cu acesta sunt descrise în documentație. Singurul lucru pe care îl voi remarca este că gazdele unice care au doar stocare locală (disc) pentru VM nu vor putea intra într-un centru de date cu Storage Type - Shared (nu pot fi adăugate acolo), iar pentru ele trebuie să creați un centru de date separat - de ex. Fiecare gazdă individuală cu stocare locală are nevoie de propriul centru de date separat.

Crearea unui cluster nou

Link către documentație - Ghid de administrare oVirt. Capitolul 5: Clustere

Fără detalii inutile, grup – aceasta este o grupare logică de gazde care au o zonă de stocare comună (sub formă de discuri partajate pe un sistem de stocare, ca în cazul nostru). De asemenea, este de dorit ca gazdele din cluster să fie identice ca hardware și să aibă același tip de procesor (Intel sau AMD). Cel mai bine este, desigur, ca serverele din cluster să fie complet identice.

Clusterul face parte dintr-un centru de date (cu un anumit tip de stocare - Local sau Shared), iar toate gazdele trebuie să aparțină unui fel de cluster, în funcție de faptul dacă au stocare partajată sau nu.

Când instalați o mașină virtuală cu un motor găzduit pe o gazdă, un centru de date este creat implicit - Centrul de date 1, împreună cu clusterul – cluster1, iar în viitor îi puteți configura parametrii, activa opțiuni suplimentare, îi puteți adăuga gazde etc.

Ca de obicei, pentru detalii despre toate setările clusterului, este recomandabil să consultați documentația oficială. Dintre unele dintre funcțiile de configurare a unui cluster, voi adăuga doar că atunci când îl creez, este suficient să configurați numai parametrii de bază din filă General.

Voi nota cei mai importanți parametri:

  • Tipul procesorului — este selectat în funcție de procesoarele instalate pe gazdele cluster, de la ce producător sunt și care procesor de pe gazde este cel mai vechi, astfel încât, în funcție de aceasta, să fie utilizate toate instrucțiunile de procesor disponibile în cluster.
  • Tipul comutatorului – în clusterul nostru folosim doar bridge Linux, de aceea îl alegem.
  • Tip firewall – totul este clar aici, acesta este firewalld, care trebuie activat și configurat pe gazde.

Captură de ecran cu parametrii clusterului

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Instalarea gazdelor suplimentare într-un mediu auto-găzduit

Legătură pentru documentare.

Gazde suplimentare pentru un mediu auto-găzduit sunt adăugate în același mod ca o gazdă obișnuită, cu pasul suplimentar de implementare a unei VM cu un motor găzduit - Alegeți acțiunea de implementare a motorului găzduit >> Lansa. Deoarece gazda suplimentară trebuie să fie prezentată și cu un LUN pentru o VM cu un motor găzduit, aceasta înseamnă că această gazdă poate fi utilizată, dacă este necesar, pentru a găzdui o VM cu un motor găzduit pe ea.
În scopuri de toleranță la erori, este foarte recomandat să existe cel puțin două gazde pe care să poată fi plasat un VM cu motor găzduit.

Pe gazda suplimentară, dezactivați iptables (dacă este activat), activați firewalld

systemctl stop iptables
systemctl disable iptables

systemctl enable firewalld
systemctl start firewalld

Instalați versiunea KVM necesară (dacă este necesar):

yum-config-manager --disable mirror.centos.org_centos-7_7_virt_x86_64_libvirt-latest_

yum install centos-release-qemu-ev
yum update
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer libguestfs libguestfs-tools dejavu-lgc-sans-fonts virt-top libvirt libvirt-python libvirt-client

systemctl enable libvirtd
systemctl restart libvirtd && systemctl status libvirtd

virsh domcapabilities kvm | grep md-clear

Instalați depozitele necesare și programul de instalare a motorului găzduit:

yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
yum -y install epel-release
yum update
yum install screen ovirt-hosted-engine-setup

Apoi, mergeți la consolă Deschideți Virtualization Manager, adăugați o nouă gazdă și faceți totul pas cu pas, așa cum este scris în documentație.

Drept urmare, după adăugarea unei gazde suplimentare, ar trebui să obținem ceva ca imaginea din consola administrativă, ca în captura de ecran.

Captură de ecran a portalului administrativ - gazde

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Gazda pe care VM-ul motorului găzduit este activ în prezent are o coroană de aur și inscripția „Rularea VM Hosted Engine", gazda pe care acest VM poate fi lansat dacă este necesar - inscripția "Poate rula VM Hosted Engine".

În cazul unei defecțiuni a gazdei în care „Rularea VM Hosted Engine", se va reporni automat pe a doua gazdă. Acest VM poate fi, de asemenea, migrat de la gazda activă la gazda de așteptare pentru întreținerea sa.

Configurarea managementului energiei / gardurilor pe gazdele oVirt

Legături de documentare:

Deși poate părea că ați terminat de adăugat și configurat o gazdă, acest lucru nu este în întregime adevărat.
Pentru funcționarea normală a gazdelor și pentru a identifica/rezolva defecțiunile cu oricare dintre ele, sunt necesare setări de gestionare a energiei / garduri.

Scrimă, sau gard, este procesul de excludere temporară a unei gazde defectuoase sau eșuate din cluster, timp în care fie serviciile oVirt de pe acesta, fie gazda în sine sunt repornite.

Toate detaliile despre definițiile și parametrii Power Management/fencing sunt date, ca de obicei, în documentație, voi da doar un exemplu de configurare a acestui parametru important, așa cum este aplicat serverelor Dell R640 cu iDRAC 9.

  1. Accesați portalul administrativ, faceți clic Calcula >> gazdele selectați o gazdă.
  2. Clic Editati.
  3. Faceți clic pe fila Gestionare a energiei.
  4. Bifați caseta de lângă opțiune Activați Gestionarea energiei.
  5. Bifați caseta de lângă opțiune Integrarea Kdumppentru a preveni gazda să intre în modul de gardă în timp ce înregistrează un dump de blocare a nucleului.

Notă.

După activarea integrării Kdump pe o gazdă care rulează deja, aceasta trebuie reinstalată conform procedurii din Ghidul de administrare oVirt -> Capitolul 7: Gazde -> Reinstalarea gazdelor.

  1. Opțional, puteți bifa caseta Dezactivați controlul politicii de gestionare a energiei, dacă nu dorim ca managementul energiei gazdei să fie controlat de Politica de programare a clusterului.
  2. Faceți clic pe butonul (+) pentru a adăuga un nou dispozitiv de gestionare a energiei, se va deschide fereastra de editare a proprietăților agentului.
    Pentru iDRAC9, completați câmpurile:
    • Adresă – adresa iDRAC9
    • Nume utilizator, parola – autentificare și, respectiv, parolă pentru autentificare la iDRAC9
    • Tip —drac5
    • marca Asigura
    • adăugați următoarele opțiuni: cmd_prompt =>,login_timeout=30

Captură de ecran cu parametrii „Gestionarea energiei” în proprietățile gazdei

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Crearea unei zone de stocare sau a unor domenii de stocare

Link către documentație - Ghid de administrare oVirt, Capitolul 8: Depozitare.

Domeniul de stocare, sau zona de stocare, este o locație centralizată pentru stocarea discurilor de mașini virtuale, imagini de instalare, șabloane și instantanee.

Zonele de stocare pot fi conectate la centrul de date folosind diferite protocoale, clustere și sisteme de fișiere de rețea.

oVirt are trei tipuri de spații de depozitare:

  • Domeniul de date – pentru a stoca toate datele asociate mașinilor virtuale (discuri, șabloane). Data Domain nu poate fi partajat între diferite centre de date.
  • Domeniul ISO (tip învechit de zonă de stocare) – pentru stocarea imaginilor de instalare a sistemului de operare. Domeniul ISO poate fi partajat între diferite centre de date.
  • Export Domain (tip învechit de zonă de stocare) – pentru stocarea temporară a imaginilor mutate între centrele de date.

În cazul nostru particular, o zonă de stocare cu tipul Data Domain utilizează Fibre Channel Protocol (FCP) pentru a se conecta la LUN-urile de pe sistemul de stocare.

Din punctul de vedere al oVirt, atunci când se utilizează sisteme de stocare (FC sau iSCSI), fiecare disc virtual, instantaneu sau șablon este un disc logic.
Dispozitivele bloc sunt asamblate într-o singură unitate (pe gazdele cluster) folosind Volume Group și apoi împărțite folosind LVM în volume logice, care sunt folosite ca discuri virtuale pentru VM.

Toate aceste grupuri și multe volume LVM pot fi văzute pe gazda cluster folosind comenzile etc и Eu versus. Desigur, toate acțiunile cu astfel de discuri ar trebui făcute numai din consola oVirt, cu excepția cazurilor speciale.

Discurile virtuale pentru VM-uri pot fi de două tipuri - QCOW2 sau RAW. Discurile pot fi "subţire" sau "gros". Instantaneele sunt întotdeauna create ca "subțire".

Modul de gestionare a domeniilor de stocare sau a zonelor de stocare accesate prin FC este destul de logic - pentru fiecare disc virtual VM există un volum logic separat care poate fi scris de o singură gazdă. Pentru conexiunile FC, oVirt folosește ceva de genul LVM în cluster.

Mașinile virtuale situate în aceeași zonă de stocare pot fi migrate între gazde aparținând aceluiași cluster.

După cum putem vedea din descriere, un cluster în oVirt, ca un cluster în VMware vSphere sau Hyper-V, înseamnă în esență același lucru - este o grupare logică de gazde, de preferință identice în compoziția hardware și având stocare comună pentru virtuale. discuri ale mașinii.

Să trecem direct la crearea unei zone de stocare pentru date (discuri VM), deoarece fără aceasta centrul de date nu va fi inițializat.
Permiteți-mi să vă reamintesc că toate LUN-urile prezentate gazdelor cluster pe sistemul de stocare trebuie să fie vizibile pe ele folosind comanda „cale multiplă -ll".

În conformitate cu documentație, du-te la portal du-te la Stocare >> domenii -> Domeniu nou și urmați instrucțiunile din secțiunea „Adăugarea spațiului de stocare FCP”.

După lansarea expertului, completați câmpurile obligatorii:

  • Nume — setați numele clusterului
  • Funcția de domeniu -Date
  • Tip de stocare - Fibre Channel
  • Gazdă de utilizat — selectați o gazdă pe care este disponibil LUN-ul de care avem nevoie

În lista de LUN-uri, marcați-l pe cel de care avem nevoie, faceți clic Adăuga și apoi ОК. Dacă este necesar, puteți ajusta parametri suplimentari ai zonei de stocare făcând clic pe Parametri avansați.

Captură de ecran a expertului pentru adăugarea „domeniului de stocare”

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Pe baza rezultatelor expertului, ar trebui să primim o nouă zonă de stocare, iar centrul nostru de date ar trebui să treacă la starea UP, sau inițializat:

Capturi de ecran ale centrului de date și zonelor de stocare din acesta:

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Crearea și configurarea rețelelor pentru mașini virtuale

Link către documentație - Ghid de administrare oVirt, Capitolul 6: Rețele logice

Rețelele, sau rețelele, servesc la gruparea rețelelor logice utilizate în infrastructura virtuală oVirt.

Pentru a interacționa între adaptorul de rețea de pe mașina virtuală și adaptorul fizic de pe gazdă, sunt utilizate interfețe logice, cum ar fi bridge-ul Linux.

Pentru a grupa și împărți traficul între rețele, VLAN-urile sunt configurate pe switch-uri.

Când se creează o rețea logică pentru mașinile virtuale în oVirt, trebuie să i se aloce un identificator corespunzător numărului VLAN de pe switch, astfel încât mașinile virtuale să poată comunica între ele, chiar dacă rulează pe noduri diferite ale clusterului.

Setările preliminare ale adaptoarelor de rețea pe gazde pentru conectarea mașinilor virtuale trebuiau făcute în anterioară articol – interfață logică configurată bondxnumx, atunci toate setările de rețea ar trebui făcute numai prin portalul administrativ oVirt.

După crearea unei VM cu motor găzduit, pe lângă crearea automată a unui centru de date și a unui cluster, a fost creată automat și o rețea logică pentru a gestiona clusterul nostru - ovritmgmt, la care a fost conectat acest VM.

Dacă este necesar, puteți vizualiza setările rețelei logice ovritmgmt și reglați-le, dar trebuie să aveți grijă să nu pierdeți controlul asupra infrastructurii oVirt.

Setări logice de rețea ovritmgmt

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Pentru a crea o nouă rețea logică pentru VM obișnuite, în portalul administrativ accesați Reţea >> Networks >> Nou, și pe filă General adăugați o rețea cu ID-ul VLAN dorit și, de asemenea, bifați caseta de lângă „Rețeaua VM", asta înseamnă că poate fi folosit pentru atribuirea unui VM.

Captură de ecran a noii rețele logice VLAN32

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

În filă Grup, atașăm această rețea la clusterul nostru cluster1.

După aceasta mergem la Calcula >> gazdele, mergeți la fiecare gazdă pe rând, la fila Interfețe de rețeași lansați vrăjitorul Configurați rețele gazdă, pentru a se lega de gazdele unei noi rețele logice.

Captură de ecran a expertului „Configurare rețele gazdă”.

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Agentul oVirt va face automat toate setările de rețea necesare pe gazdă - creați un VLAN și un BRIDGE.

Exemple de fișiere de configurare pentru rețele noi de pe gazdă:

cat ifcfg-bond1
# Generated by VDSM version 4.30.17.1
DEVICE=bond1
BONDING_OPTS='mode=1 miimon=100'
MACADDR=00:50:56:82:57:52
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

cat ifcfg-bond1.432
# Generated by VDSM version 4.30.17.1
DEVICE=bond1.432
VLAN=yes
BRIDGE=ovirtvm-vlan432
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

cat ifcfg-ovirtvm-vlan432
# Generated by VDSM version 4.30.17.1
DEVICE=ovirtvm-vlan432
TYPE=Bridge
DELAY=0
STP=off
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

Permiteți-mi să vă reamintesc încă o dată că pe gazda clusterului NU ESTE NECESAR creați manual interfețe de rețea în avans ifcfg-bond1.432 и ifcfg-ovirtvm-vlan432.

După adăugarea unei rețele logice și verificarea conexiunii dintre gazdă și VM-ul motorului găzduit, aceasta poate fi utilizată în mașina virtuală.

Crearea unei imagini de instalare pentru implementarea unei mașini virtuale

Link către documentație - Ghid de administrare oVirt, Capitolul 8: Depozitare, secțiunea Încărcarea imaginilor într-un domeniu de stocare a datelor.

Fără o imagine de instalare a sistemului de operare, nu va fi posibilă instalarea unei mașini virtuale, deși, desigur, aceasta nu este o problemă dacă, de exemplu, este instalată în rețea Cizmar cu imagini pre-create.

În cazul nostru, acest lucru nu este posibil, așa că va trebui să importați singur această imagine în oVirt. Anterior, aceasta necesita crearea unui domeniu ISO, dar în noua versiune de oVirt acesta a fost depreciat și, prin urmare, acum puteți încărca imagini direct în domeniul Storage de pe portalul administrativ.

În portalul administrativ accesați Stocare >> discuri >> Încărcați >> acasă
Adăugăm imaginea sistemului nostru de operare ca fișier ISO, completăm toate câmpurile din formular și facem clic pe butonul "Test de conexiune".

Captură de ecran a Expertului Adăugare imagine de instalare

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Dacă primim o eroare ca aceasta:

Unable to upload image to disk d6d8fd10-c1e0-4f2d-af15-90f8e636dadc due to a network error. Ensure that ovirt-imageio-proxy service is installed and configured and that ovirt-engine's CA certificate is registered as a trusted CA in the browser. The certificate can be fetched from https://ovirt.test.local/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA`

Apoi trebuie să adăugați certificatul oVirt la „CA rădăcină de încredere„(Trusted Root CA) pe stația de control a administratorului, de unde încercăm să descărcam imaginea.

După ce ați adăugat certificatul la Trusted Root CA, faceți din nou clic pe „Test de conexiune", ar trebui luat:

Connection to ovirt-imageio-proxy was successful.

După ce finalizați acțiunea de adăugare a certificatului, puteți încerca să încărcați din nou imaginea ISO în domeniul de stocare.

În principiu, puteți face un domeniu de stocare separat cu tipul de date pentru a stoca imagini și șabloane separat de discurile VM, sau chiar să le stocați într-un domeniu de stocare pentru motorul găzduit, dar acest lucru este la latitudinea administratorului.

Captură de ecran cu imagini ISO în domeniul de stocare pentru motorul găzduit

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Creați o mașină virtuală

Link documentatie:
oVirt Virtual Machine Management Guide –> Capitolul 2: Instalarea mașinilor virtuale Linux
Resurse pentru clienții consolei

După încărcarea imaginii de instalare cu sistemul de operare în oVirt, puteți trece direct la crearea unei mașini virtuale. S-a făcut multă muncă, dar suntem deja la etapa finală, de dragul căreia s-au început toate acestea - obținerea unei infrastructuri tolerante la erori pentru găzduirea mașinilor virtuale foarte disponibile. Și toate acestea sunt absolut gratuite - nu a fost cheltuit niciun ban pentru achiziționarea vreunei licențe de software.

Pentru a crea o mașină virtuală cu CentOS 7, imaginea de instalare din sistemul de operare trebuie să fie descărcată.

Mergem la portalul administrativ, mergem la Calcula >> Mașini virtualeși lansați vrăjitorul de creare a VM. Completați toți parametrii și câmpurile și faceți clic ОК. Totul este foarte simplu dacă urmați documentația.

Ca exemplu, voi da setările de bază și suplimentare ale unui VM cu o mare disponibilitate, cu un disc creat, conectat la rețea și pornind de la o imagine de instalare:

Capturi de ecran cu setări VM foarte disponibile

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

După ce ați terminat lucrul cu vrăjitorul, închideți-l, lansați un nou VM și instalați sistemul de operare pe acesta.
Pentru a face acest lucru, accesați consola acestei VM prin portalul administrativ:

Captură de ecran a setărilor portalului administrativ pentru conectarea la consola VM

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Pentru a vă conecta la consola VM, trebuie mai întâi să configurați consola în proprietățile mașinii virtuale.

Captură de ecran a setărilor VM, fila „Consolă”.

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

Pentru a vă conecta la consola VM puteți utiliza, de exemplu, Vizualizator de mașini virtuale.

Pentru a vă conecta la consola VM direct în fereastra browserului, setările de conectare prin consolă ar trebui să fie după cum urmează:

Crearea unei infrastructuri IT tolerante la erori. Partea 2. Instalarea și configurarea clusterului oVirt 4.3

După instalarea sistemului de operare pe VM, este recomandabil să instalați agentul invitat oVirt:

yum -y install epel-release
yum install -y ovirt-guest-agent-common
systemctl enable ovirt-guest-agent.service && systemctl restart ovirt-guest-agent.service
systemctl status ovirt-guest-agent.service

Astfel, ca urmare a acțiunilor noastre, VM creată va fi foarte disponibilă, adică. dacă nodul cluster pe care rulează eșuează, oVirt îl va reporni automat pe al doilea nod. Această VM poate fi, de asemenea, migrată între gazdele cluster pentru întreținerea lor sau în alte scopuri.

Concluzie

Sper că acest articol a reușit să transmită că oVirt este un instrument complet normal pentru gestionarea infrastructurii virtuale, care nu este atât de greu de implementat - principalul lucru este să urmați anumite reguli și cerințe descrise atât în ​​articol, cât și în documentație.

Din cauza volumului mare al articolului, nu a fost posibil să includă multe lucruri în el, precum executarea pas cu pas a diverși vrăjitori cu toate explicațiile și capturile de ecran detaliate, concluziile lungi ale unor comenzi etc. De fapt, acest lucru ar necesita scrierea unei cărți întregi, ceea ce nu are prea mult sens din cauza noilor versiuni de software care apar în mod constant cu inovații și schimbări. Cel mai important lucru este să înțelegeți principiul cum funcționează totul împreună și să obțineți un algoritm general pentru crearea unei platforme tolerante la erori pentru gestionarea mașinilor virtuale.

Deși am creat o infrastructură virtuală, acum trebuie să o învățăm să interacționeze atât între elementele sale individuale: gazde, mașini virtuale, rețele interne și cu lumea exterioară.

Acest proces este una dintre sarcinile principale ale unui administrator de sistem sau de rețea, care va fi tratată în următorul articol - despre utilizarea routerelor virtuale VyOS în infrastructura tolerantă la erori a întreprinderii noastre (după cum ați ghicit, acestea vor funcționa ca virtuale). mașini de pe clusterul nostru oVirt).

Sursa: www.habr.com

Adauga un comentariu