VMmanager 6: Einführung in die Box und Vergleich mit der vorherigen Generation



Am 8. Oktober wurde eine Box-Version von VMmanager 6, dem neuen Virtualization Control Panel, veröffentlicht. Jetzt kann es auf dem Server installiert und zum Verkauf virtueller Maschinen oder zur Verwaltung Ihrer eigenen Infrastruktur verwendet werden. In diesem Artikel vergleichen wir die neue Generation mit der vorherigen - VMmanager 5 und VMmanager 6.


Beide Panels unterstützen die KVM-Virtualisierung und verwalten den physischen Server mit libvirt.


VMmanager 5 wurde 2013 veröffentlicht, VMmanager 6 - 2019. Die neue Generation ist bequemer und widerstandsfähiger gegen Stress. Unterstützt Imaging, Aufgabenverwaltung und Überwachung.


In diesem Artikel vergleichen wir zwei Generationen von Panels. Lassen Sie uns zunächst über konzeptionelle Unterschiede sprechen: Architektur, Schnittstelle und Belastbarkeit. Im zweiten Teil werden wir in zwei Panels sehen, wie identische Aufgaben gelöst werden.


Weitere Informationen zum Produkt finden Sie im Abschnitt VMmanager 6 auf der ISPsystem- Website.


Teil 1. Konzeptionelle Unterschiede


Architektur


VMmanager 5 war ein in C ++ geschriebener Monolith, der an einigen Stellen die Entwicklung einfacher Dinge unnötig erschwerte.


Aus diesem Grund haben wir in VMmanager 6 Python für einfache Aufgaben verwendet, z. B. zum Konfigurieren von Knoten, Konfigurieren von VMs und Arbeiten mit libvirt. Solcher Code ist einfacher zu schreiben, zu debuggen und zusammenzusetzen. Sie sprachen darüber in einem anderen Artikel über Habré .


Bei Aufgaben, bei denen die Dezentralisierung von Daten nicht schrecklich ist und eine horizontale Skalierung erforderlich ist, haben wir uns Golang zugewandt und die Geschäftslogik in Microservices hervorgehoben. Seltsamerweise haben wir hier auch an Geschwindigkeit und Leichtigkeit der Entwicklung gewonnen. Der Rest der Logik nutzt weiterhin den Monolithen in C ++ - Zuverlässigkeit, Geschwindigkeit und Datenkonsistenz.


Darüber hinaus wird VMmanager 6 in Docker-Containern geliefert. VMmanager 5 wurde mithilfe von Paketen installiert. Ein klares Plus der Containerisierung ist die hohe Vorhersagbarkeit des Anwendungsverhaltens (die Umgebung ist immer dieselbe). Es ist einfacher geworden, Situationen oder Probleme zu reproduzieren. Es ist nicht erforderlich, viele Assemblys für verschiedene Betriebssysteme zu erstellen. Die Bereitstellung ist schneller.


In VMmanager 5 enthielt die Installation von Paketen viele Abhängigkeiten, die zu Konflikten mit bereits installierten Paketen führen können. Es gab Situationen, in denen das Löschen eines harmlosen Pakets mit der Option "-y" das gesamte Panel nach Abhängigkeit löschte.


Eine weitere wichtige Änderung: VMmanager 6 unterstützt Images. Ein Image ist eine vollständige Kopie einer VM-Festplatte. Es wird beim Erstellen von virtuellen Maschinen und Sicherungen verwendet. Nicht zu verwechseln mit ISO-Images in VMmanager 5 - dies sind zwei verschiedene Technologien.

Lastwiderstand


Eine wichtige Folge von Änderungen in der Architektur ist ein erhöhter Lastwiderstand.


VMmanager 5 hält hohen Belastungen nicht stand: Wenn mehr als 500 virtuelle Maschinen erstellt werden, beginnt es langsam zu arbeiten. Um diese Einschränkung zu umgehen, installieren Anbieter einen anderen VMmanager und erstellen darin neue virtuelle Maschinen. Große Anbieter können mehrere Panels haben: je nach Anzahl der Standorte oder Tarife.


In VMmanager 5 wurde im Hauptprozess und in der Regel in einem Thread viel getan. Um lange Vorgänge zu verwalten, gab es ein Longtask-Modul (der Vorläufer von Taskmanager, einem Dienst zum Versenden von Aufgaben in der sechsten Version), aber wir haben nicht sofort damit begonnen, es aktiv zu nutzen. In Longtask gab es keinen Sperrmechanismus, nur Warteschlangen, in denen Aufgaben streng einzeln in der Reihenfolge ausgeführt werden konnten, in der sie dort ankamen. Eine Aufgabe konnte nicht in mehreren Zeilen stehen. Die Longtask-Operationen selbst waren spezielle Dateien auf der Festplatte. Eine große Anzahl von Dateien in einem Verzeichnis führt zu einer ernsthaften Belastung aller UNIX-Systeme. Dadurch konnten keine Aufgaben auf mehrere Dispatcher / Server verteilt werden.


Das Laden in VMmanager 6 wird von einem speziellen Task-Management-Service - Taskmanager - beantwortet. Jetzt werden die meisten Vorgänge in separaten Prozessen als verzögert ausgeführt. Dies erhöht die Reaktionsfähigkeit des Systems - eine separate Anforderung kann den Betrieb nicht blockieren. und erhöht auch die Stabilität - wenn etwas schief geht, wirkt sich dies nicht auf das gesamte System aus, höchstens auf den Betrieb. Ein flexibles System von Sperren und eine hohe Isolation einzelner Prozesse ermöglichen eine optimale Warteschlange und Ausführung von Aufgaben parallel, wo dies möglich ist.


Auch in der neuen Version wurde beschlossen, den Leser und den Schreiber zu trennen (Prozesse, die für die Lese- und Schreibvorgänge im System verantwortlich sind). Im Gegensatz zu VMmanager 5 kann der Panel-Benutzer immer Informationen abrufen, da Reader-Threads immer parallel arbeiten können, unabhängig davon, wie viele Schreibvorgänge derzeit ausgeführt werden.


Schnittstelle


Der auffälligste Unterschied zwischen den beiden Generationen ist die Schnittstelle. Und es geht nicht nur um Design. Unterschiede in Geschwindigkeit und Reaktionsfähigkeit.


Die VMmanager 5- Oberfläche ist sowohl im Erscheinungsbild als auch im „Verhalten“ veraltet. Die erste ist mit bloßem Auge sichtbar, und die zweite ist bei langen Vorgängen erkennbar: Wenn Sie die virtuelle Maschine stoppen oder die Massenmigration starten, wird auf dem Bildschirm ein blockierender Fortschrittsbalken angezeigt. Wenn der Benutzer viele solcher Vorgänge ausführt, wartet eine andere Person nur darauf, eine Liste der virtuellen Maschinen anzuzeigen.



Blockieren des Fortschrittsbalkens, wenn eine virtuelle Maschine in VMmanager 5 angehalten wird


Zusammen mit Designänderungen brachte VMmanager 6 Architekturänderungen auf der Clientseite mit sich. Früher wurden Seitenvorlagen aus serverseitigen XML-Dateien generiert, jetzt ist es SPA (Single Page Application), das auf dem beliebten Angular-Framework basiert. Die Anwendung besteht aus separaten unabhängigen Modulen (bei Bedarf heruntergeladen) und Komponenten. Komponenten werden der Bibliothek zugeordnet und gemäß dem Entwurfssystem entwickelt.


Um die Reaktionsfähigkeit zu erhöhen, erfolgt die Kommunikation mit dem Server über die REST-API und WebSocket. In den meisten Fällen versuchen wir, nicht blockierende oder verzögerte Vorgänge zu verwenden. Der Client-Teil wird über einen speziellen Dienst über Änderungen in der Anwendung informiert, unabhängig davon, ob eine virtuelle Maschine erstellt oder der Status eines Knotens in einer Tabelle geändert wird. Dieser Service informiert sich über Änderungen aus dem Schlüsselwertspeicher, in dem Ereignisse von allen Microservices abgerufen werden.


Somit ist die VMmanager 6-Oberfläche nicht nur moderner, sondern auch bequemer, reaktionsschneller und „freundlicher“ geworden.



Wenn eine VM in VMmanager 6 stoppt, wird die Schnittstelle nicht blockiert. Der Status kann in der Liste der virtuellen Maschinen angezeigt werden


Teil 2. Problemlösung


Virtuelle Maschinen erstellen


Kommen wir zu den Aufgaben. Das erste ist die Erstellung einer VM.


VMmanager 5 erstellt eine virtuelle Maschine in 8-10 Minuten - eine lange Zeit. Das liegt daran, dass der Prozess wie gewohnt abläuft: Pakete werden heruntergeladen, bereitgestellt und installiert. Damit Clients nicht warten müssen, schreiben Anbieter Plug-Ins: Sie erstellen im Voraus eine virtuelle Maschine und weisen sie beim Eintreffen des Clients neu zu. Ein erhöhter Benutzer kann eine virtuelle Maschine selbst erstellen, Sie müssen jedoch ein komplexes Formular ausfüllen.



Formular zum Erstellen einer virtuellen Maschine in VMmanager 5


VMmanager 6 verwendet einen neuen Mechanismus zum Erstellen virtueller Maschinen. Das Panel lädt keine Pakete herunter, stellt jedoch eine Kopie des Bildes bereit. Es müssen keine zusätzlichen Plugins geschrieben werden: Die VM-Ausgabe ist auch ohne Plugins schnell - von 1 Minute 20 Sekunden bis 2 Minuten. Netzwerkfehler oder die Veröffentlichung einer neuen Version des Betriebssystems wirken sich nicht mehr auf die Installation aus. Wenn sie gestartet wird, wird sie definitiv beendet. Die Form der Erstellung einer VM ist viel einfacher geworden.



Formular zum Erstellen einer virtuellen Maschine in VMmanager 6


Erstellen von Betriebssystemvorlagen


Anbieter verkaufen Kunden virtuelle Maschinen mit WordPress, 1C-Bitrix oder anderer Software. Unternehmen, die VMmanager für interne Anforderungen verwenden, erstellen viele der gleichen VM-Typen zum Testen, Bereitstellen interner Services und ihrer eigenen Software. Das Einrichten jedes Computers ist die Routine des Administrators oder Testers. Das Control Panel hilft bei der Automatisierung: Sobald Sie die Vorlage konfiguriert und vorkonfigurierte VPS daraus erstellt haben.


In VMmanager 5 werden Betriebssystemvorlagen in Repositorys gespeichert. Um Ihre Vorlage hinzuzufügen, müssen Sie ein Repository erstellen und die Betriebssystemkonfigurationsdateien vorbereiten. Das Repository wird auf einem separaten Server erstellt. Die Vorlage besteht aus einer XML-Beschreibung und einer Konfigurationsdatei sowie allen Dateien, die zum Erstellen des Betriebssystems erforderlich sind. Der Administrator muss die Vorlage vorbereiten. Die Aufgabe ist nicht einfach und es ist unwahrscheinlich, dass sie ohne Anweisungen gelöst werden kann.



Betriebssystemvorlagen in VMmanager 5. Sie können die Installation über die Benutzeroberfläche starten, die Vorlage jedoch nicht konfigurieren


Die Betriebssystemvorlage in VMmanager 6 ist ein Festplattenabbild einer virtuellen Maschine mit einem installierten Betriebssystem. Um eine Vorlage mit zusätzlicher Software zu erstellen, konfigurieren Sie sie einfach auf einer virtuellen Maschine und erstellen Sie ein Image der Festplatte. Danach werden alle aus diesem Image erstellten VMs auf dieselbe Weise konfiguriert. Nur die Netzwerkeinstellungen und der Zugriff auf die VM ändern sich - sie werden nicht in das Image geschrieben. Die Aufgabe ist einfach, der Administrator wird ohne Anweisungen fertig. Natürlich können Skriptliebhaber sie weiterhin verwenden - eine solche Möglichkeit gibt es in VMmanager 6.



Erstellen einer virtuellen Maschine aus einem Benutzerabbild in VMmanager 6


Statistik und Überwachung


Statistik- und Überwachungsdienste sind für jeden Systemadministrator unverzichtbare Helfer. Mit ihnen können Sie schnell auf Notfallsituationen reagieren, die auf Knoten und VMs auftreten. Ein plötzlicher Zustrom von Besuchern, ein DDoS-Angriff oder ein fehlerhaftes Skript können die virtuelle Maschine stark belasten. Wenn Sie keine Maßnahmen ergreifen, schlägt dies fehl, ebenso wie die Site oder das Projekt, die sich darauf befinden. Dies ist praktisch, wenn das Überwachungssystem im Bedienfeld enthalten ist.


VMmanager 5 verfügt über einen Mechanismus zum Überwachen des Status virtueller Maschinen. Alle 10 Minuten werden die Anzahl der über das Netzwerk gesendeten Pakete und die Anzahl der Schreibanforderungen an die Festplatte der virtuellen Maschine analysiert. Die Top-10-Knoten für ausgehenden Datenverkehr, Prozessorlast und Speicher werden auf der Hauptseite des Bedienfelds angezeigt. Es gibt keine Benachrichtigungen per E-Mail oder Instant Messenger.



Statistiken zu Knoten auf dem Haupt-VMmanager 5. Wenn nicht genügend Daten vorhanden sind, sind die Grafiken hässlich


VMmanager 6 überwacht nach wie vor auch den Status von VMs und Knoten und sammelt Statistiken zur Ressourcennutzung. Um den Bedürfnissen der Benutzer gerecht zu werden, haben wir ein neues Online-Überwachungssystem für Knoten und VMs entwickelt. Es überwacht den Verbrauch von RAM, CPU und Festplatte sowie die Netzwerkaktivität. Wenn die Last kritisch wird, ist es unmöglich, dies nicht zu bemerken - die Überwachungsdaten werden in den Listen der Knoten und virtuellen Maschinen sowie auf einzelnen Karten dieser Entitäten angezeigt. Nach dem Besuch der Knotenliste kann der Administrator sofort feststellen, welcher der Server überlastet ist und durch welchen Indikator. Das Dashboard befindet sich in der Entwicklung, das Erscheinungsbild wird in diesem Jahr im Panel erwartet.



Knotenkarte in VMmanager 6. Hier finden Sie Informationen zur Auslastung und Statistiken der erstellten virtuellen Maschinen


Mail


Dies ist praktisch, wenn das Panel über aktuelle Ereignisse oder Probleme berichtet. Dazu muss das Senden von Nachrichten unterstützt werden.


Es gibt keine Möglichkeit, E-Mails in VMmanager 5 zu verwalten. Nur ein Administrator kann ein vergessenes Kennwort zurücksetzen, Sie können es nicht automatisch wiederherstellen. Benachrichtigungen zur Erstellung virtueller Maschinen werden von BILLmanager gesendet. Fügen Sie ein neues Ereignis für Warnungen hinzu - das Ganze.


VMmanager 6 kann E-Mails senden. Es werden bereits Benachrichtigungen zum Erstellen und erneuten Installieren von VMs, Buchstaben für die Kennwortwiederherstellung, gesendet. Wenn die Abrechnung aktiviert ist, kann das Senden von Nachrichten über das Bedienfeld deaktiviert werden. In Zukunft wird es Benachrichtigungen über Probleme geben, die auf den VM-Knoten aufgetreten sind. Es ist auch geplant, das Senden von Benachrichtigungen an Instant Messenger zu implementieren.


Aufgabenverwaltung


Es reicht nicht aus, sich über das Problem zu informieren. Sie müssen die Ursache schnell finden und beheben. Warum die virtuelle Maschine nicht erstellt oder das Skript nicht ausgeführt wurde, welche Vorgänge im System häufig fehlschlagen - all dies finden Sie in der Liste der VMmanager 6-Aufgaben.


VMmanager 5 verfügt nicht über einen Tasküberwachungsmechanismus , da selbst kein Taskmechanismus vorhanden war (siehe den ersten Teil des Artikels). Die teilweise Ausführung von Hintergrundaufgaben kann im Abschnitt "Systemstatus" überwacht werden. Sie können die Start- und Endzeit sowie den Status anzeigen - erfolgreich oder fehlerhaft abgeschlossen. Ein hängengebliebener Longtask-Vorgang kann zwangsweise beendet werden. Wenn die virtuelle Maschine jedoch nicht erstellt wurde, können Sie den Grund nicht im Bedienfeld herausfinden: Sie müssen die ID nehmen und zur Konsole "Protokollprotokoll" wechseln.



Aufgabenverwaltung in VMmanager 5. Sie können die Startzeit und den Status anzeigen oder das Skript vervollständigen


Der Benutzer von VMmanager 6 verwaltet Vorgänge in der "Aufgabenliste". Es speichert Informationen zu laufenden und abgeschlossenen Vorgängen auf virtuellen Maschinen, Knoten und Betriebssystemvorlagen. Anhand der Dauer der Aufgaben können Sie die Muster verfolgen: Welche Operation hat zu welcher Zeit gedauert, wer hat sie gestartet? Wenn dies fehlgeschlagen ist, ist das Protokoll sichtbar - es wird in der Benutzeroberfläche angezeigt. Wenn das Skript nicht ausgeführt wird, wird ein Fehlercode in der Benutzeroberfläche angezeigt. Machen Sie sofort klar, was zu tun ist.



Die Liste der Aufgaben in VMmanager 6. Sie können verstehen, wer, was und wann



Die Karte der Aufgabe, die mit einem Fehler abgeschlossen wurde. Ein Protokoll ist direkt im Bedienfeld sichtbar. Sie müssen in der Konsole nichts essen


Backups


Dies ist eine der Aufgaben, die in zwei Panels unterschiedlich gelöst wird.


VMmanager 5. Sie können Kopien aller oder bestimmter virtueller Maschinen erstellen. Backups werden auf der lokalen Festplatte oder im Remote-FTP-Speicher gespeichert - einer oder mehreren. Die XML-Beschreibung der virtuellen Maschine wird kopiert, Kopien ihrer virtuellen Festplatten werden erstellt, ein Speicherauszug wird erstellt und all dies wird in das Archiv gepackt.



Sichern virtueller Maschinen in VMmanager 5


VMmanager 6 . Es gibt keine Sicherung im üblichen Sinne - alles wird in der Datenbank gespeichert. Wenn das Panel ausfällt, die Datenbank jedoch gespeichert wird, ist es nicht schwierig, das System wiederherzustellen. Die Rolle der Sicherung virtueller Maschinen wird von Images übernommen. Sie können bei Bedarf eine beschädigte VM aus einem Image wiederherstellen. Jetzt werden Images mit angehaltener VM erstellt, aber in Zukunft können sie ohne Anhalten erstellt und über die Abrechnung verkauft werden.



Erstellen eines Images in VMmanager 6


Native Unterstützung für das Hetzner-Rechenzentrum


Hetzner ist ein beliebtes Rechenzentrum bei russischen Anbietern. Zum Schutz wird die Port-Sicherheit verwendet. Wenn Sie damit arbeiten, sind spezielle Netzwerkeinstellungen erforderlich.


In VMmanager 5 muss das Netzwerk für die Hetzner-Knoten manuell konfiguriert werden: Bearbeiten Sie die Panel-Konfigurationsdateien, konfigurieren Sie die Netzwerkschnittstelle und die Netzwerkbrücke des Servers und aktivieren Sie die Weiterleitung. Gleichzeitig kann ein Panel nur einen Cluster verwalten. Wenn der Anbieter neben den von Hetzner gemieteten Servern über eigene Server verfügt, müssen diese in einem separaten Panel eingerichtet werden.


VMmanager 6 bietet native Hetzner-Unterstützung. Der Administrator fügt einen Cluster vom Typ Hetzner hinzu und verbindet die Server. Danach folgt das Routing dem Modell dieses Rechenzentrums. Die VM-Einstellungen werden entsprechend dem Clustertyp vorgenommen, in dem sie sich befinden. Gleichzeitig befinden sich im selben Bereich möglicherweise Cluster mit anderen Netzwerkeinstellungen. Die Verwaltung mehrerer Cluster ist übrigens eine der Hauptfunktionen von VMmanager 6.



Formular zur Clustererstellung vom Typ Hetzner in VMmanager 6


Lokaler Speicher


VMmanager 5 unterstützt Dateispeicherung und LVM. In einem Cluster kann es Knoten mit unterschiedlichen Speichertypen geben (wie die Zeit gezeigt hat, stellte sich heraus, dass der Mechanismus nicht beansprucht wurde und viele Ressourcen erforderlich waren). Das Panel unterstützt auch eine große Anzahl verschiedener Arten von Netzwerkspeicher. In der sechsten Version werden wir in den nächsten Versionen die Unterstützung für die beliebtesten Versionen implementieren - Ceph-Speicher.


VMmanager 6 unterstützt Dateispeicherung und LVM. In einem Cluster können keine Knoten mit unterschiedlichen Speichertypen vorhanden sein. Dadurch werden Migrationsprobleme beseitigt. Sie sind unvermeidlich, wenn sich einige der Festplatten im Dateispeicher und andere im LVM befinden.


Systemanforderungen


VMmanager 5 : Ein sauberer Server mit CentOS 6 und 7, 100-150 GB für die Root-Partition.


VMmanager 6 : Ein sauberer Server mit CentOS 7, einem Dual-Core-Prozessor mit einer Frequenz von 3 GHz, 4 GB RAM und 40 GB Speicherplatz. Der Server muss nicht bügeln, virtuell reicht.


Preis / Übergang


VMmanager 5 kostet 8 Euro pro Knoten und Monat, 80 Euro - wenn Sie für ein Jahr kaufen. Jeder neue Knoten kostet 8 Euro. Jetzt können nur diejenigen, die bereits eine Lizenz für VMmanager 5 erworben haben, diese erwerben.


Die Kosten für VMmanager 6 bestehen aus zwei Teilen: dem Preis für Knoten und einem Paket virtueller Maschinen.


  • Die Knoten werden einzeln zu jeweils 4 Euro / Monat verkauft.
  • Virtuelle Maschinen werden in Paketen verkauft. Das Mindestpaket umfasst 20 VMs und kostet 8 Euro / Monat.

Für Kunden mit aktiven VMmanager 5-Lizenzen gilt ein Sonderangebot für den Kauf von VMmanager 6. Die Bedingungen und Details zur Migration werden auf der ISPsystem-Website bekannt gegeben .


Fazit


Die fünfte und sechste Generation von VMmanager eignet sich zur Verwaltung der Virtualisierung. Aber der Unterschied zwischen ihnen ist groß. Zusammenfassend:


  • VMmanager 5 sollte verwendet werden, um nicht standardmäßige Aufgaben zu lösen: wenn Sie ISO-Images benötigen. Und auch - Schnappschüsse und Netzwerkspeicher (iSCSI, NFS, Ceph, GlusterFS).
  • VMmanager 6 ist bequemer und schneller, hält hohen Lasten stand und ist für fast alle Aufgaben geeignet. Bis Ende des Jahres planen wir, Unterstützung für IPv6, Ceph-Stores sowie ein Administrator-Dashboard und eine Benachrichtigung über Probleme an E-Mail und Messenger hinzuzufügen.

VMmanager 6 wurde bereits von 30 Anbietern bewertet. Bewertungen - in der Ankündigung auf der ISPsystem-Website.


Die maximalen Details und Einzelheiten finden Sie in der Dokumentation zu VMmanager 5 und VMmanager 6 .



VMmanager 6. 30 . , .

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


All Articles