
Ich denke darüber nach, ein System zur Virtualisierung von Windows Server 2016 und CentOS 6 mit Virtualbox auf Solaris (für den Heimgebrauch) zu erstellen, um die Zuverlässigkeit von ZFS zu nutzen.
Ich hatte vor, mir ein DP WS/Server-Board mit 1 TB RAM und einem Stapel WD Red-Laufwerke zuzulegen.
Ich möchte außerdem Windows-VMs Zugriff auf GPU-Ressourcen gewähren. Ist das in dieser Situation möglich?
Ist es möglich, eine Windows-/Linux-VM zu hosten, die ein ZFS-Zpool oder Vdev verwendet, anstatt für den Dateisystemzugriff direkt auf die Hardware zuzugreifen?
Ich brauche wirklich nur die Betriebssysteme Windows und Linux, habe aber nur wegen der Vorteile von ZFS und seiner Kompatibilität mit Virtualbox über einen Solaris-Host nachgedacht.
Gibt es eine bessere Möglichkeit, dies zu tun, oder habe ich die beste Option gewählt?
Unabhängig davon, ob dies die beste Methode ist oder ob es einen besseren Weg gibt: Welche Fallstricke sind mit der von Ihnen vorgeschlagenen Methode verbunden?
Ich habe ein begrenztes Budget und würde mein Geld lieber für Hardware als für Software ausgeben, wenn es eine kostenlose Softwareoption gibt, die funktioniert.
Meine andere Option war, einen Hardware-SAS-Adapter mit RAID 6 hinzuzufügen und Windows Server 2016 als Host für Virtualbox und Linux und alle anderen VMs zu verwenden, aber NTFS ist nicht so zuverlässig wie ZFS …
BEARBEITEN
Meine Ziele sind:
Besitzen Sie eine physische Maschine.
Minimieren Sie das Risiko eines Datenverlusts aufgrund von Festplattenfehlern und anderen Dateisystemproblemen.
Führen Sie ein Windows 2016-Server-Betriebssystem und einige Anwendungen wie Exchange und SQL Server aus. Hierfür ist eine GPU erforderlich.
Führen Sie ein modifiziertes CentOS-System (FreePBX) aus.
Führen Sie einige andere virtuelle Maschinen aus, vorzugsweise auch mit GPU-Unterstützung.
Ergänzen und ggf. ersetzen Sie eine Synology RS812+-Box.
Ausgaben für Software minimieren, um mehr/bessere Hardware für mein Budget zu ermöglichen.
Ich befinde mich in der Planungsphase und kann daher zu diesem Zeitpunkt alles berücksichtigen.
Mein Gedanke bei einem Solaris-Host war, dass das gesamte Dateisystem ZFS wäre und damit besser vor Fehlern geschützt wäre, als es die VM-Gäste sonst zulassen würden – es sei denn, ich habe irgendwo etwas falsch verstanden. Die Alternativen würden anscheinend dazu führen, dass zumindest ein Teil des Dateisystems Nicht-ZFS wäre, was eine geringere Zuverlässigkeit mit sich bringt.
Antwort1
Ich möchte außerdem Windows-VMs Zugriff auf GPU-Ressourcen gewähren. Ist das in dieser Situation möglich?
Für den direkten Passthrough einer PCIe-Grafikkarte benötigen Sie:
- zwei PCIe-Grafikkarten (eine, wenn bestimmte Tricks angewendet werden, wie das Verschieben der Karte per Skript vom Hypervisor-System zum Gastsystem beim Booten)
- ein Mainboard, das Intel VT-d oder AMD Vi (früher IOMMU) unterstützt
- Hypervisor-Software, die dies unterstützt
Leider scheint Virtualboxunterstützt es derzeit nicht. Wenn dies eine zwingende Anforderung ist, müssen Sie möglicherweise KVM unter Linux oder illumos, VMware ESXi oder Microsoft Hyper-V verwenden. Alle unterstützen dies (obwohl unterschiedliche Konfigurationsarbeiten erforderlich sind).
Ist es möglich, eine Windows-/Linux-VM zu hosten, die ein ZFS-Zpool oder Vdev verwendet, anstatt für den Dateisystemzugriff direkt auf die Hardware zuzugreifen?
Ja, das ist möglich. Hier sind dierelevante Befehle, entnommen aus Johannes Schlüters Blogbeitrag:
# zfs create -V 10G tank/some_name
# chown your_user /dev/zvol/rdsk/tank/some_name
# VBoxManage internalcommands createrawvmdk \
-filename /home/your_user/VBoxdisks/some_name.vmdk \
-rawdisk /dev/zvol/rdsk/tank/some_name
# VBoxManage registerimage disk /home/your_user/VBoxdisks/some_name.vmdk
Alternativ können SieCOMSTARum das zvol über iSCSI bereitzustellen.
Während dies nur einen geringen zusätzlichen Aufwand und keinen direkten Vorteil im lokalen Fall bedeutet, können Sie davon profitieren, wenn Sie sich ausbreiten und beispielsweise einen weiteren (redundanten) Speicherserver hinzufügen möchten oder wenn Sie den Speicher in eine separate Box verschieben.
In Ihrem speziellen Fall würde ich dies nicht tun, aber es besteht die Option (auch mit NFS statt iSCSI, aber bei der Verwendung von zvols statt Dateisystemen gibt es keinen unmittelbaren Vorteil, wenn beide richtig konfiguriert sind).
Gibt es eine bessere Möglichkeit, dies zu tun, oder habe ich die beste Option gewählt?
- Wenn Sie Virtualbox verwenden möchten, würde ich Folgendes tun
- Wenn Sie in Bezug auf den Hypervisor flexibel sind, können Sie sich SmartOS ansehen (ZFS, Zonen und KVM in einem kleinen, nahezu zustandslosen Serverbetriebssystem, das speziell für das Hosten virtueller Maschinen entwickelt wurde).
- Wenn Sie PCIe-Passthrough für Grafikkarten benötigen, müssen Sie möglicherweise Linux+KVM, ESXi oder Hyper-V als Hypervisor verwenden, die Solaris/illumos-Speicher-VM virtualisieren, die Festplatten dorthin durchpassen und sie über NFS oder iSCSI an den Hypervisor zurückgeben, wo sie dann normal verwendet werden. Dies wird auch als All-in-One-Speichergerät (AiO) bezeichnet. Ich empfehle, über das Konzept inDas ausgezeichnete Handbuch von gea(siehe verlinktes PDF oben). Es klingt kompliziert, ist aber nach der Einrichtung überraschend einfach und flexibel, da Sie es jederzeit vom virtuellen Netzwerk auf das physische Netzwerk ausweiten können, die Hardware wie gewohnt ersetzen können und der gesamte Ansatz mehrschichtig ist. Es hat einige Nachteile, aber ich werde nur darauf eingehen, wenn Sie interessiert sind, da sie eine ziemliche Nische darstellen.
Bezüglich Ihrer Bearbeitung:
- Besitzen Sie eine physische Maschine.
- Minimieren Sie das Risiko eines Datenverlusts aufgrund von Festplattenfehlern und anderen Dateisystemproblemen.
- Führen Sie ein Windows 2016-Server-Betriebssystem und einige Anwendungen wie Exchange und SQL Server aus. Hierfür ist eine GPU erforderlich.
- Führen Sie ein modifiziertes CentOS-System (FreePBX) aus.
- Führen Sie einige andere virtuelle Maschinen aus, vorzugsweise auch mit GPU-Unterstützung.
- Ergänzen und ggf. ersetzen Sie eine Synology RS812+-Box.
- Ausgaben für Software minimieren, um mehr/bessere Hardware für mein Budget zu ermöglichen.
Im Großen und Ganzen haben Sie zwei mögliche All-in-One-Setup-Optionen: den Speicher selbst virtualisiert (wie in der von mir verlinkten Napp-It-Readme) oder den Speicher auf dem Hypervisor. Ich werde sie A und B nennen, um sie anhand Ihrer Punkte zu vergleichen.
- A und B sind gleich, da sich beide auf derselben physischen Maschine befinden.
- A und B sind nahezu gleich, da beide Systeme ZFS verwenden können. Bei A können Sie Ihr Speicherbetriebssystem frei wählen (Solaris, illumos, Linux, BSD), bei B müssen Sie etwas wählen, das ZFS und PCIe-Passthrough für VGA unterstützt (derzeit nur Linux und FreeBSD). Dies wirkt sich auch auf Ihre Wahl des Hypervisors aus (ESXi, Hyper-V, KVM bei A und nur KVM bei B).
- A und B sind gleich. Beachten Sie jedoch, dass eine einzelne GPU nur an eine einzelne laufende VM weitergegeben werden kann, die sie vollständig belegt. Das Umschalten der GPUs erfordert das Herunterfahren der betroffenen VMs. Wenn Sie Unterstützung für gemeinsam genutzte GPUs benötigen, sind Ihre Optionen begrenzt: Nvidia Tesla/Grid (sehr teuer) oder neue gemeinsam genutzte Intel Skylake-GPUs (nicht sehr leistungsstark, noch experimentell, sieheKVMGT-Präsentation).
- In beiden Fällen kein Problem, da eine virtuelle VGA-Karte ausreichend ist.
- Siehe Punkt 3. Abhängig von der Anzahl der VMs kann es ausreichend sein, mehrere Karten oder eine einzelne Grid-Karte zu kaufen oder zu warten, bis die gemeinsame Nutzung für alle Karten in KVM ordnungsgemäß implementiert ist.
- Beide Gehäuse unterstützen die Verwendung von iSCSI und NFS für den internen und externen (also realen Netzwerk-)Einsatz, es hängt von Ihren Verwaltungspräferenzen ab. Beide können auch Speicher vom NAS/SAN verwenden (so laut Datenblatt, ich habe das System selbst nicht).
- Unabhängig von Ihrer Wahl kann die gesamte Software ohne Lizenzkosten ausgeführt werden, außer natürlich Windows Server plus erforderliche CALs (die jedoch durch Samba4 ersetzt werden könnten) und Solaris (kann durch eine Illumos-Distribution wie OmniOS, OpenIndiana oder SmartOS ersetzt werden). Für die Grid-Lösung fallen möglicherweise zusätzliche Lizenzkosten an, ich habe mich nicht damit befasst, da die Hardware selbst so teuer ist, dass sie für diese Fälle nicht nützlich ist.
Es kommt also weitgehend auf die Vorlieben an:
- Wenn Sie mit der Linux-Administration (einschließlich ZoL) und der KVM-Einrichtung (kann je nach Hardware und Distribution etwas knifflig sein) vertraut sind, können Sie die zusätzliche Speicher-VM und den Bedarf an einer kleinen SSD/HDD umgehen, wenn Sie sich für Lösung B entscheiden.
- Wer hingegen aus der gesamten Palette der Möglichkeiten wählen und für jeden Anwendungsfall das beste System nutzen möchte, profitiert möglicherweise von der Flexibilität der Lösung A (hier kann allerdings ein geringer interner Netzwerk-Overhead auftreten).