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:
- Besitze eine physische Maschine.
- Minimieren Sie den potenziellen Datenverlust aufgrund von Festplattenausfällen und anderen Dateisystemproblemen.
- Führen Sie ein Windows 2016-Server-Betriebssystem und einige Anwendungen aus, z. B. Exchange SQL Server. GPU ist hier 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 ersetzen Sie eventuell eine Synology RS812 + Box.
- 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.
- A und B sind gleich, da sich beide auf derselben physischen Maschine befinden.
- 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.
- 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 ).
- In beiden Fällen kein Problem, da eine virtuelle VGA-Karte ausreicht.
- 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.
- 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).
- 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).