Kann ich Windows und Linux mithilfe von Virtualbox unter Solaris mit zfs zvols virtualisieren?

710
Monty Wild

Ich überlege, ein System zu erstellen, um Windows Server 2016 und CentOS 6 mit Virtualbox unter Solaris (für den Heimgebrauch) zu virtualisieren, um die Zuverlässigkeit von zfs zu nutzen.

Ich hatte vor, ein DP-WS / Server-Board mit 1 TB RAM und einen Stapel WD Red-Laufwerke zu erhalten.

Ich bin auch daran interessiert, Windows VMs den Zugriff auf GPU-Ressourcen zu ermöglichen. Ist das in dieser Situation möglich?

Ist es möglich, eine Windows / Linux-VM zu hosten, die einen zfs-zpool oder einen vdev verwendet, anstatt direkt auf die Hardware für den Dateisystemzugriff zuzugreifen?

Ich brauche eigentlich nur Windows- und Linux-Betriebssysteme, habe einen Solaris-Host jedoch ausschließlich für die Vorteile von zfs und dessen Kompatibilität mit Virtualbox in Betracht gezogen.

Gibt es einen besseren Weg, oder habe ich die beste Option ausgewählt?

Ob dies die beste Methode ist oder ob es eine bessere Methode gibt, in welcher Art und Weise werden die von Ihnen vorgeschlagenen Methoden verwendet?

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 funktionieren wird.

Meine andere Option bestand darin, einen Hardware-Adapter mit RAID 6 hinzuzufügen und Windows Server 2016 als Host für Virtualbox und Linux sowie für andere VMs zu verwenden. Ntfs ist jedoch nicht so zuverlässig wie ZFS.

BEARBEITEN

Meine Ziele sind:

  1. Besitze eine physische Maschine.

  2. Minimieren Sie den potenziellen Datenverlust aufgrund von Festplattenausfällen und anderen Dateisystemproblemen.

  3. Führen Sie ein Windows 2016-Server-Betriebssystem und einige Anwendungen aus, z. B. Exchange SQL Server. GPU ist hier erforderlich

  4. Führen Sie ein modifiziertes CentOS-System (FreePBX) aus.

  5. Führen Sie einige andere virtuelle Maschinen aus, vorzugsweise auch mit GPU-Unterstützung.

  6. Ergänzen und ersetzen Sie eventuell eine Synology RS812 + Box.

  7. Minimieren Sie die Ausgaben für Software und ermöglichen Sie mehr / bessere Hardware für mein Budget.

Ich bin in der Planungsphase, also kann ich zu diesem Zeitpunkt alles in Betracht ziehen.

Ich dachte bei einem Solaris-Host, dass das gesamte Dateisystem zfs sein würde und daher besser vor Ausfällen geschützt wäre, als die VM-Gäste dies sonst zulassen würden - es sei denn, ich habe irgendwo etwas falsch verstanden. Die Alternativen scheinen dazu zu führen, dass mindestens ein Teil des Dateisystems Nicht-ZFS mit geringerer Zuverlässigkeit ist.

5

1 Antwort auf die Frage

4
user121391

Ich bin auch daran interessiert, Windows VMs den Zugriff auf GPU-Ressourcen zu ermöglichen. Ist das in dieser Situation möglich?

Um eine PCIe-Grafikkarte direkt durchzuleiten, benötigen Sie:

  • zwei PCIe-Grafikkarten (eine, wenn bestimmte Tricks verwendet werden, z. B. beim Verschieben der Karte durch Skripts vom Hypervisor-System auf das Gastsystem)
  • ein Mainboard, das Intel VT-d oder AMD Vi (früher IOMMU) unterstützt
  • Hypervisor-Software, die dies unterstützt

Es scheint, dass Virtualbox es derzeit leider nicht unterstützt . Wenn dies eine schwierige Anforderung ist, müssen Sie möglicherweise KVM unter Linux oder Illumos, VMware ESXi oder Microsoft Hyper-V verwenden. Alle unterstützen dies (allerdings mit unterschiedlichem Konfigurationsaufwand).

Ist es möglich, eine Windows / Linux-VM zu hosten, die einen zfs-zpool oder einen vdev verwendet, anstatt direkt auf die Hardware für den Dateisystemzugriff zuzugreifen?

Ja, es ist möglich. Hier sind die relevanten Befehle aus dem Blogeintrag von Johannes Schlüter:

# 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 Sie COMSTAR verwenden, um das zvol über iSCSI bereitzustellen.

Dies hat zwar nur einen geringen zusätzlichen Aufwand und keinen direkten Vorteil im lokalen Fall, Sie können jedoch davon profitieren, wenn Sie sich verteilen möchten und beispielsweise einen (redundanten) Speicherserver hinzufügen oder den Speicher in eine separate Box verschieben möchten.

In Ihrem speziellen Fall würde ich dies nicht tun, aber es gibt die Option (auch mit NFS anstelle von iSCSI, aber wenn Sie zvols anstelle von Dateisystemen verwenden, gibt es keinen unmittelbaren Vorteil, wenn beide ordnungsgemäß konfiguriert sind).

Gibt es einen besseren Weg, oder habe ich die beste Option ausgewählt?

  • Wenn Sie Virtualbox verwenden möchten, würde ich dies tun
  • Wenn Sie in Bezug auf den Hypervisor flexibel sind, sehen Sie sich SmartOS (ZFS, Zonen und KVM in einem kleinen, fast zustandslosen Server-Betriebssystem an, das speziell für das Hosting von virtuellen Maschinen entwickelt wurde).
  • Wenn Sie ein 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 darauf durchgreifen und sie über NFS oder iSCSI auf dem Server bereitstellen Hypervisor, wo es dann normal verwendet wird. Dies ist auch als All-in-One-Speichergerät (AiO) bekannt. Ich schlage vor, das Konzept in geas hervorragendem Handbuch zu lesen (siehe das oben verlinkte PDF). Es klingt kompliziert, aber nach der Einrichtung ist es überraschend einfach und flexibel, da Sie es jederzeit vom virtuellen Netzwerk auf das physische Netzwerk verteilen können, Hardware wie gewohnt ersetzen können und der gesamte Ansatz vielschichtig ist. Es hat einige Nachteile, aber ich werde nur auf sie eingehen, wenn Sie interessiert sind, denn sie sind eine Nische.

Bezüglich Ihrer Bearbeitung:

  1. Besitze eine physische Maschine.
  2. Minimieren Sie den potenziellen Datenverlust aufgrund von Festplattenausfällen und anderen Dateisystemproblemen.
  3. Führen Sie ein Windows 2016-Server-Betriebssystem und einige Anwendungen aus, z. B. Exchange SQL Server. GPU ist hier erforderlich
  4. Führen Sie ein modifiziertes CentOS-System (FreePBX) aus.
  5. Führen Sie einige andere virtuelle Maschinen aus, vorzugsweise auch mit GPU-Unterstützung.
  6. Ergänzen und ersetzen Sie eventuell eine Synology RS812 + Box.
  7. Minimieren Sie die Ausgaben für Software und ermöglichen Sie mehr / bessere Hardware für mein Budget.

Im Großen und Ganzen stehen Ihnen zwei All-in-One-Setup-Optionen zur Verfügung: Speicher selbst virtualisiert (wie in der Napp-it-Readme, die ich verlinkt habe) oder Speicher auf dem Hypervisor. Ich werde sie A und B nennen, um Ihre Punkte miteinander zu vergleichen.

  1. A und B sind gleich, da sich beide auf derselben physischen Maschine befinden.
  2. A und B sind nahezu gleichwertig, da beide Systeme ZFS verwenden können. Mit A können Sie Ihr Speicher-Betriebssystem (Solaris, illumos, Linux, BSD) frei wählen, mit B müssen Sie etwas auswählen, das ZFS und PCIe Passthrough für VGA unterstützt (derzeit nur Linux und FreeBSD). Dies wirkt sich auch auf die Wahl Ihres Hypervisors (ESXi, Hyper-V, KVM mit A und nur KVM mit B) aus.
  3. A und B sind gleich. Beachten Sie jedoch, dass eine einzelne GPU nur an eine einzelne ausgeführte VM übergeben werden kann, die sie vollständig belegt. Das Wechseln von GPUs erfordert das Herunterfahren der betroffenen VMs. Wenn Sie gemeinsam genutzte GPU-Unterstützung benötigen, sind Ihre Optionen begrenzt: Nvidia Tesla / Grid (sehr teuer) oder neue gemeinsam genutzte Intel Skylake-GPUs (nicht sehr leistungsstark, noch experimentell, siehe KVMGT-Präsentation ).
  4. In beiden Fällen kein Problem, da eine virtuelle VGA-Karte ausreicht.
  5. Siehe Punkt 3. Abhängig von der Anzahl der VMs ist es in Ordnung, mehrere Karten oder eine einzelne Grid-Karte zu kaufen oder zu warten, bis die Freigabe für alle Karten in KVM ordnungsgemäß implementiert ist.
  6. In beiden Fällen wird die Verwendung von iSCSI und NFS für die interne und externe Verwendung (im Sinne eines realen Netzwerks) unterstützt. Dies hängt von Ihrer Präferenz bei der Verwaltung ab. Außerdem können beide Speicher vom NAS / SAN aus nutzen (vom Datenblatt ausgehend habe ich das System selbst nicht).
  7. Unabhängig von Ihrer Wahl kann die gesamte Software ohne Lizenzkosten ausgeführt werden, mit Ausnahme von Windows Server und den erforderlichen 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, weil die Hardware selbst so teuer ist, dass sie für diese Fälle nicht nützlich ist.

Es kommt also hauptsächlich auf die Präferenz an:

  • Wenn Sie mit der Linux-Verwaltung (einschließlich ZoL) und dem KVM-Setup vertraut sind (dies kann je nach Hardware und Distributionen ein bisschen schwierig sein), können Sie die zusätzliche Speicher-VM umgehen und benötigen kleine SSD / HDD, wenn Sie sich für Lösung B entscheiden.
  • Wenn Sie andererseits aus allen Optionen wählen und das beste System für jeden Fall verwenden möchten, profitieren Sie möglicherweise von der Flexibilität der Lösung A (hier kann jedoch ein geringfügiger interner Netzwerk-Overhead auftreten).
Schauen Sie sich die Änderungen an meiner Frage an. Monty Wild vor 7 Jahren 0
@MontyWild sehe meine aktualisierte Antwort user121391 vor 7 Jahren 0
Kann ich bei Verwendung der Option zfs-host den Motherboard-VGA für den Host und eine Desktop-GPU für einen Gast verwenden? Monty Wild vor 7 Jahren 0
@MontyWild Ja, das ist der normale Weg und funktioniert wie erwartet (in beiden Fällen funktioniert es tatsächlich, da die Speicher-VM auf jeden Fall keinen echten VGA benötigt, nur der Hypervisor). Wenn Sie KVM verwenden, können Sie den VGA nach dem Booten sogar an eine zweite VM anschließen (mit dem Nachteil, dass das Hostsystem dom0 nur über SSH oder die serielle Konsole remote verwaltet werden kann). user121391 vor 7 Jahren 0
Ich beabsichtige, die meiste Zeit über RDP, http oder SSH an die VMs und den Host anzuschließen. Dies ist mehr ein verherrlichter NAS- und Anwendungsserver als ein Desktop-Host, und eine GPU würde eher für Video-Transcoding als für Desktop- oder Spieleanwendungen verwendet. Es wird die meiste Zeit damit verbringen, unbeaufsichtigt in meinem Koffer zu sitzen. Was meinen letzten Kommentar angeht, meinte ich, dass ich Solaris mit zfs und einem Hypervisor als Host verwenden und die Motherboard-VGA verwenden und einen Windows Server-Gast ausführen und die gpu verwenden lassen könnte - wenn ich einen geeigneten Hypervisor finde läuft unter Solaris. Monty Wild vor 7 Jahren 0
@MontyWild Ja, diese Kombination bekommen Sie leider nicht (zumindest nicht zu diesem Zeitpunkt). Siehe https://forums.servethehome.com/index.php?threads/smartos-kvm-pci-passthrough.10301/#post-97074 Sie haben also zwei Möglichkeiten (falls Sie noch PCIe-Passthrough benötigen): Verwenden Sie Linux + ZoL ( es hat sich im Laufe der Zeit verbessert) oder verwenden Sie eine separate Solaris-Speicher-VM (meine persönliche Wahl, aber beide sind gültig). user121391 vor 7 Jahren 0