Wir verschieben unsere Virtualisierungsplattform von Citrix XenServer auf Hyper-V unter Windows Server 2008 R2. Im Rahmen dieses Projekts muss ich in der einen oder anderen Form einige Debian Linux-Server auf Hyper-V migrieren. Ich habe erfolgreich einen Debian-basierten Server auf unserer neuen Hyper-V-Plattform erstellt und beginne, ihn zu testen.
Debian 6 (Squeeze) verwendet den 2.6.32-Kernel, der die synthetischen Hyper-V-Treiber enthält, wird jedoch von Microsoft nicht als unterstütztes Betriebssystem für Gastbetriebe angesehen. Ich zögere ein wenig, sie zu verwenden, es sei denn, es gibt einen zwingenden Grund dafür, da andere Leute Probleme hatten ( hier und hier ).
- Welche Vorteile bieten die synthetischen Hyper-V-Treiber gegenüber den emulierten Treibern?
- Ist die Verwendung der synthetischen Treiber für diejenigen unter Ihnen, die Erfahrung mit dem Xen-Hypervisor haben, analog zur Paravirtualisierung eines Gastbetriebssystems?
- Gibt es dann bemerkenswerte Gefahren oder Nachteile, wenn die synthetischen Treiber NICHT verwendet werden?
Warum sollte ich mich entweder die Mühe machen, a) die gemeldete Instabilität der Hyper-V-Treiber zu beheben, die sich derzeit im Kernel befinden, b) zu versuchen, einen neueren Kernel zu erstellen, oder c) zu versuchen, die Virtual Machine Additions mit einer Distribution zum Laufen zu bringen, die sie nicht waren? Nicht für den Fall konzipiert, dass alles "nur funktioniert"?
BEARBEITEN: Um ein wenig zu den Antworten hinzuzufügen ... Die Zeitverschiebung scheint ein bedeutendes Problem zu sein (wie in so schlecht, dass NTP die Uhr nicht rechtzeitig halten kann), es sei denn, Sie verwenden Linux Integration Services. Siehe KB918461 . Anscheinend wird dies durch die Verwendung der in den Linux Integration Services enthaltenen vmbus-Komponenten behoben. Meine Tests machen dies zu einem Problem.
quelle
Wenn Ihr Hypervisor Hardware emuliert, gibt es viele Register, Zeitprobleme und andere Dinge, die der Treiber des Clients erwarten wird, wenn er beispielsweise Pakete in den Puffer der Netzwerkkarte oder Daten in einen Block auf einem Festplattenlaufwerk legt .
Wenn Sie den synthetischen Treiber verwenden, überspringen Sie die gesamte "Geige mit diesem Register (das sowieso vom Hypervisor emuliert wird)" und gehen direkt zur Phase "Hier sind die Daten - machen Sie das Richtige damit".
Der gesamte Prozess ist also weitaus effizienter.
quelle
Ich habe keine vollständige Antwort für Sie, aber einige Erfahrungen, die die Diskussion abrunden könnten. Wir haben zunächst die emulierten Treiber auf unseren Red Hat-Computern verwendet, aber der Linux-Administrator hat sich darüber beschwert, dass die Netzwerkleistung miserabel ist. Schließlich haben wir die synthetischen Treiber über die Virtual Machine Additions zum Laufen gebracht, und das hat einen großen Unterschied gemacht (ich habe keine Beweise oder Details, also nimm das mit einem Körnchen Salz).
Separat stellen wir manchmal VMs über das Netzwerk ab, und wenn wir dies tun, müssen wir die emulierte Netzwerkkarte auf einer Windows-Box verwenden, da die synthetische Netzwerkkarte das PXE-Booten nicht unterstützt. Sobald die Bildgebung abgeschlossen ist, ersetzen wir die emulierte Netzwerkkarte durch eine synthetische. Auch hier spreche ich von Windows (nicht von Linux), aber es ist ein weiterer Unterschied.
Nach meinem Verständnis emulieren die emulierten Geräte im Allgemeinen ältere, etabliertere oder allgemeinere Geräte, für die so ziemlich jedes Betriebssystem oder jede Distribution eine integrierte Unterstützung bietet. In dieser Hinsicht sind sie universeller. Die synthetischen Geräte emulieren keine anderen Geräte, die Ihr Betriebssystem oder Ihre Distribution erkennen würde. Daher benötigen Sie von Microsoft bereitgestellte Treiber, die Sie durch die Installation der VM-Ergänzungen erhalten.
quelle