Ich bin Systemadministrator in einem kleinen Softwarehaus. Ich werde unsere Server virtualisieren. Der Hauptgrund dafür ist die höchstmögliche Verfügbarkeit, aber wahrscheinlich wird auch die Ressourcennutzung erhöht.
Wir haben zwei Server. Auf einer haben wir nur wenige Entwicklungs-VMs und sie werden auch als Build-Server verwendet (Jenkins Master, aber auch Build Executor). Am zweiten haben wir einige wichtige Dienste erhalten (Code-Repositorys, Issue-Tracker).
Ich möchte diese Maschinen zum Erstellen von zwei Knotenclustern und zum Erstellen von VMs für jeden Dienst verwenden. Ich möchte DRBD verwenden, damit Maschinen zwischen Knoten verschoben werden können.
Nach einigen Recherchen sind meine Kandidaten Proxmox und Ganeti. Welches wäre in meiner Situation besser? Ich mag die Einfachheit von Proxmox (insbesondere die Einfachheit der Installation), aber vielleicht gibt es einen triftigen Grund für die Verwendung von Ganeti?
quelle
Antworten:
Ich bin nicht mit ProxMox vertraut, aber ich bin mit Ganeti vertraut, da ich es in meinem Job verwende und mit den Hauptentwicklern zusammenarbeite.
Wenn Sie eine kleine Anzahl physischer Maschinen und VMs haben, ist es in Ordnung, die Dinge von Hand zu erledigen. Sie können sich merken, welche VM sich auf welchem physischen Computer befindet, und den richtigen Xen-Befehl auf dem richtigen Knoten ausführen. Wenn Sie nur einen physischen Computer haben, wissen Sie immer, auf welchem Computer sich Ihre VMs befinden.
Für einen neuen Benutzer ist der offensichtlichste Vorteil von Ganeti, dass es weiß, wo sich alle VMs befinden. Von einem Master aus können Sie Befehle wie "Instanz foo stoppen" ausgeben und es wird nachgeschlagen, während foo ausgeführt wird und es stoppt. Sie können einen Befehl wie "Erstellen einer VM der Größe X, wo immer freier Speicherplatz vorhanden ist" ausgeben, der diesen freien Speicherplatz findet und die VM erstellt. Wenn Sie viel Abwanderung haben (VMs erstellen und löschen), spart Ganeti Ihnen viel Zeit. Es hilft Ihnen auch bei einer Katastrophe: Wenn der gesamte Cluster die Stromversorgung verliert, startet Ganeti alle VMs neu, wenn der Cluster mit Strom versorgt wird und startet. (Ein Beispiel ist hier: Stromausfall: Ein echter Test für Ganeti )
Sie können "Vorlagen" für VM-Konfigurationen einrichten (welches Betriebssystem, welche Festplattenspeicherkonfiguration usw.). Daher sind Sie möglicherweise der einzige Personenexperte, der ausreicht, um eine Vorlage zu erstellen, aber wenn sie vorhanden sind, können andere Junior-Systemadministratoren in Ihrem Team problemlos neue erstellen Instanzen.
Das Problem bei der Handarbeit bei einer kleinen Anzahl von VMs besteht darin, dass Sie bei Erfolg so weit wachsen, dass Ganeti Sinn macht. Zu diesem Zeitpunkt haben Sie möglicherweise eine Menge Arbeit und Sie haben keine Zeit mehr, Ganeti zu installieren. Dies ist ein allgemeines Problem beim Übergang von der manuellen Ausführung zur Installation der Automatisierung: Sie haben keine Zeit, das undichte Waschbecken zu reparieren, da Sie zu beschäftigt sind, den Boden zu wischen. Um dies zu verhindern, empfehle ich, Ganeti (oder eine von Ihnen ausgewählte Automatisierung) eher früher als später zu installieren.
Ganeti ist 100% Open Source, erfordert keine Lizenzen. Es ist jedoch kein kommerzieller Support verfügbar, wenn Sie ihn benötigen. Ich bin nicht mit ProxMox vertraut, aber auf der Webseite steht, dass eine Lizenz erforderlich ist. Es gibt Teile, die Open Source sind, aber ohne Lizenz nicht verfügbar sind (von dem, was ich auf ihrer Website gelesen habe). Sie haben Support-Pläne auf ihrer Website aufgeführt.
Ganeti ist seit 2007 außerhalb von Google verfügbar. Es verfügt über mehr als 5 Jahre Erfahrung in der Entwicklung. Es ist seit geraumer Zeit stabil. Sie finden den Ganeti-Quellcode und die Support-Community unter code.google.com/p/ganeti. Ich weiß nicht, wie kürzlich ProxMox veröffentlicht wurde.
quelle
Ich benutze Xen seit 2003. Ich benutze Ganeti seit ungefähr einem Jahr und kann es nur empfehlen. Ich habe noch nie von ProxMox gehört.
Ich habe jahrelang LVM-, DRBD- und Xen-Konfigurationsdateien in mehreren Clustern mit einer Größe von 2 bis 5 Knoten manuell verwaltet - das war ein Albtraum. DRBD machte die Dinge wunderbar zuverlässig und Xen machte die Migration von VMs zwischen Knoten einfach. Wenn jedoch ein Knoten ausfiel, musste ich lange und mühsam neue LVM-Volumes erstellen, DRBD konfigurieren und die Spiegel neu erstellen und dann sicherstellen, dass Xen und Die anderen Konfigurationen wurden repliziert ... für einen 5-Knoten-Cluster kann es manchmal schmerzhaft sein, die Dinge in meinem Kopf gerade zu halten. Ich wollte immer wieder alles schreiben, aber das Leben störte mich immer wieder.
Dann kam Ganeti mit. Es wurde genau für meinen Anwendungsfall geschrieben - n-Wege-Cluster mit Xen und DRBD. Diese Stunden schmerzhafter, risikoreicher Operationen werden jetzt in einigen Fällen zu einem einzigen Ganeti-Unterbefehl zusammengefasst. Ich liebe es. Ich habe jetzt die meisten meiner VMs in einen großen Ganeti-Cluster mit 10 Knoten migriert.
Ich habe auch unsere Windows-Desktops in einen Ganeti / KVM-Cluster migriert - Linux jetzt nur auf den Desktops, und sie verwenden VNC, um zu den Windows-VMs zu gelangen. Der große Vorteil hierbei sind einfachere Snapshots und Backups sowie die Möglichkeit, jede Windows-App in eine eigene VM zu packen.
Übrigens, obwohl Sie momentan nur von einem Cluster mit zwei Knoten sprechen, bin ich mir ziemlich sicher, dass Sie, sobald Sie das Dienstprogramm sehen, Knoten hinzufügen und alles, was Sie können, in virtuelle Maschinen migrieren werden. Wenn Ihre Clustering-Plattform mehr als 2 Knoten wie Ganeti unterstützen kann, können Sie dies tun.
quelle
Ich benutze kein Ganeti, aber ich benutze Proxmox und ich weiß es sehr gut. Proxmox VE ist ein FULLY OPEN SOURCE-Projekt und der gesamte Code ist mit den Binärdateien verfügbar. Das Basissystem ist eine Debian 64-Minimaldistribution mit einem benutzerdefinierten Installationsprogramm. Sie können jedoch auch Ihr Debian-System installieren und die Proxmox-Repositorys hinzufügen. Einer der Hauptsponsoren des Projekts ist die Regierung von Autrian, wodurch sichergestellt wird, dass die Entwicklung des Produkts für lange Zeit finanziert wird. Ab Version 2.0 ist sogar der Entwicklungsprozess offen (bevor es sich um eine geschlossene Liste handelte und Sie den Zugriff auf das Unternehmen hinter proxmox anfordern mussten).
Es verfügt über eine benutzerfreundliche Oberfläche mit fast allen Funktionen von vSphere, Clusterunterstützung (basierend auf Corosync), Hochverfügbarkeit von HA für VM, automatisierte Unterstützung für Sicherung und Wiederherstellung über die Benutzeroberfläche. Es unterstützt auch die Container-Virtualisierung mit openvz, die nahtlos in dieselbe Infrastruktur und Schnittstelle von KVM integriert ist, sodass Sie die beste Virtualisierungsstrategie basierend auf Ihren Anforderungen auswählen können. Ich habe ungefähr 20 Installationen von Proxmox, vom einzelnen Host bis zum 2-Knoten-Cluster, wobei drbd zu einem 5-Knoten-Cluster im FC SAN (> 80VM) gelangt.
Für das, was ich über Ganeti sehen kann, kann ich sagen, dass es keine Konkurrenz gibt. Proxmox gewinnt mit Sicherheit.
quelle
Meine Beschwerde (möglicherweise aufgrund von Unwissenheit) über Ganeti: Ich mache gerne Dinge an der CLI, wenn nötig, aber ich glaube nicht, dass der Wunsch nach einer grafischen Benutzeroberfläche mich zu einem Weichei macht. Es scheint ein webbasiertes Ganeti-Management-Tool zu geben, aber zuletzt habe ich mir angesehen, dass es SEHR weit davon entfernt ist, Plug & and-Play zu sein (z. B. ein paar Seiten mit Befehlen, die auf dem Host eingegeben werden müssen), und bei einigen Versuchen, ein Modell zu erstellen Server, ich habe es nie richtig gebaut und installiert.
quelle