Anmerkung: Der Artikel ist nicht mehr aktuell, es hat sich einiges an dem Aufbau der Testserver geändert. Näheres folgt in Kürze! [25.10.2021]
Um verschiedene Aspekte bezüglich Virtualisierung und weiterer Themen testen zu können, stehen mir mehrere Systeme zur Verfügung.
Der Hauptserver als Virtualisierungsumgebung ist ein HPe DL360 Gen9. Im Gegensatz zu der Vorgängerversionen kommen hier DDR4-ECC RAM, SAS3-Raidcontroller und neuere CPUs des Sockels 2011-3 zum Einsatz.
Mein zweiter Server wird als Storage-Server genutzt. Es handelt sich hierbei um einen HPe DL380P Gen8. Die Hardware ist ein wenig älter als bei meinem Virtualisierungsserver, durch den Einsatzzweck ist dies kein Problem. Das Bereitstellen von Speicher erfordert weniger Ressourcen als die Virtualisierung.
Hardware
In diesem Kapitel gehe ich näher auf die Einzelnen Hardwarekomponenten meiner beiden Server ein.
Virtualisierungsserver
Den HPe DL360 Gen 9 gibt es in verschiedenen Hardwarevarianten. Ich nutze den Grundaufbau mit 8 x 2.5″-Festplatteneinschüben, die an eine SAS3/SATA3 Backplane angeschlossen sind. Zusätzlich ist ein DVD-Laufwerk anstelle von zwei 2.5″-Festplatteneinschüben verbaut.
Komponenten-Auflistung Virtualisierungsserver
Folgende Komponenten sind aktuell in dem Server verbaut
- 2 x Intel Xeon E5-2620 V3 @ 2.40GHz (6C/12T)
- 128GB DDR4 ECC-RAM
- Netzwerkadapter
- Embedded Quad NIC (4 x 1GBit/s)
- HPe 530FLR (2 x 10GBit/s SFP+)
- RAID-Controller HPe P440ar im HBA-Modus mit folgenden Festplatten:
- 2 x 600 GB SAS3-Festplatten für Daten
- 1 x 256 GB SATA3-SSD als Bootmedium für Windows Server 2019 Datacenter (in der Funktion als Hyper-V Host) am SATA-Controller des Intel Chipsatzes
- 2 x 250GB NVMe
RAID-Controller & Festplatten
Als Boot-Medium für den Server verwende ich eine M.2 Samsung 256GB SATA3-SSD. Diese ist auf einer PCIe Adapterplatine verbaut und per SATA-Kabel mit dem Mainboard verbunden. Der Hintergrund für die Wahl dieser eher ungewöhnlichen Konfiguration ist, dass ich mir die Möglichkeit offen halten möchte, den eingebauten RAID-Controller HPe P440ar entweder im RAID-Modus oder HBA (host bus adapter) nutzen zu können, ohne das Betriebssystem jedes mal neu installieren zu müssen. Das Bootmedium ist nicht wie bei einem Server üblich im RAID1 konfiguriert. Eine Absicherung gegen Ausfall des Boot-Datenträgers ist nicht zwingend notwendig, da es sich nur um einen Testserver handelt. Daher werden keine produktiven Daten gespeichert.
Ein RAID-Controller fast die angeschlossenen Festplatten zu Festplattenverbünden, sogenannten RAIDs (redundant array of independent disks) zusammen. Die dafür nötigen Berechnungen, z.B. der Parität bei einem RAID5 oder RAID6 (oder anderen RAIDs mit Paritätsberechnung) werden vom Controller übernommen und entlasten damit die CPU des Systems. Das Betriebssystem sieht nur die im RAID-Controller angelegten Volumes. Einzelne Festplatten müssen oft als RAID0 mit einer einzelnen Festplatte definiert werden, fall keine andere Möglichkeit wie z.B. Pass-Through besteht.
Ein HBA reicht die Festplatten direkt an das Betriebssystem weiter. Ein HBA unterstützt keine RAIDs und arbeitet als erweiterter Festplattencontroller, wie er auf Mainboards standardmäßig verbaut ist. Die Besonderheit ist, dass er neben SATA auch das SAS-Protokoll beherrscht. Bei in Mainboards integrierten Chipsätzen ist normalerweise nur eine SATA-Unterstützung enthalten, keine für SAS.
Ein Vorteil des HBAs ist es, auch Festplatten verwaltet werden können, die nicht in standardisierten 512Byte oder 4096Byte Blöcken formatiert sind. Als Beispiel sind DELL EMC Festplatten zu nennen, die wie zahlreiche Festplatten aus SANs mit 520Byte pro Sektor formatiert sind. Um diese umformatieren zu können, ist ein HBA oder ein RAID-Controller mit HBA-Mode erforderlich.
Konfiguration RAID-Controller HPe P440ar
Aktuell ist der HPe P440ar als HBA konfiguriert. Die sechs angeschlossenen Festplatten sind mit Hilfe der Windows Storage Spaces in drei sogenannte Pools aufgeteilt. In jedem Pool befinden sich zwei Festplatten.
NVMe
Die beiden im System verbauten M.2 PCIe 3.0 NVMes sitzen auf Adapterplatinen. Diese können bei Bedarf entweder als Cache-Laufwerk verwendetet werden, oder als eigenständiger Datenträger arbeiten.
Microsofts Lösung für SDS (software defined storage) nennt sich Storage Spaces. Durch diese Technik versucht Microsoft durch Software einen RAID-Controller nachzubilden. Dieses Software-RAID teilt sich in in drei Ebenen:
- Pools
- Virtuelle Datenträger
- Volumes
Der Pool bildet die unterste Ebene. In diesem werden verschiedene Datenträger zu einem großen Datenträger zusammengefasst. Es ist nicht zwingend erforderlich, dass der Typ (HDD, SSD, NVMe) und die Größe des Datenträgers gleich sein müssen. Es ist zudem möglich, einem Pool nachträglich Datenträger hinzuzufügen und ebenso wieder zu entfernen. Eine Besonderheit ist es, dass sich die Datenträger nicht im eigentlichen Server befinden müssen, sondern auch in einem angeschlossenen SAN oder DAS vorgehalten werden können.
Die zweite Ebene bilden die virtuellen Datenträger, die in einem Pool erstellt werden. Ein virtueller Datenträger muss nicht den gesamten Pool einnehmen, es können auch mehrere virtuelle Datenträger in einem Pool sein. Bei der Erstellung des virtuellen Datenträgers wird der RAID-Level ausgewählt. Es gibt drei verschiedene RAID-Level:
- Simple (RAID0)
- Mirror (RAID1)
- Parity (RAID5)
Zusätzlich wird festgelegt, ob der virtuelle Datenträger mit dynamischen oder fester Speicherbelegung erstellt werden soll. Wird sich für die dynamische Speicherbelegung entschieden, kann der Datenträger größer sein, als die Poolkapazität erlaubt. Der Hintergrund dabei ist, dass bei einer dynamischen Speicherbelegung, der Datenträger nur soviel Platz benötigt, wie aktuell Daten darauf liegen.
Die dritte und letzte Ebene bilden die Volumes. Für den Anwender unterscheiden diese sich nicht von Volumes auf physischen Festplatten. In diesen Volume werden letztendlich die eigentlich Daten gespeichert.
Jeder von mir angelegte Pool enthält einen virtuellen Datenträger mit fester Größe, jeder virtueller Datenträger ein Volume.
Storage-Server
Den HPe DL380 Gen 8 gibt es in verschiedenen Hardwarevarianten. Ich habe zwei Konfigurationen zur Auswahl: Zum einen eine Konfiguration mit 8 x 2.5″-Festplatteneinschüben, die an eine SAS3/SATA3 Backplane angeschlossen sind. Zusätzlich ist ein Modul verbaut, welches Informationen über den Status vorhandener Komponenten liefert.
Meine zweite Konfigurationsmöglichkeit sind 12 x 3.5″ LFF Festplatteneinschübe.
Folgende Komponenten sind aktuell in dem Server verbaut
- 2 x Intel Xeon E5-2620 V2 @ 2.30GHz (6C/12T)
- 32GB DDR3 ECC-RAM
- Netzwerkadapter
- HPe 530FLR (2 x 10GBit/s SFP+)
- RAID-Controller HPe P420i mit folgenden Festplatten:
- 4 x 600 GB SAS3-Festplatten im RAID 10 (Boot & Daten)
- Frontkonfiguration: 8 x 2.5″ SFF-Festplatteneinschübe mit Hardwareübersichtsmodul
RAID-Controller & Festplatten
Aktuell befinden sich vier Festplatten in einem RAID10 an dem integrierten RAID-Controller HPe P420i. Dieses wird zum Booten des Servers und für das Bereitstellen von virtuellen Festplatten für die Einbindung an den Virtualisierungsserver genutzt.
Spare-Parts
Nicht alle mir zur Verfügung stehenden Komponenten sind in einem der beiden Server verbaut. Einige stehen als Spare-Part zur Verfügung.
- Datenträger:
- 2 x 600GB SAS3-Festplatte
- 1 x 600GB SAS2-Festplatte
- 3 x 300GB SAS2-Festplatte
- Netzwerkadapter:
- 2 x HP 82Q (2 x 8GBit/s Fibre Channel HBA [Host bus adapter])
- RAM:
- 1 x 16GB DDR3R-ECC RAM
- 1 x 8GB DDR3R-ECC RAM
Software
Auf beiden Servern ist als Grundbetriebssystem Windows Server 2019 installiert. In ihrer detaillierten Konfiguration unterscheiden sich die beiden Installationen.
Virtualisierungsserver
Auf dem Virtualiserungsserver ist Windows Server 2019 in der Version Datacenter (Desktopdarstellung) installiert. Als zusätzliche Funktionen sind nur die Hyper-V Rolle und Serversicherung installiert, andere Dienste werden nicht ausgeführt.
Eine (kostenlose) Alternative wäre der von mir bereits angesprochene Microsoft Hyper-V Server 2019. Der Vorteil einer Datacenter Edition ist es, dass darauf laufende virtuelle Maschinen mit Server 2012R2/2016/2019 Standard/Datacenter bereits in der Lizenz des Hosts mit lizensiert sind. Lediglich die Eingabe eines speziellen Keys, AVMA genannt, ist dafür erforderlich. Das Vorgehen und die passenden Keys sind hier zu finden. Die Einschränkung dabei ist, dass die Kernanzahl aller gleichzeitig aktivierten Maschinen nicht die Kernanzahl in der Lizenz des Hosts überschreiten.
Für weitere Dienste neben Hyper-V, Storage Spaces und der Windows Server Sicherung, die auf dem Host aktiv sind, laufen bei Bedarf virtuelle Maschinen.
Für das Testen verschiedener Betriebssysteme oder Hypervisoren auf dem nativen Server, kann die verbaute SATA-Festplatte mit wenig Aufwand getauscht werden.
Storage-Server
Auf dem Storage-Server läuft Windows Server 2019 Standard (Core-Installation). Eine graphische Benutzeroberfläche gibt es hier nicht. Die Verwaltung des Servers erfolgt Remote über den Windows Server Manager und das Windows Admin Center. Als einzige Rolle ist aktuell der iSCSI-Zielserver installiert. Über diesen stellt der Server dem Virtualisierungsserver per iSCSI zusätzlichen Speicher bereit.