Aufbau einer fehlertoleranten IT-Infrastruktur. Teil 2. Installieren und Konfigurieren des oVirt 4.3-Clusters

Dieser Artikel ist eine Fortsetzung des vorherigen Artikels - „ Erstellen einer fehlertoleranten IT-Infrastruktur. Teil 1 - Vorbereitung für die Bereitstellung des oVirt 4.3-Clusters . “


Es wird die grundlegende Installation und Konfiguration des oVirt 4.3-Clusters zum Hosten von hoch zugänglichen virtuellen Maschinen unter Berücksichtigung der Tatsache betrachtet, dass alle vorbereitenden Schritte für die Vorbereitung der Infrastruktur bereits abgeschlossen wurden.


Einleitung


Das Hauptziel des Artikels ist es nicht, schrittweise Anweisungen in der Form " Weiter -> Ja -> Fertig stellen " zu veröffentlichen, sondern einige Funktionen bei der Installation und Konfiguration aufzuzeigen. Aufgrund der Besonderheiten der Infrastruktur und der Umgebung stimmt der Bereitstellungsprozess Ihres Clusters möglicherweise nicht immer mit dem darin beschriebenen überein, die allgemeinen Prinzipien sind jedoch gleich.


Aus subjektiver Sicht ähnelt oVirt 4.3 in der Funktionalität VMware vSphere Version 5.x, verfügt jedoch natürlich über eigene Konfigurations- und Betriebsfunktionen.


Für diejenigen, die daran interessiert sind, können alle Unterschiede zwischen RHEV (aka oVirt) und VMware vSphere zum Beispiel hier im Internet gefunden werden , aber ich werde dennoch gelegentlich einige ihrer Unterschiede oder Ähnlichkeiten bemerken, wie der Artikel geht.


Separat möchte ich ein wenig Arbeit mit Netzwerken für virtuelle Maschinen vergleichen. OVirt implementiert ein ähnliches Prinzip der Netzwerkverwaltung für virtuelle Maschinen (im Folgenden als VM bezeichnet) wie in VMware vSphere:


  • Verwenden der Standard-Linux-Bridge (in VMware - Standard vSwitch ), die auf Virtualisierungshosts ausgeführt wird;
  • Verwenden von Open vSwitch (OVS) (in VMware Distributed vSwitch ) ist ein verteilter virtueller Switch, der aus zwei Hauptkomponenten besteht: einem zentralen OVN-Server und OVN-Controllern auf verwalteten Hosts.

Aufgrund der einfachen Implementierung wird in diesem Artikel die Netzwerkkonfiguration in oVirt für VMs unter Verwendung der Standard-Linux-Bridge beschrieben, die bei Verwendung des KVM-Hypervisors die Standardauswahl darstellt.


In dieser Hinsicht gibt es mehrere Grundregeln für die Arbeit mit einem Netzwerk in einem Cluster, die besser nicht zu verletzen sind:


  • Alle Netzwerkeinstellungen auf den Hosts müssen identisch sein, bevor Sie sie zu oVirt hinzufügen, mit Ausnahme der IP-Adressen.
  • Nachdem der Host unter der Kontrolle von oVirt steht, wird dringend davon abgeraten, Änderungen an den Netzwerkeinstellungen mit Ihren Händen vorzunehmen, ohne volles Vertrauen in Ihre Aktionen zu haben, da der oVirt-Agent sie nach dem Neustart des Hosts oder Agenten einfach auf die vorherigen zurücksetzt.
  • Das Hinzufügen und Bearbeiten eines neuen Netzwerks für die VM sollte nur über die Ovirt-Verwaltungskonsole erfolgen.

Ein weiterer wichtiger Punkt : In einer sehr kritischen Umgebung (die sehr anfällig für Geldverluste ist) wird weiterhin empfohlen, kostenpflichtigen Support und Red Hat Virtualization 4.3 zu verwenden . Während des Betriebs des oVirt-Clusters kann es einige Punkte geben, bei denen es ratsam ist, so bald wie möglich qualifizierte Hilfe in Anspruch zu nehmen, anstatt sich selbst darum zu kümmern.


Schließlich wird empfohlen, sich vor der Bereitstellung des oVirt-Clusters mit der offiziellen Dokumentation vertraut zu machen, um zumindest grundlegende Konzepte und Definitionen zu kennen. Andernfalls ist es etwas schwierig, den Artikel weiter zu lesen.


Die folgenden Dokumente sind grundlegend für das Verständnis des Artikels und der Funktionsweise des oVirt-Clusters:



Das Volumen dort ist nicht sehr groß, in ein oder zwei Stunden sind die Grundprinzipien gut zu beherrschen, und für Fans von Details wird empfohlen, die Produktdokumentation für Red Hat Virtualization 4.3 zu lesen - RHEV und oVirt sind im Wesentlichen dasselbe.


Wenn alle grundlegenden Einstellungen für Hosts, Switches und Speicher abgeschlossen sind, fahren wir direkt mit der Bereitstellung von oVirt fort.


Teil 2. Installieren und Konfigurieren des oVirt 4.3-Clusters


Zur leichteren Orientierung liste ich die Hauptabschnitte in diesem Artikel auf, die der Reihe nach ausgeführt werden sollten:


  1. Installieren des Ovirt Management Servers
  2. Schaffung eines neuen Rechenzentrums
  3. Erstellen Sie einen neuen Cluster
  4. Installieren zusätzlicher Hosts in einer selbst gehosteten Umgebung
  5. Erstellen Sie einen Speicherbereich oder Speicherdomänen
  6. Erstellen und Konfigurieren von Netzwerken für virtuelle Maschinen
  7. Erstellen eines Installationsimages zum Bereitstellen einer virtuellen Maschine
  8. Erstellen einer virtuellen Maschine

Installieren des Ovirt Management Servers


Der Ovirt-Management-Server ist das wichtigste Element in der Ovirt-Infrastruktur, und zwar in Form einer virtuellen Maschine, eines Hosts oder eines virtuellen Geräts, das die gesamte Ovirt-Infrastruktur verwaltet.


Seine engen Analoga aus der Welt der Virtualisierung:


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

Um den oVirt Management Server zu installieren, haben wir zwei Möglichkeiten:


Variante 1
Bereitstellen eines Servers als spezialisierte VM oder Host.


Diese Option funktioniert gut, vorausgesetzt, dass eine solche VM unabhängig vom Cluster funktioniert, d. H. Wird auf keinem Host im Cluster als reguläre virtuelle Maschine ausgeführt, auf der KVM ausgeführt wird.


Warum können Sie eine solche VM nicht auf den Clusterhosts bereitstellen?


Zu Beginn der Bereitstellung des oVirt-Verwaltungsservers besteht ein Dilemma: Sie müssen die verwaltende VM installieren, aber der Cluster selbst ist noch nicht vorhanden. Worauf können Sie also sofort kommen? Es ist richtig, KVM auf dem zukünftigen Clusterknoten zu installieren und anschließend eine virtuelle Maschine darauf zu erstellen, z. B. mit CentOS OS, und die oVirt-Engine darin bereitzustellen. Dies kann normalerweise aus Gründen der vollständigen Kontrolle über eine solche VM erfolgen, dies ist jedoch eine falsche Absicht, da in diesem Fall in Zukunft 100% ige Probleme mit einer solchen steuernden VM auftreten werden:


  • Es kann nicht in der oVirt-Konsole zwischen den Hosts (Knoten) des Clusters migriert werden.
  • Bei der Migration mit KVM-Tools über virsh migrate ist diese VM für die Verwaltung über die Ovirt-Konsole nicht zugänglich.
  • Clusterhosts können nicht in den Wartungsmodus versetzt werden, wenn Sie diese VM mit virsh migrate von Host zu Host migrieren .

Tun Sie also alles gemäß den Regeln - verwenden Sie entweder einen separaten Host oder eine unabhängige VM, die darauf für den oVirt-Steuerungsserver ausgeführt wird, oder tun Sie dies, wie in der zweiten Version beschrieben.


Option 2
Installieren der oVirt Engine Appliance auf dem von ihr verwalteten Cluster-Host.


Diese Option wird im Folgenden als korrekter und in unserem Fall geeigneter erachtet.
Die Anforderungen für eine solche VM werden im Folgenden beschrieben. Ich möchte nur hinzufügen, dass empfohlen wird, mindestens zwei Hosts in der Infrastruktur zu haben, auf denen die verwaltende VM ausgeführt werden kann, um sie fehlertolerant zu machen. Hier möchte ich hinzufügen, dass ich, wie ich bereits in den Kommentaren im vorherigen Artikel geschrieben habe, nicht in der Lage war, Splitbrain für den oVirt-Cluster von zwei Hosts zu erhalten, auf denen die VM mit gehosteter Engine ausgeführt werden konnte.


Installieren Sie die oVirt Engine Appliance auf dem ersten Cluster-Host


Link zur offiziellen Dokumentation - oVirt Self-Hosted Engine-Handbuch , Kapitel „ Bereitstellen der Self-Hosted Engine über die Befehlszeile


Das Dokument gibt die Voraussetzungen an, die erfüllt sein müssen, bevor die VM mit gehosteter Engine bereitgestellt wird, und der Installationsprozess wird ausführlich beschrieben. Daher ist es nicht sinnvoll, diesen Vorgang wörtlich zu wiederholen, weshalb wir uns auf einige wichtige Details konzentrieren.


  • Stellen Sie vor dem Starten aller Schritte sicher, dass die Virtualisierungsunterstützung in den BIOS-Einstellungen auf dem Host aktiviert ist.
  • Installieren Sie das Hosted Engine-Installationspaket auf dem Host:

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 

  • Wir starten das Verfahren zum Bereitstellen von oVirt Hosted Engine auf dem Bildschirm des Hosts (Sie können es mit Strg-A + D beenden und mit Strg-D schließen):

 screen hosted-engine --deploy 

Bei Bedarf können Sie die Installation mit einer vorbereiteten Antwortdatei starten:


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

  • Geben Sie während der Bereitstellung der gehosteten Engine alle erforderlichen Parameter an:

 -   -  vCPU  vRAM ( 4 vCPU  16 ) -  -    hosted engine  –    FC -  LUN   hosted engine -       hosted engine –     Local (  PostgreSQL    )  . . 

  • Um eine hoch zugängliche VM mit einer gehosteten Engine zu installieren, haben wir eine spezielle LUN mit einer Größe von 4 und 150 GB auf dem Speichersystem erstellt, die dann den Cluster-Hosts präsentiert wurde - siehe den vorherigen Artikel .

Zuvor haben wir auch die Sichtbarkeit auf Hosts überprüft:


 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 

  • Der Hosted-Engine-Bereitstellungsprozess selbst ist nicht kompliziert. Am Ende sollten wir ungefähr Folgendes erhalten:

 [ 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 

Überprüfen der Verfügbarkeit von oVirt-Diensten auf dem Host:


Wenn alles richtig gemacht wurde, rufen Sie nach Abschluss der Installation https://ovirt_hostname/ovirt-engine auf dem Computer des Administrators mit einem Webbrowser auf und klicken Sie auf [ Administrationsportal ].


Screenshot „Verwaltungsportal“


Nachdem Sie den Benutzernamen und das Kennwort (die während der Installation festgelegt wurden) im Fenster wie im Screenshot eingegeben haben, gelangen Sie zur Systemsteuerung von Open Virtualization Manager, in der Sie alle Aktionen mit der virtuellen Infrastruktur ausführen können:


  1. Rechenzentrum hinzufügen
  2. Cluster hinzufügen und konfigurieren
  3. Hosts hinzufügen und verwalten
  4. Fügen Sie Speicherbereiche oder Speicherdomänen für Festplatten virtueller Maschinen hinzu
  5. Hinzufügen und Konfigurieren von Netzwerken für virtuelle Maschinen
  6. Fügen Sie virtuelle Maschinen, Installationsimages und VM-Vorlagen hinzu und verwalten Sie diese


Alle diese Aktionen werden später betrachtet, etwas in einer großen Zelle, etwas detaillierter und mit Nuancen.
Aber zuerst würde ich empfehlen, dieses Add-On zu lesen, was wahrscheinlich vielen nützlich sein kann.


Zusatz


1) Im Prinzip hindert Sie nichts daran, den KVM-Hypervisor auf den Clusterknoten mit den Paketen libvirt und qemu-kvm (oder qemu-kvm-ev ) der gewünschten Version vorzuinstallieren, obwohl dies bei der Bereitstellung des oVirt-Clusterknotens möglich ist mach es selbst


Wenn libvirt und qemu-kvm jedoch nicht mit der neuesten Version installiert wurden, kann während der Bereitstellung der gehosteten Engine ein solcher Fehler auftreten:


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

Das heißt Sie benötigen eine aktualisierte Version von libvirt mit MDS- Schutz, die diese Richtlinie unterstützt:


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

Installieren Sie libvirt v.4.5.0-10.el7_6.12 mit md-clear-Unterstützung:


 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 

Überprüfen Sie, ob md-clear unterstützt wird:

 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'/> 

Danach können Sie mit der Installation der gehosteten Engine fortfahren.


2) In oVirt 4.3 ist das Vorhandensein und die Verwendung der Firewall Firewall eine Voraussetzung.


Wenn während der Bereitstellung der VM für die gehostete Engine die folgende Fehlermeldung angezeigt wird:

 [ 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 

Dann müssen Sie eine andere Firewall ausschalten (falls verwendet) und firewalld installieren und ausführen:


 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 

Wenn Sie den ovirt-Agenten später auf einem neuen Host für den Cluster installieren, werden die erforderlichen Ports in firewalld automatisch konfiguriert.


3) Starten Sie einen Host neu, auf dem eine VM mit einer gehosteten Engine ausgeführt wird.


Wie üblich verweisen 1 und 2 auf Leitfäden.


Die gesamte Verwaltung der gehosteten Engine der VM erfolgt NUR mit dem Befehl hosted-engine auf dem Host, auf dem sie ausgeführt wird. Sie müssen Virsh sowie die Tatsache vergessen, dass Sie über SSH eine Verbindung zu dieser VM herstellen und den Befehlshutdown “ ausführen können.


So versetzen Sie die VM in den Servicemodus:

 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 

Wir starten den Host mit dem gehosteten Engine-Agenten neu und tun, was wir brauchen.


Überprüfen Sie nach dem Neustart den Status der VM mit der gehosteten Engine:


 hosted-engine --vm-status 

Wenn unsere VM mit Hosted-Engine nicht startet und ähnliche Fehler im Serviceprotokoll angezeigt werden:


Fehler im Serviceprotokoll:

 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 

Dann verbinden wir den Speicher und starten den Agenten neu:


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

Nach dem Start der VM mit Hosted-Engine wird diese aus dem Wartungsmodus entfernt:


Vorgehensweise zum Entfernen einer VM aus dem Wartungsmodus:

 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) Entfernen der gehosteten Engine und aller damit zusammenhängenden Komponenten.


Manchmal kann es erforderlich sein, eine zuvor installierte gehostete Engine korrekt zu entfernen - ein Link zu einem Leitfaden.


Führen Sie einfach den Befehl auf dem Host aus:


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

Löschen Sie als Nächstes nicht benötigte Pakete und sichern Sie zuvor einige Konfigurationen, falls erforderlich:


 yum autoremove ovirt* qemu* virt* libvirt* libguestfs 

Schaffung eines neuen Rechenzentrums


Referenzdokumentation - oVirt Administrationshandbuch. Kapitel 4: Rechenzentren


Zuerst definieren wir, was ein Rechenzentrum ist (zitiere ich aus der Hilfe) - dies ist eine logische Einheit, die eine Reihe von Ressourcen definiert, die in einer bestimmten Umgebung verwendet werden.


Ein Rechenzentrum ist eine Art Container, bestehend aus:


  • logische Ressourcen in Form von Clustern und Hosts
  • Cluster-Netzwerkressourcen in Form von logischen Netzwerken und physischen Adaptern auf Hosts,
  • Speicherressourcen (für VM-Festplatten, Vorlagen, Images) in Form von Speicherbereichen (Storage Domains).

Ein Rechenzentrum kann aus mehreren Clustern bestehen, auf denen mehrere Hosts mit virtuellen Maschinen ausgeführt werden. Es können auch mehrere Speicherbereiche zugeordnet sein.
Es kann mehrere Rechenzentren geben, die unabhängig voneinander arbeiten. Ovirt hat eine Aufteilung der Zuständigkeiten nach Rollen, und Sie können die Berechtigungen sowohl auf Rechenzentrumsebene als auch für die einzelnen logischen Elemente persönlich konfigurieren.


Das Rechenzentrum oder die mehreren Rechenzentren werden von einer einzelnen Administrationskonsole oder einem Portal aus verwaltet.


Um ein Rechenzentrum zu erstellen, öffnen Sie das Verwaltungsportal und erstellen Sie ein neues Rechenzentrum:
Rechnen >> Rechenzentren >> Neu


Da wir Shared Storage auf dem Speichersystem verwenden, muss der Speichertyp Shared sein:


Screenshot mit dem Rechenzentrumsassistenten


Bei der Installation einer virtuellen Maschine mit Hosted Engine wird standardmäßig ein Datencenter erstellt - Datencenter1 . Bei Bedarf können Sie den Speichertyp in einen anderen ändern.


Das Erstellen eines Rechenzentrums ist eine einfache Aufgabe ohne komplizierte Details. Alle damit verbundenen zusätzlichen Aktionen werden in der Dokumentation beschrieben. Ich werde nur bemerken, dass einzelne Hosts, die nur über lokalen Speicher (Festplatte) für die VM verfügen, nicht mit dem Speichertyp "Freigegeben" (Sie können sie dort nicht hinzufügen) in das Rechenzentrum gelangen können. Für sie müssen Sie ein separates Rechenzentrum erstellen, d. H. Jeder einzelne Host mit lokalem Speicher benötigt ein eigenes Rechenzentrum.


Erstellen Sie einen neuen Cluster


Dokumentationslink - oVirt Administrationshandbuch. Kapitel 5: Cluster


Ohne unnötige Details ist ein Cluster eine logische Gruppierung von Hosts mit einem gemeinsamen Speicherbereich (in Form von gemeinsam genutzten Laufwerken auf einem Speichersystem, wie in unserem Fall). Es ist auch wünschenswert, dass die Hosts im Cluster in der Hardware identisch sind und denselben Prozessortyp haben (Intel oder AMD). Es ist natürlich am besten, dass die Server im Cluster völlig gleich sind.


Der Cluster ist Teil des Rechenzentrums (mit einem bestimmten Speichertyp - lokal oder gemeinsam genutzt ), und alle Hosts müssen unbedingt zu einem Cluster gehören, je nachdem, ob sie über einen gemeinsamen Speicher verfügen oder nicht.


Bei der Installation einer virtuellen Maschine mit Hosted-Engine auf dem Host wird standardmäßig ein Rechenzentrum erstellt - Rechenzentrum1 zusammen mit einem Cluster - Cluster1 . In Zukunft können Sie dessen Parameter konfigurieren, zusätzliche Optionen aktivieren, Hosts hinzufügen usw.


Wie üblich wird empfohlen, für Einzelheiten zu allen Clustereinstellungen die offizielle Dokumentation zu Rate zu ziehen. Von einigen Funktionen der Cluster-Konfiguration füge ich nur hinzu, dass es beim Erstellen ausreicht, nur die grundlegenden Parameter auf der Registerkarte " Allgemein" zu konfigurieren.


Ich werde die wichtigsten Parameter notieren:


  • Prozessortyp - Die Auswahl basiert darauf, welche Prozessoren auf den Clusterhosts installiert sind, von welchem ​​Hersteller sie stammen und welcher Prozessor auf den Hosts der älteste ist, sodass abhängig davon alle verfügbaren Prozessoranweisungen im Cluster verwendet werden.
  • Switch-Typ - In unserem Cluster verwenden wir nur die Linux-Bridge, also wählen wir sie aus.
  • Firewall-Typ - hier ist alles klar, dies ist die Firewall, die auf den Hosts aktiviert und konfiguriert werden muss.

Screenshot mit Cluster-Parametern


Installieren zusätzlicher Hosts in einer selbst gehosteten Umgebung


Link zur Dokumentation.


Zusätzliche Hosts für die selbst gehostete Umgebung werden auf die gleiche Weise wie ein regulärer Host hinzugefügt, mit dem zusätzlichen Punkt zum Bereitstellen einer VM mit einer gehosteten Engine - Wählen Sie die Bereitstellungsaktion für die gehostete Engine >> Bereitstellen . Da die LUN für die VM mit der gehosteten Engine auch dem zusätzlichen Host vorgelegt werden muss, kann dieser Host bei Bedarf zum Hosten der VM mit der gehosteten Engine verwendet werden.
Aus Gründen der Fehlertoleranz wird dringend empfohlen, dass mindestens zwei Hosts vorhanden sind, auf denen eine gehostete Engine-VM gehostet werden kann.


Deaktivieren Sie auf dem zusätzlichen Host iptables (falls aktiviert) und aktivieren Sie firewalld


 systemctl stop iptables systemctl disable iptables systemctl enable firewalld systemctl start firewalld 

Installieren Sie die erforderliche KVM-Version (falls erforderlich):


 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 

Installieren Sie die erforderlichen Repositorys und das Installationsprogramm für die gehostete Engine:


 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 

Wechseln Sie als Nächstes zur Open Virtualization Manager-Konsole , fügen Sie einen neuen Host hinzu, und führen Sie die in der Dokumentation beschriebenen Schritte aus.


Daher sollte nach dem Hinzufügen eines zusätzlichen Hosts in der Administrationskonsole ungefähr ein Bild angezeigt werden, wie im Screenshot.


Screenshot des Verwaltungsportals - Hosts


Der Host, auf dem die VM mit gehosteter Engine zurzeit aktiv ist, hat eine goldene Krone und die Aufschrift „ Ausführen der VM mit gehosteter Engine “. Der Host, auf dem diese VM bei Bedarf ausgeführt werden kann, ist die Aufschrift „ Kann die VM mit gehosteter Engine ausführen “.


Bei einem Hostfehler, auf dem " Hosted Engine VM ausführen " ausgeführt wird, wird der Host automatisch auf dem zweiten Host neu gestartet. Außerdem kann diese VM zu Wartungszwecken vom aktiven Host auf den Sicherungshost migriert werden.


Konfigurieren Sie Power Management / Fencing auf oVirt-Hosts


Dokumentationslinks:



Obwohl das Hinzufügen und Konfigurieren des Hosts anscheinend abgeschlossen ist, trifft dies nicht ganz zu.
Für den normalen Betrieb der Hosts und zum Erkennen / Beseitigen von Fehlern ist die Einstellung Energieverwaltung / Fencing erforderlich.


Beim Fencing oder Enclosure wird ein ausgefallener oder ausgefallener Host vorübergehend aus einem Cluster ausgeschlossen. Dabei werden entweder die auf dem Host befindlichen oder die auf dem Host befindlichen Dienste neu gestartet.


Alle Details zu den Definitionen und Parametern von Power Management / Fencing werden wie in der Dokumentation üblich angegeben. Ich werde nur ein Beispiel für die Konfiguration dieses wichtigen Parameters geben, wenn er auf Dell R640-Server mit iDRAC 9 angewendet wird.


  1. Wir öffnen das Verwaltungsportal, klicken auf Compute >> Hosts und wählen den Host aus.
  2. Klicken Sie auf Bearbeiten .
  3. Klicken Sie auf die Registerkarte Energieverwaltung.
  4. Aktivieren Sie das Kontrollkästchen neben der Option Energieverwaltung aktivieren .
  5. Wir aktivieren das Kontrollkästchen neben der Kdump-Integrationsoption, damit der Host beim Schreiben eines Kernel-Crash-Dumps nicht in den Fencing-Modus wechselt.

Hinweis

Nachdem Sie die Kdump-Integration auf einem bereits laufenden Host aktiviert haben, muss sie gemäß den Anweisungen im oVirt-Administrationshandbuch -> Kapitel 7: Hosts -> Neuinstallieren von Hosts erneut installiert werden.


  1. Optional können Sie das Kontrollkästchen Richtliniensteuerung der Energieverwaltung deaktivieren aktivieren, wenn die Host-Energieverwaltung nicht von der Planungsrichtlinie des Clusters gesteuert werden soll.
  2. Klicken Sie auf die Schaltfläche ( + ), um ein neues Energieverwaltungsgerät hinzuzufügen. Das Fenster zum Bearbeiten der Eigenschaften des Agenten wird geöffnet.
    Füllen Sie für iDRAC9 die Felder aus:
    • Adresse - iDRAC9-Adresse
    • Benutzername / Passwort - bzw. Login und Passwort zur Eingabe von iDRAC9
    • Typ - drac5
    • markieren Sie Sichern
    • Fügen Sie die folgenden Optionen hinzu: cmd_prompt =>, login_timeout = 30

Screenshot mit “Power Management” -Parametern in den Host-Eigenschaften


Erstellen Sie einen Speicherbereich oder Speicherdomänen


Documentation Link - oVirt Administration Guide, Kapitel 8: Storage .


Eine Speicherdomäne oder ein Speicherbereich ist ein zentraler Speicherort für Festplatten, Installationsimages, Vorlagen und Snapshots von virtuellen Maschinen.


Speicherbereiche können über verschiedene Protokolle, Cluster- und Netzwerkdateisysteme mit einem Rechenzentrum verbunden werden.


OVirt verfügt über drei Arten von Speicherbereichen:


  • Datendomäne - zum Speichern aller mit virtuellen Maschinen verbundenen Daten (Festplatten, Vorlagen). Data Domain kann nicht von verschiedenen Rechenzentren gemeinsam genutzt werden.
  • ISO-Domäne (veralteter Speicherbereichstyp) - zum Speichern von BS-Installationsimages. Die ISO-Domäne kann von verschiedenen Rechenzentren gemeinsam genutzt werden.
  • Export Domain (veralteter Speicherbereichstyp) - zum temporären Speichern von Bildern, die zwischen Rechenzentren verschoben wurden.

In unserem speziellen Fall verwendet eine Speicherdomäne vom Typ Datendomäne FCP (Fibre Channel Protocol), um eine Verbindung zu LUNs auf dem Speichersystem herzustellen.


Aus Sicht von oVirt ist bei Verwendung von Speichersystemen (FC oder iSCSI) jede virtuelle Festplatte, jeder Snapshot oder jede Vorlage eine logische Festplatte.
Blockgeräte werden mithilfe der Datenträgergruppe zu einer einzigen Einheit (auf den Clusterhosts) zusammengefasst und dann mithilfe von LVM in logische Datenträger unterteilt, die als virtuelle Festplatten für VMs verwendet werden.


Alle diese Gruppen und viele LVM-Volumes können mit den Befehlen vgs und lvs auf dem Clusterhost angezeigt werden. Alle Aktionen mit solchen Datenträgern sollten natürlich nur von der Ovirt-Konsole aus durchgeführt werden, außer in besonderen Fällen.


Es gibt zwei Arten von virtuellen Laufwerken für VMs: QCOW2 oder RAW. Scheiben können dünn oder dick sein . Schnappschüsse werden immer so dünn erstellt .


Die Verwaltung von Speicherdomänen oder Speicherbereichen, auf die über FC zugegriffen wird, ist logisch: Für jede virtuelle Festplatte einer VM gibt es ein separates logisches Volume, das nur auf einen Host geschrieben werden kann. Bei Verbindungen über FC verwendet oVirt so etwas wie Clustered LVM.


Virtuelle Maschinen, die sich auf demselben Speicherbereich befinden, können zwischen Hosts migriert werden, die demselben Cluster angehören.


Wie Sie der Beschreibung entnehmen können, bedeutet der Cluster in oVirt wie der Cluster in VMware vSphere oder in Hyper-V im Wesentlichen dasselbe - dies ist eine logische Gruppierung von Hosts, die vorzugsweise in der Hardware identisch sind und über einen gemeinsamen Speicher für Festplatten virtueller Maschinen verfügen.


Wir fahren direkt mit der Erstellung eines Speicherbereichs für Daten (VM-Festplatten) fort, da das Rechenzentrum ohne diesen Speicherbereich nicht initialisiert wird.
Lassen Sie mich daran erinnern, dass alle LUNs, die den Hosts des Clusters im Speicher angezeigt werden, mit dem Befehl " multipath -ll " für sie sichtbar sein sollten.


Gehen Sie gemäß der Dokumentation zum Portal, gehen Sie zu Speicher >> Domänen -> Neue Domäne und folgen Sie den Anweisungen im Abschnitt "Hinzufügen von FCP-Speicher".


Füllen Sie nach dem Start des Assistenten die erforderlichen Felder aus:


  • Name - Geben Sie den Namen des Clusters ein
  • Domänenfunktion - Daten
  • Speichertyp - Fibre Channel
  • Zu verwendender Host - Wählen Sie den Host aus, auf dem die erforderliche LUN verfügbar ist.

Wählen Sie in der Liste der LUNs die gewünschte aus, klicken Sie auf Hinzufügen und dann auf OK . Bei Bedarf können Sie zusätzliche Parameter des Speicherbereichs anpassen, indem Sie auf Erweiterte Parameter klicken.


Screenshot des Assistenten zum Hinzufügen von Speicherdomänen


Entsprechend den Ergebnissen des Assistenten sollten wir einen neuen Speicherbereich erhalten und unser Rechenzentrum sollte in den Status UP versetzt oder initialisiert werden:


Screenshots des Rechenzentrums und der Speicherbereiche darin:



Erstellen und Konfigurieren von Netzwerken für virtuelle Maschinen


Documentation Link - oVirt Administrationshandbuch, Kapitel 6: Logische Netzwerke


Netzwerke werden verwendet, um logische Netzwerke zu gruppieren, die in der virtuellen oVirt-Infrastruktur verwendet werden.


Logikschnittstellen wie Linux Bridge werden verwendet, um mit einem Netzwerkadapter in einer virtuellen Maschine und mit einem physischen Adapter auf dem Host zu interagieren.


Um Datenverkehr zwischen Netzwerken zu gruppieren und aufzuteilen, werden VLANs auf den Switches konfiguriert.


oVirt, , VLAN , , .


bond1 , oVirt.


hosted-engine, , – ovritmgmt , .


ovritmgmt , , oVirt.


ovritmgmt


, Network >> Networks >> New , General VLAN, « VM Network », .


VLAN32


Cluster , Cluster1 .


Compute >> Hosts , , Network interfaces , Setup host networks , .


«Setup host networks»


oVirt – VLAN BRIDGE.


:
 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 

, ifcfg-bond1.432 ifcfg-ovirtvm-vlan432 .


c hosted engine, .



— oVirt Administration Guide, Chapter 8: Storage , Uploading Images to a Data Storage Domain.


, , , , , Cobbler .


, oVirt. , ISO Domain, oVirt , Storage domain .


Storage >> Disks >> Upload >> Start
ISO , , " Test connection ".



:

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`


oVirt « » (Trusted Root CA) , .


Trusted Root CA, " Test connection ", :


 Connection to ovirt-imageio-proxy was successful. 

, ISO Storage Domain.


, Storage Domain Data, , Storage Domain hosted engine, .


ISO Storage Domain hosted engine



:
oVirt Virtual Machine Management Guide –> Chapter 2: Installing Linux Virtual Machines
Console Clients Resources


oVirt , . , , – . – - , .


CentOS 7, .


, Compute >> Virtual Machines , . , . , .


, , , , :







, , .
:



, .


, «Console»


, , Virtual Machine Viewer .


, :



, oVirt guest agent:


 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 

, , , .. , , oVirt . , .


Fazit


, , oVirt – , — , , .


- , , - , .. , , - . – , , .


, : , , , .


, — VyOS ( , oVirt).

Source: https://habr.com/ru/post/de485208/


All Articles