Es gibt ein paar Fragen, die ich bei ServerFault gefunden habe und die auf dieses Thema hinweisen, und obwohl es ein bisschen meinungsbasiert sein mag, denke ich, dass es in diese "gute subjektive" Kategorie fallen kann, basierend auf dem Folgenden:
Konstruktive subjektive Fragen:
* tend to have long, not short, answers
* have a constructive, fair, and impartial tone
* invite sharing experiences over opinions
* insist that opinion be backed up with facts and references
* are more than just mindless social fun
Also das aus dem Weg.
Ich helfe einem anderen Systemadministrator, der einen älteren physischen Server unter Windows 2003 ersetzt, und möchte dabei nicht nur die Hardware ersetzen, sondern auch auf 2012 R2 "upgraden".
In unseren Diskussionen über seine Ersatzhardware haben wir die Möglichkeit erörtert, dass er ESXi installiert und dann den "Server" 2012 zu einer VM macht und die alten Apps / Dateien / Rollen vom 2003-Server auf die VM anstatt auf eine Nicht-VM-Installation migriert auf der neuen Hardware.
Er sieht in den nächsten Jahren keine Notwendigkeit, irgendetwas anderes auf eine VM zu verschieben oder zusätzliche VMs zu erstellen. Letztendlich handelt es sich also entweder um neue Hardware, auf der eine normale Installation ausgeführt wird, oder um neue Hardware, auf der eine einzelne VM unter ESXi ausgeführt wird.
Meine eigene Erfahrung würde sich immer noch auf eine VM stützen. Es gibt keinen wirklich zwingenden Grund, dies zu tun, außer den Möglichkeiten, die sich möglicherweise ergeben, um zusätzliche VMs zu erstellen. Aber es gibt jetzt den zusätzlichen Overhead- und Verwaltungsaspekt des Hypervisors, obwohl ich mit einer VM bessere Verwaltungsfunktionen und Berichterstellungsfunktionen erlebt habe.
Unter der Prämisse, dass dies in der Kategorie "gut subjektiv" bleiben kann, um anderen in Zukunft zu helfen, welche Erfahrungen / Fakten / Referenzen / konstruktiven Antworten müssen Sie unterstützen, um ein Ergebnis zu erzielen (Virtualisierung oder nicht ein einzelner "Server")? ?
quelle
Ich denke, dass das zu virtualisierende Betriebssystem ein wichtiger Faktor ist, zusammen mit den Leistungsanforderungen und dem Potenzial für Expansion / Wachstum. Die heutigen Server sind für die von uns verwendeten Anwendungen und Betriebssysteme oftmals übermäßig leistungsfähig. Nach meiner Erfahrung können die meisten Standard-Windows-Systeme die Ressourcen eines modernen Dual-Socket-Servers nicht effizient nutzen . Unter Linux habe ich einige der granularen Ressourcenverwaltungstools ( cgroups ) und Container ( LXC ) genutzt, um physische Systeme besser zu nutzen. Der Markt ist jedoch definitiv auf virtualisierungsoptimierte Hardware ausgerichtet.
Trotzdem habe ich in einigen Situationen eher einzelne Systeme virtualisiert als Bare-Metal-Installationen. Häufige Gründe sind:
Lizenzierung - Die abnehmende Anzahl von Anwendungen, die Lizenzen basierend auf starren Core-, Socket- oder Speicherbeschränkungen ( unabhängig von den Trends im modernen Computing ) vergeben. Siehe: Deaktivieren von CPU-Kernen im BIOS?
Portabilität - Durch die Virtualisierung eines Servers wird die VM von der Hardware getrennt. Dadurch werden Plattformänderungen weniger störend und die VM kann auf standardmäßige virtualisierte Geräte / Komponenten verweisen. Mit diesem Ansatz konnte ich heruntergekommene ( aber kritische ) Windows 2000-Systeme auf lebenserhaltendem Niveau halten .
Zukünftige Erweiterung - Ich habe jetzt einen Client, auf dem ein Windows 2003-Domänencontroller auf Hardware aus dem Jahr 2001 ausgeführt wird. Ich baue für sie ein neues Single-Host-ESXi-System auf, das in der Zwischenzeit einen neuen R2-Domänencontroller beherbergen wird. Weitere VMs werden folgen. In dieser Konfiguration kann ich eine zuverlässige Ressourcenerweiterung ohne zusätzliche Hardwarekosten anbieten.
Der Nachteil dabei mit einem einzelnen Host / einer einzelnen VM ist die Verwaltung. Ich komme aus der VMware-Perspektive, aber in der Vergangenheit war ESXi ein bisschen freundlicher mit diesem Arrangement. Die Anforderungen des vSphere Web Client und der eingeschränkte Zugriff auf grundlegende Funktionen machen die Ausführung einer Einzelhost- ( und Einzel-VM- ) Lösung heutzutage weniger attraktiv.
Weitere Überlegungen betreffen die verkrüppelte Hardwareüberwachung und die zunehmende Komplexität der gängigen externen Peripheriegeräte (USB-Geräte / Bandlaufwerk / Backups / USV-Lösungen ). Die heutigen Hypervisoren möchten unbedingt Teil einer größeren Management-Suite sein.
quelle
Die Virtualisierung eines einzelnen Servers bietet einige Vorteile. Die ersten Dinge, die mir einfallen, sind:
Ich denke, das wichtigste davon wären die Schnappschuss-Fähigkeiten. Wir verwenden VMWare überall in unserem Unternehmen. Daher ist es für uns sinnvoll, den Server "bereit" zu haben, wenn mehr VMs benötigt werden.
quelle
Dies ist keine lange Antwort, aber trotzdem:
Der überzeugendste Grund für die Verwendung eines Hypervisors für einen einzelnen Server, insbesondere bei Windows Server, ist, dass Sie über eine vollständige Hardwareabstraktion für das Produktionsbetriebssystem verfügen und es bei Bedarf problemlos auf eine vollständig neue Serverhardware verschieben können. Ich halte dies für ein wirklich wertvolles Feature, das die Nachteile eines praktisch unnötigen Hypervisors, der im Hintergrund ausgeführt wird, bei weitem überwiegt.
quelle
Ich werde hier keine so ausführliche Antwort geben wie andere, daher sage ich nur, dass es heutzutage immer schwieriger ist, das Server - Betriebssystem auf Bare Metal zu installieren, als einen Hypervisor (von Ihnen) zu installieren Auswahl) und Virtualisierung der Workloads. Die Vorteile dabei sind meines Erachtens:
Kosten-Nutzen. Wenn ich auf lange Sicht zusätzliche Workloads bereitstellen muss, muss ich nicht mehr Hardware für diese zusätzlichen Workloads bereitstellen. In einigen Fällen kann ich bei der Verwendung von Hyper-V sogar Lizenzkosten sparen.
Einfache Bereitstellung und Neuverteilung.
Einfache Implementierung von Hochverfügbarkeit und Failover.
Portabilität. Ich kann die VM wahrscheinlich fast überall hin verschieben, wenn ich den aktuellen Host außer Betrieb nehmen oder auslagern muss.
Zukunftssicherheit. Ihr Mit-Systemadministrator sieht derzeit möglicherweise keinen zukünftigen Bedarf für eine Hypervisor-basierte Infrastruktur, aber ich gehe davon aus, dass er innerhalb von 12 bis 24 Monaten die Virtualisierungsroute wählen wird .
Katastrophale Erholung. Ich kann eine gesamte VM sichern und in wenigen Minuten wiederherstellen oder auf einen anderen Host replizieren.
Und so weiter und so fort ...
quelle
Hier sind ein paar Gründe, warum ich sagen würde, dass eine VM besser ist:
Integriertes "KVM over IP" - Sie können über die Konsole remote auf Ihren Server zugreifen, ohne ein KVM over IP zu benötigen. Manchmal möchten Sie einfach nichts über RDP tun und benötigen Konsolenzugriff. Mit einer VM starten Sie das Verwaltungstool Ihrer Wahl (XenCenter, vSphere-Client usw.) und befinden sich auf der Konsole Ihrer VM.
Bei VMs (und bei Nicht-VM-Servern mit KVM over IP) muss ich mich nicht mehr stundenlang in meinem kalten Serverraum aufhalten.
Migration auf neue Hardware - Betriebssystem-Upgrade beiseite, um Ihre neue Hardware einzubauen, müssen Sie das System migrieren, Dinge verschieben usw. Bei einer VM müssen Sie (normalerweise) nichts tun. Sie aktualisieren Ihre Hardware, platzieren die VM-Dateien auf der neuen Hardware und starten.
Man sieht zwar keine zukünftige VM voraus, " wenn Sie sie erstellen, werden sie kommen ". Sie möchten eine neue VM starten, um etwas zu testen und neue Dinge auszuprobieren. Es gibt einfach so viel mehr Möglichkeiten.
Mit VMs können Sie mit Snapshots zurücksetzen, eine Kopie davon erstellen, einen Klon der VM erstellen (zur Laufzeit) und diese dann hochfahren - ob Sie etwas testen möchten, bevor Sie sie in Betrieb nehmen, oder nur eine Sekunde davon haben möchten zuerst. Es gibt viele Dinge, die Sie mit VM-Snapshots und dergleichen tun können.
Redundanz - Wenn Sie einen zweiten VM-Server einsetzen, können Sie über redundante Hardware verfügen. Ich kenne zwar die aktuellen VMWare-Lizenzierungsschemata nicht, XenServer enthält XenMotion jedoch anscheinend als Teil des kostenlosen Pakets, sodass die zusätzlichen Kosten möglicherweise nicht anfallen.
Die Gründe, warum ich keine VM verwenden würde:
Gemeinkosten - kaum, aber es gibt offensichtlich einige Gemeinkosten.
Komplexer in der Handhabung - etwas komplexer, aber leicht zu erlernen. Wenn Sie sich nicht für eine sehr große virtualisierte Umgebung entscheiden, ist das Training trivial.
quelle
Ich komme zu spät und habe das Gefühl, dass die Leute bereits einige der Punkte angesprochen haben, die ich gerne gemacht hätte, aber ich fasse kurz zusammen:
Die Sache, die noch niemand erwähnt hat und die wahrscheinlich erwähnt werden sollte: Wenn Sie in einem Geschäft sind, in dem Leute möglicherweise einen Testserver benötigen, und diese Notwendigkeit wahrscheinlich lösen, indem Sie sich einen Ersatzdesktop schnappen und auf ein Server-Betriebssystem klicken Wenn Sie ihnen eine VM anbieten können, wird dies wahrscheinlich viel besser zu Ihren und ihren Bedürfnissen passen. Die Virtualisierung des neuen Servers kann der "Grund" für eine zukünftige virtuelle Erweiterung sein. (Und ehrlich gesagt, wenn Sie nicht in einem solchen Geschäft sind, haben Sie wahrscheinlich bereits Virtualisierung.)
Natürlich virtualisiert nicht alles. Ich bewertete die physische Hardware für die Management-Software, die PXE enthielt, indem ich ihnen beschrieb, was sie tun mussten, um das TCP-Segment-Offloading zu deaktivieren ( PXE lief wie ein einbeiniger Hund mit eingeschaltetem TSO , aber sie hätten es deaktivieren müssen für das gesamte virtuelle VLAN, und sie waren nicht geneigt, dies zu tun). Also, wenn der neue Server etwas ist, das so spezialisiert ist, dass es ungeeignet ist, ist das egal.
Wenn ich diese Spezialisierung nicht berücksichtige, wäre es mir wert, ein paar (möglicherweise nicht verwaltete) Computer der PC-Klasse loszuwerden, auf denen Server-Betriebssysteme ausgeführt werden, die jetzt oder in Zukunft herumliegen.
quelle
Ich virtualisiere, wann immer ich kann. Auf diese Weise kann ich mich darauf vorbereiten, in Zukunft Folgendes zu tun:
Kurz gesagt, wenn auf dem Server keine bestimmte Software mit Einschränkungen ausgeführt wird, die eine Virtualisierung verhindert (normalerweise sind strenge Netzwerk- oder Festplatten-E / A-Latenzzeiten erforderlich und mit der richtigen Hardware lassen sich auch diese mit Virtualisierung erzielen), versuche ich, die Dinge beizubehalten so virtuell wie möglich.
quelle
Ein Grund, warum ich mir vorstellen kann, einen einzelnen Server in eine VM auf einem einzelnen Host zu virtualisieren, ist die Möglichkeit, mit einer Testumgebung für diesen "Server" herumzuspielen.
Wenn die Hardware mehr als leistungsfähig ist, können Sie die Server-VM klonen und ihre NIC- / Netzwerkfähigkeiten entfernen und diesen Klon als "Testplattform" isolieren, um sich damit zu beschäftigen, bevor Sie ihn auf dem "Produktions" -Server ausprobieren. Ein Beispiel wäre, wenn auf dem Server eine ERP-Software ausgeführt wird und Sie testen möchten, was passieren würde, wenn Sie ein bestimmtes Skript für die ERP-Software / -Datenbank ausführen. Sie können dies zunächst als Test auf der geklonten VM durchführen. Dies könnte dann in Verbindung mit einem Snapshot der Live-VM vor deren Bereitstellung erfolgen, mit dem zusätzlichen Vorteil, dass Sie wissen, dass diese ordnungsgemäß funktionieren sollte.
Das Erstellen derselben geklonten "Test" -Umgebung könnte mit einem P2V-Server eines vorhandenen physischen Servers erfolgen. Sie benötigen jedoch einen zusätzlichen physischen Host, um Ihre neue Test-VM zu installieren Hardware (was heutzutage für eine einzelne VM fast immer zu viel ist)
quelle
Wenn Ihr Anwendungsfall nicht 100% der Leistung von dedizierter Hardware erfordert, werde ich jedes Mal virtuell. Es bietet Flexibilität, Snapshot-Funktion und integrierten Konsolenzugriff (auch wenn Sie auch die Out-of-Band-Verwaltung verwenden sollten).
quelle
Ein einzelner Punkt, der die Hauptfrage eher tangiert:
Ich hatte kürzlich eine VM, deren Festplatte nicht groß genug war. Es wurde etwas ausgeführt, das große Datenmengen in einer relationalen Datenbank generierte, die sich aus Leistungsgründen auf demselben Computer befinden musste.
Nachdem ich das Image zweimal erweitert hatte, war nicht mehr genügend Speicherplatz auf dem Host verfügbar, um das Image sicher zu kopieren und erneut zu erweitern. Ich hätte mir ein paar Tage Arbeit gespart, um dies von Anfang an auf einer dedizierten Maschine zu erledigen, selbst wenn es sich um einen billigen PC und keinen Hochleistungsserver handelte.
Mit einem dedizierten Computer können Sie ihn einfach herunterfahren und weitere Festplatten hinzufügen. Wenn es sich um einen Server handelt, auf dem andere VMs ausgeführt werden, es sei denn, Sie haben Ersatz-Hot-Swap-Einschübe, kann dies zu Problemen beim Herunterfahren führen.
quelle
With a dedicated machine you can just shut it down, and add more disks. If it's a server running other VM's, unless you have spare hot-swap bays, you might have a problem shutting it down for this.
- huh? Wenn Sie keine Ersatzschächte auf einem dedizierten Computer haben, werden Sie auch keine weiteren Festplatten hinzufügen. Das ist einfach entsprechend auf Ihre Festplattengrößen im Voraus zu planen.