Fragen zur VRAM Aufteilung

Nougat

New Member
Sep 6, 2023
8
0
1
Liebe Community,

ich habe bisher noch nicht umfangreich mit Proxmox zu tun gehabt und wollte daher eure Meinung dazu einholen. Mein Vorhaben ist es, unsere Physischen Rechner mit Proxmox zu ersetzen und zunächst zwei Windows 10 VMs einzurichten, auf denen CAD-Programme per remote verwendet werden sollen.

Dabei ergeben sich einige Fragen für mich:

  • Der PCI-Passthrough ist mir bereits bekannt, aber ist es auch grundsätzlich möglich, eine beliebige Grafikkarte mit z.B. 8GB VRAM auf VMs aufzuteilen oder erfordert dies spezielle Grafikkarten, die vGPU unterstützen?
  • Glaubt ihr, dass dieser Plan sinnvoll ist, oder denkt ihr, dass die Verwendung von CAD-Programmen auf diese Weise am Ende nicht reibungslos funktionieren wird?
Ich freue mich auf eure Einschätzungen und Ratschläge.
 
Dies erfordert spezielle Karten [0][1].
Falls ihr bereits eine passende Karte habt, könnt ihr es testen. Bis auf etwas Performanceverlust sollte es grundsätzlich funktionieren, wenn die Hardware entsprechende Leistung bietet und die Software auch in einer virtuellen Umgebung läuft. (Manche benötigen extra Dongles und akzeptieren nur bestimmte virtuelle Umgebungen (VMware, etc.))
Diesbezüglich solltet ihr euch noch beim Hersteller der CAD Software informieren.


[0] https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_pci_passthrough
[1] https://pve.proxmox.com/wiki/NVIDIA_vGPU_on_Proxmox_VE_7.x
 
Welche CAD Software setzt Ihr denn ein, wenn man fragen darf?

Bei einem Kunden haben wir letztens ein System auf Basis eines AMD 9554 (SP5), 512GB DDR5, 4x PM1735 und einer RTX A6000 in Betrieb genommen. Darauf laufen 2x W11 VMs in Verbindung mit vWS Lizenzen von NVIDIA. Als Software kommt jeweils SolidWorks 2023 Premium zum Einsatz in Verbindung mit SolidCAM. Das läuft sehr „fluffig“ per RDP und die Konstrukteure haben bisher nichts zu meckern gehabt.
 
Last edited:
Hallo, wir haben es so gelöst:
Die Mitarbeiter verbinden sich überwiegend per RDP auf ihre jeweilige Windows VM.

Server Austattung:
Supermicro Dual Sockel Mainboard
2x Xeon 6138 mit ingesamt 80 Threads / Wir haben auch Server mit 2x Xeon 6150 mit insgesamt 72 Threads
192 GB RAM
5x GT730 2GB Grafikkarte x8, (PCI-Passtrough jeweils an die VM)
4x SSD, (1x NVME, 3x SATA SSD, kein ZFS)

Es wird mit einer einfachen CAD-Software gearbeitet, welche auch schon zuvor an den lokalen Clients mit Intel HD630 gut funktioniert hat.
Alle VMs werden dann auf einen PBS gesichert. Die Kollegen verbinden sich per Wireguard aus dem Home Office, und greifen immer auf ihre eigene VM zu.

Typische Resourcen zuweisung eines Mitarbeiters welcher mit der CAD-Software arbeitet: 8 vCPU, 16GB RAM, Nvidia GT730, 200 GB Speicher.
Typische Resourcen zuweisung eines Mitarbeiters welcher im Office arbeitet: 4-6 vCPU, 8-12 GB Ram, 120 GB Speicher, keine Extra GPU.

Je nach Server haben wir 5-10 VMs am laufen. "Power-User" erhalten etwas mehr Ressourcen bei bedarf.


Klar ist es nicht so flüssig wie direkt nativ auf dem FatClient zu arbeiten, aber 90% der Kollegen merken keinen Unterschied.
Wiederum haben wir auch Kollegen welche mit Allplan arbeiten, hier verwenden wir FatClients mit RTX A4000 Grafikkarten.
(Aus dem Home Office greifen diese wiederum direkt auf Ihren PC zu)

Der große Vorteil dieser Lösung ist, dass jeder im Büro sitzen kann wo gerade Platz ist. Wir haben mehr MA wie Arbeitzplätze.
Das war eine Anforderung von der Geschäftsleitung...
Jetzt bin ich noch dabei ein Script für mich zu erstellen damit die VMs jeden Abend herunterfahren und morgens automatisch wieder starten.

Die passende Lösung ergibt sich meistens anhand der Anforderung.
Ich habe die Server auch selber zusammen montiert, manche Teile sind Refurbished, somit waren die Investitionskosten für die Hardware auch geringer...
 
Last edited:
Hey zusammen,

vielen Dank Mira für deine schnelle Antwort und Info! Wir haben erst kürzlich auch mal endlich die Zeit und ein Testsystem erhalten mit folgenden Specs:

1x RTX 5500 24GB (vGPU Kompatibel)
1x Intel Xenon W5-2455X
4x 64GB (256GB) DDR5 RAM

Deshalb bin ich jetzt erst wieder hier im Thread, entschuldigt!

Welche CAD Software setzt Ihr denn ein, wenn man fragen darf?

Geplant ist bei uns der Einsatz von AutoCAD.

Darauf laufen 2x W11 VMs in Verbindung mit vWS Lizenzen von NVIDIA.
Benutzt ihr bereits Proxmox 8 und wie habt ihr es geschafft die vGPU zu konfigurieren? Ich hab es jetzt auch mal ausprobiert mit der neuen Anleitung von PolloLoco und an sich klappt alles bis auf den Punkt mit "mdevctl types". Da kommt bei mir gar kein Output als wäre da nichts und ich weiß leider nicht woran das liegt. Demensprechend hab ich auch keine weitere Auswahlmöglichkeiten wenn ich einer VM ein PCI-Gerät zuweisen möchte.

Hatte das jemand schon mal und weiß möglicherweise woran das liegen könnte?
 
Ich hab das ganze jetzt nochmal frisch gemacht mit eurer Anleitung und da habe ich immer das Problem, dass bei dem Befehl "# lspci -d 10de:" nur die beiden rauskommen:

55:00.0 VGA compatible controller: NVIDIA Corporation GA102GL [RTX A5500] (rev a1)
55:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)


Vielleicht könnt ihr mir weiterhelfen, wenn ich euch meine Schritte zusammenfasse:

1. Proxmox Update/Upgrade
2. intel_iommu=on / iommu=pt unter /etc/default/grub
3. vfio, vfio_iommu_type, vfio_pci, vfio_virqfd unter /etc/modules
4. update-initramfs -u -k all


5. dmesg | grep -e DMAR -e IOMMU
[ 0.008187] ACPI: DMAR 0x000000005D58C000 0001B0 (v01 INTEL INTEL ID 00000001 INTL 20091013)
[ 0.008217] ACPI: Reserving DMAR table memory at [mem 0x5d58c000-0x5d58c1af]
[ 0.291081] DMAR: IOMMU enabled
[ 0.713396] DMAR: Host address width 52
[ 0.713397] DMAR: DRHD base: 0x0000008d3fc000 flags: 0x0
[ 0.713402] DMAR: dmar0: reg_base_addr 8d3fc000 ver 6:0 cap 19ed008c40780c66 ecap 3ee9e86f050df
[ 0.713404] DMAR: DRHD base: 0x0000008f3fc000 flags: 0x0
[ 0.713407] DMAR: dmar1: reg_base_addr 8f3fc000 ver 6:0 cap 19ed008c40780c66 ecap 3ee9e86f050df
[ 0.713409] DMAR: DRHD base: 0x000000913fc000 flags: 0x0
[ 0.713411] DMAR: dmar2: reg_base_addr 913fc000 ver 6:0 cap 19ed008c40780c66 ecap 3ee9e86f050df
[ 0.713412] DMAR: DRHD base: 0x000000deffc000 flags: 0x0
[ 0.713418] DMAR: dmar3: reg_base_addr deffc000 ver 6:0 cap 19ed008c40780c66 ecap 3ee9e86f050df
[ 0.713419] DMAR: DRHD base: 0x000000df7fc000 flags: 0x0
[ 0.713422] DMAR: dmar4: reg_base_addr df7fc000 ver 6:0 cap 19ed008c40780c66 ecap 3ef9ea6f050df
[ 0.713423] DMAR: DRHD base: 0x00000089bfc000 flags: 0x1
[ 0.713425] DMAR: dmar5: reg_base_addr 89bfc000 ver 6:0 cap 19ed008c40780c66 ecap 3ee9e86f050df
[ 0.713427] DMAR: RMRR base: 0x0000004f75f000 end: 0x0000004f761fff
[ 0.713428] DMAR: ATSR flags: 0x0
[ 0.713429] DMAR: RHSA base: 0x00000089bfc000 proximity domain: 0x0
[ 0.713430] DMAR: RHSA base: 0x0000008d3fc000 proximity domain: 0x0
[ 0.713431] DMAR: RHSA base: 0x0000008f3fc000 proximity domain: 0x0
[ 0.713431] DMAR: RHSA base: 0x000000913fc000 proximity domain: 0x0
[ 0.713432] DMAR: RHSA base: 0x000000deffc000 proximity domain: 0x0
[ 0.713433] DMAR: RHSA base: 0x000000df7fc000 proximity domain: 0x0
[ 0.713433] DMAR: SATC flags: 0x0
[ 0.713435] DMAR-IR: IOAPIC id 8 under DRHD base 0x89bfc000 IOMMU 5
[ 0.713436] DMAR-IR: HPET id 0 under DRHD base 0x89bfc000
[ 0.713437] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.714605] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 1.193912] DMAR: IOMMU feature pasid inconsistent
[ 1.193913] DMAR: IOMMU feature prs inconsistent
[ 1.193914] DMAR: IOMMU feature pasid inconsistent
[ 1.193914] DMAR: IOMMU feature prs inconsistent
[ 1.193915] DMAR: IOMMU feature pasid inconsistent
[ 1.193915] DMAR: IOMMU feature prs inconsistent
[ 1.193915] DMAR: IOMMU feature pasid inconsistent
[ 1.193916] DMAR: IOMMU feature prs inconsistent
[ 1.193916] DMAR: IOMMU feature pasid inconsistent
[ 1.193917] DMAR: IOMMU feature prs inconsistent
[ 1.193917] DMAR: dmar4: Using Queued invalidation
[ 1.193920] DMAR: dmar3: Using Queued invalidation
[ 1.193921] DMAR: dmar2: Using Queued invalidation
[ 1.193923] DMAR: dmar1: Using Queued invalidation
[ 1.193925] DMAR: dmar0: Using Queued invalidation
[ 1.193929] DMAR: dmar5: Using Queued invalidation
[ 1.195838] DMAR: Intel(R) Virtualization Technology for Directed I/O


6. apt install -y git build-essential dkms pve-headers mdevctl

7. chmod +x NVIDIA-Linux-x86_64-535.129.03-vgpu-kvm.run
./NVIDIA-Linux-x86_64-535.129.03-vgpu-kvm.run --dkms

8. sudo /usr/lib/nvidia/sriov-manage -e ALL

9. /etc/systemd/system/ --> .ini Datei erstellt mit [Unit], [Service] & [Install]

10. sudo systemctl daemon-reload
sudo systemctl enable --now nvidia-sriov.service

11. lspci -d 10de:


Was habe ich vergessen bzw. was übersehe ich? :/
 
Gab es bei einem der Befehle eventuell Fehlermeldungen?

Welcher Kernel Treiber, welches Modul wird für die Karte verwendet?
# lspci -nnk -d 10de:
 
Gab es bei einem der Befehle eventuell Fehlermeldungen?

Welcher Kernel Treiber, welches Modul wird für die Karte verwendet?
# lspci -nnk -d 10de:

Nein, eigentlich nicht.

55:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102GL [RTX A5500] [10de:2233] (rev a1)
Subsystem: Dell GA102GL [RTX A5500] [1028:165a]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_vgpu_vfio, nvidia

55:00.1 Audio device [0403]: NVIDIA Corporation GA102 High Definition Audio Controller [10de:1aef] (rev a1)
Subsystem: Dell GA102 High Definition Audio Controller [1028:165a]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
 
Das sieht soweit denke ich gut aus.

Ist SR-IOV im BIOS wirklich aktiv?
 
Unser Dell-System hat von Anfang an praktisch alle Virtualisierungsoptionen aktiviert, wie beispielsweise Intel Virtualization Technology oder VT for Direct I/O. Jedoch finde ich jetzt keine explizite Auswahlmöglichkeit die "Single Root I/O Virtualization (SR-IOV)" heißt. Könnte das Problem also doch sein, dass diese Funktion auf dem uns zur Verfügung gestellten Testsystem tatsächlich gar nicht unterstützt wird? Muss das also eine separate eigene Option im Bios sein?
 
Du hast ein System mit Xeon-W.
Die sind ursprünglich für Workstations gedacht, da könnte es natürlich sein, dass das Feature fehlt.
 
Unser Testsystem ist der Dell Precision 5860 XCTO Base. Hast du vielleicht Vorschläge für ein anderes System womit das ganze funktionieren sollte oder Hinweise, worauf wir besonders bei einem neuen System achten sollten, um die vGPU Thematik umzusetzen?

Aktuell stehe ich noch auf dem Schlauch woran das alles genau liegt. So könnten wir vielleicht den Hardwareaspekt zumindest etwas eingrenzen. Es darf natürlich auch ein Server sein.

Vielleicht habt ihr generell sogar andere oder bessere Lösungsvorschläge? Mein Ziel Final ist es, mindestens 3 VMs mit CAD-Software zu erstellen, auf denen Kollegen zufrieden und effizient per z. B. RDP arbeiten können.

Danke bisher für eure Antworten und Unterstützung. :)
 
Last edited:
Laut DELL unterstützt die Workstation das. Ist die Frage, wo im BIOS die Einstellung dafür ist.
 
  • Like
Reactions: Falk R.
Ich hab mal kontakt mit Dell aufgenommen und angeblich könnte SR-IOV mit der Intel Virtualization Technology aktiv sein. Sicher waren und wirkten die sich dabei aber auch nicht.
 
Habe nochmal mit @dcsapak darüber geredet.
Laut ihm sieht es so aus, als wären die Displayports nicht deaktiviert worden [0]:
Code:
Some supported NVIDIA GPUs don't have vGPU enabled out of the box and need to have their display ports disabled. This is the case with our RTX A5000, and can be achieved by using their display mode selector tool [3]. For a list of GPUs where this is necessary check their documentation.

Das erkennt man an dem Audio Device das noch vorhanden ist.
Code:
55:00.1 Audio device [0403]: NVIDIA Corporation GA102 High Definition Audio Controller [10de:1aef] (rev a1)
Subsystem: Dell GA102 High Definition Audio Controller [1028:165a]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel


[0] https://pve.proxmox.com/wiki/NVIDIA_vGPU_on_Proxmox_VE_7.x
 
Ich konnte die Displayports bei mir deaktivieren und mein Audio Device ist nun auch weg. Mehr als das hier bekomme ich da aber nicht raus:

lspci -d 10de:
55:00.0 3D controller: NVIDIA Corporation GA102GL [RTX A5500] (rev a1)

Wie soll ich hier dann weiter verfahren?
 
Funktioniert es jetzt, wenn die Anleitung Schritt für Schritt durchgegangen wird?
Insbesondere nach dem Befehl: /usr/lib/nvidia/sriov-manage -e <pciid|ALL>

Was hast du bisher alles versucht?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!