Tags: vSphere, Storage, Performance
ESXi bietet bei der virtuellen Hardware mehrere Disk-Controller zur Auswahl an, und zwar abhängig von der Version des Hypervisors und des Gastsystems. Bei Windows ab 8.1 und Server 2012 sowie bei Linux-Distributionen mit 4er-Kernel reduziert sich die Wahl auf LSI-Logic SAS und VMware Paravirtual (PVSCSI).
VMware vSphere arbeitet bekanntlich nach dem Prinzip der Vollvirtualisierung, bei der ESXi für alle VMs die gleiche virtuelle Hardware bereitstellt. Je nach Gast-OS bietet vSphere immer nur solche Adapter an, die vom Betriebssystem in der VM unterstützt werden.
Die Adapter aus der realen Welt werden dabei von der Virtualisierungsschicht emuliert. Ausgenommen sind die rein synthetischen paravirtualisierten Typen, deren Treiber aber das Gastsystem dann mitbringen muss.
Insgesamt unterstützt ESXi im Gastsystem die Controller BusLogic Parallel, LSI Logic Parallel, LSI Logic SAS und VMware Paravirtual bei den SCSI-Controllern sowie AHCI-, SATA- und NVMe-Controller.
Standard-Controller je nach OS
Beim Erstellen einer VM ist der standardmäßig angebotene Controller immer für maximale Leistung ausgelegt. Der Typ richtet sich nach dem Gastbetriebssystem, dem Gerätetyp und in einigen Fällen nach der Kompatibilität der virtuellen Maschine.
Erstellt der Nutzer beispielsweise eine VM für Apple Mac OS X und einer Kompatibilität mit ESXi 5.5 (vHardware 10) oder höher, dann ist SATA der vorgegebene Controller-Typ für die Festplatte und das CD/DVD-Laufwerk.
Erstellt man hingegen eine VM mit Windows Vista oder jünger, dann ist ein SCSI-Controller der Standard für die Festplatte, aber ein SATA-Controller für das CD/DVD-Laufwerk.
Voraussetzungen für einzelne Controller-Typen
LSI Logic SAS und VMware Paravirtual SCSI sind nur für virtuelle Maschinen ab vHardware 7 verfügbar, AHCI SATA setzt die Kompatibilität mit ESXi 5.5 oder höher voraus. Außerdem können VMs mit VMware PVSCSI-Controller nicht Teil eines Microsoft-Guest-Clusters sein.
NVMe hingegen erfordert virtuelle Maschinen, die mit ESXi 6.5 (vHardware Version 13) und höher kompatibel sind. BusLogic Parallel-Controller unterstützen keine VMs, bei denen die virtuellen Disks größer als 2 TB sind.
Probleme und Einschränkungen
Wird der Controller-Typ nach der Installation des Gastbetriebssystems geändert, ist der Zugriff auf die Festplatte und andere Geräte, die mit dem Adapter verbunden sind, nicht mehr möglich.
Bevor man also den Controller-Typ ändert oder einen neuen Controller hinzufügt, muss man sicherstellen, dass die erforderlichen Treiber auf den Installationsmedien des Gast-OS enthalten sind. Bei Windows muss der Treiber als Starttreiber installiert und konfiguriert werden.
Ferner kann das Hinzufügen unterschiedlicher Controller-Typen bei VMs, welche die BIOS-Firmware verwenden, Startprobleme des Gastsystems verursachen. Dann muss man im BIOS-Setup erst das richtige Startgerät auswählen.
Auf etwaige Kompatibilitätsprobleme beim Mischen mehrerer Adapter-Typen in einer VM weist aber auch das vSphere-Handbuch für virtuelle Maschinen hin, wie die folgende Tabelle zeigt.
VMs mit einer aktuellen Linux- oder Windows-Version sollten für den Anschluss virtueller Festplatten einen SCSI-Controller verwenden. Dabei stehen BusLogic-/LSI Logic - Parallel, LSI Logic SAS und VMware Paravirtual zur Auswahl.
Der BusLogic-Treiber war einer der ersten emulierten vSCSI-Controller für VMware. Er war zudem in allen älteren Windows-Versionen standardmäßig verfügbar, was die Installation des Microsoft-OS in einer vSphere-VM vereinfachte. Allerdings ist er weniger leistungsfähig als der LSI Logic-Treiber, weil er auf eine Warteschlangentiefe von 1 beschränkt ist.
Der LSI Logic Parallel-Treiber (früher nur als LSI Logic bekannt) hingegen unterstützt bei den meisten Gastbetriebssystemen eine Warteschlangentiefe von 32. Deshalb wurde er auch früher schon häufig bevorzugt, auch als noch nicht jedes Gastsystem diesen Treiber mitbrachte.
Der LSI Logic SAS ist eine Weiterentwicklung des parallelen Treibers und gewann enorm an Bedeutung, weil er für die Microsoft Cluster Services ab Windows 2008 benötigt wird und daher heute nahezu bei allen aktuellen Gastsystemen an Bord ist.
VMware Paravirtual (PVSCSI) wurde entwickelt, um einen sehr hohen Durchsatz bei minimalen Verarbeitungskosten zu ermöglichen. Er ist daher bis heute der effizienteste Treiber. Die Performance-Entscheidung reduziert sich also auf LSI Logic SAS versus VMware Paravirtual.
Viele Nutzer neigen daher unreflektiert zur Verwendung von VMware Paravirtual. Allerdings schreibt VMware in seinem Handbuch:
Festplatten auf VMware Paravirtual SCSI-Controllern weisen möglicherweise keine optimalen Leistungssteigerungen auf, wenn sie über Snapshots verfügen oder wenn der Arbeitsspeicher des Hosts mehrfach vergeben wird.
Performance-Vergleich
Theoretisch sind PVSCSI und LSI Logic Parallel / SAS hinsichtlich der Gesamtleistungsfähigkeit gleichwertig. Allerdings ist PVSCSI effizienter in Bezug auf die Anzahl der Host-Rechenzyklen, die erforderlich sind, um die gleiche Anzahl von IOPS zu verarbeiten.
VMware erläutert sowohl im Knowledge-Base-Artikel KB1017652 als auch in einem detaillierten Whitepaper, wie bei PVSCSI und LSI Logic SAS IOPS, Latenz und Kosten genauer zusammenhängen.
Nutzer sollten daher den PVCSI-Treiber vor allem bei sehr speicherintensiven VMs verwenden. Die meisten modernen Betriebssysteme, die hohe I/O-Werte steuern können, unterstützen den PVSCSI-Treiber von VMware.
Konkret hat VMware in Umgebungen mit enorm hohem Datenaufkommen (die Testumgebung arbeitete mit 350000 IOPS) einen Leistungszuwachs von 12 Prozent gemessen bei einer um 18 Prozent geringeren Prozessorlast.
Übrigens ist PVSCSI nicht nur für neue virtuelle Maschinen gedacht. Man kann etwa bei einem virtualisierten SQL-Server durchaus vom Geschwindigkeitszuwachs durch PVSCSI profitieren. Um PVSCSI auf einer vorhandenen VM zu konfigurieren, müssen dort die VMware Tools installiert sein.
Sofern die VM keinen riesigen Datendurchsatz für das Boot-Volume benötigt, empfiehlt VMware, den alten Adapter bei der Virtualisierung des SQL-Servers weiterhin zu verwenden und PVSCSI nur als sekundären Adapter für die Daten-Disk(s) zu benutzen.
Fazit
Auch wenn PVSCSI leistungsfähiger ist, zahlt sich der Mehraufwand zur Bereitstellung und Pflege des Treibers nur bei VMs mit Millionen IOPS aus. Bei virtuellen Maschinen mit niedrigem Datenaufkommen empfiehlt VMware, beim erprobten LSI Logic SCSI Adaptern zu bleiben.
VMware sagt im oben genannten KB-Eintrag selbst:
Die Testresultate zeigen, dass der PVSCSI besser als der LSI Logic Adapter ist, außer unter einer Bedingung: die virtuelle Maschine führt weniger als 2000 IOPS (Input/Output operations per second = Ein-/Ausgabe Operationen Pro Sekunde) aus.
Abseits der Performance-Betrachtung gibt es aber andere Nachteile von PVSCSI, etwa wenn eine virtuelle Maschine für Fault Tolerance konfiguriert ist. Auch für den virtualisierten Betrieb des Microsoft Cluster Service (MSCS) muss man, wie oben erwähnt, LSI Logic SAS verwenden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Drilling arbeitet ist seit fast 30 Jahren selbständig in der IT-Welt sowohl als Consultant, als auch als Redakteur, Buchautor und Journalist für viele ehemalige und aktuelle IT-Magazine sowie Blogs.
Aktuell bestätigt sich Thomas schwerpunktmäßig als IT-Trainer für Cloud-Computing in den Bereichen Microsoft Azure, Amazon Web Services und VMware.
Thomas ist zertifizierter Microsoft-Trainer für nahe das gesamte Portfolio an Microsoft Azure Trainings. Thomas ist außerdem zertifizierter Microsoft Azure Solutions Architect Expert sowie VMware Certified Professional und wurde von VMware in den Jahren 2016 bis 2022 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas führt aktuell jeden Monat zwei selbstkonziperte 4-tägigen Grundlagenkurse in Cloud Computing mit Azure durch, die sich inhaltlich bewusst von den Microsft-Kursen abheben und vorzuweise als Bootcamp in eine besonderen Lokation stattfinden. Optional kann aber aber auch remote via Microsoft Teams teilgenommen werden.
Das aktuelle Trainingsprogramm findet sich unter Azure-Trainings. Weitere Informationen und Anmeldung über sein Azure-Blog.
Verwandte Beiträge
- Leistung von vSphere-Speicher überprüfen mit VMware Storage Performance Tester
- Performance von VMware vSAN testen mit Hyper-Converged Infrastructure Benchmark (HCIBench)
- Leistung von VMware vSAN mit dem kostenlosen Performance Monitor auswerten
- Integrität und Leistung von VMware vSAN mit vRealize Operations Manager prüfen
- Performance und Health von VMware vSAN mit Bordmitteln überwachen
Weitere Links
1 Kommentar
Bin heute auf der Suche nach Entscheidungshilfen, ob LSI Logical SAS oder PVSCSI für einen neu zu erstellenden SQL-Server infrage kommt, auf Deinen sehr ausführlichen und gut recherchierten Artikel gestoßen.
Nach der Lektüre desselbigen fiel mir die Entscheidung vergleichsweise leicht.
Vielen Dank für Deine Arbeit.