Een videokaart aan een virtuele machine geven: het echte obstakel is niet het stuurprogramma maar de groep
Hardware rechtstreeks aan een machine geven kan, maar apparaten worden per groep overgedragen, niet stuk voor stuk. En de overgedragen hardware neemt de machine ook de vrijheid om te verhuizen.
AtlasPVE ·
Dit artikel beantwoordt
- proxmox gpu passthrough
- proxmox iommu groep
- proxmox pci passthrough werkt niet
- proxmox videokaart naar vm
- proxmox hardware doorgeven
Een fysieke videokaart, een schijfbesturing of een opnamekaart rechtstreeks aan een virtuele machine geven kan. De belofte is echt: de machine gebruikt die hardware alsof het haar eigen is.
Maar waar mensen op vastlopen is niet het stuurprogramma. Het is de groep.
Apparaten worden niet stuk voor stuk overgedragen
Je moederbord bepaalt welke apparaten van elkaar gescheiden kunnen worden en deelt ze in groepen in. Je kunt niet één apparaat uit een groep overdragen; je draagt de hele groep over.
Het gevolg: zit je videokaart in dezelfde groep als de schijfbesturing, dan betekent de videokaart geven ook de schijfbesturing geven. Dat kan meestal niet, want daar hangt de eigen schijf van de server aan.
De vraag bij het kopen van hardware is dus niet "werkt deze videokaart" maar "zit hij op dit moederbord in een eigen groep". De groepering is een eigenschap van het moederbord, niet van de kaart. Dezelfde kaart gaat op het ene bord vlekkeloos door en op het andere helemaal niet.
Het apparaat verdwijnt van de server
De tweede verrassing: heb je een apparaat eenmaal aan een virtuele machine gegeven, dan kan de server het niet meer gebruiken. Het is geen lening, het is een overdracht.
De meest voorkomende versie: op een machine met één videokaart geef je de kaart aan een virtuele machine en het eigen scherm van de server gaat mee. Kun je op afstand verbinden, dan is dat prima, maar bij tegenslag heb je niet meer de mogelijkheid om toetsenbord en scherm aan te sluiten en te kijken.
Doorgegeven hardware neemt ook de vrijheid om te verhuizen
Voor wie een cluster heeft gebouwd is dit het belangrijkste punt: een machine met hardwaredoorgifte kan meestal niet naar een ander knooppunt.
De reden is eenvoudig: de kaart die je overdroeg zit in deze fysieke machine. Zelfs als het andere knooppunt hetzelfde model heeft, is het niet hetzelfde apparaat.
Het vangnet dat je cluster je geeft, dekt die machine dus niet. Ze kan op onderhoudsnachten niet verplaatst worden en bij een storing niet op een ander knooppunt omhoog komen. Zet je hardwaredoorgifte op, dan kies je in werkelijkheid dit: beweeglijkheid, in ruil voor prestaties en rechtstreekse hardwaretoegang.
Ook het geheugen is niet meer soepel
De vierde en minst bekende beperking: doorgegeven hardware schrijft rechtstreeks in het geheugen van de virtuele machine. Wil dat werken, dan moet dat geheugen op zijn plek blijven.
Maar het mechanisme dat geheugen oprekt en terugneemt, is juist het mechanisme dat geheugen verplaatst. Staan ze allebei aan op dezelfde machine, dan ontstaat er gedoe aan de kant van het stuurprogramma.
In de praktijk luidt de regel: rek op een machine met hardwaredoorgifte het geheugen niet op, geef het een vaste hoeveelheid. Dat betekent dat die machine niet mee kan doen aan het "meer beloven dan je hebt" uit het vorige artikel. Het geheugen dat je haar beloofde is werkelijk gereserveerd.
De beslissingszin
Hardwaredoorgifte is geen winst, het is een ruil. Wat je wint: echte hardwaresnelheid en toegang tot alle mogelijkheden van die hardware. Wat je verliest: overdraagbaarheid, het gebruik van dat apparaat door de server, en geheugensoepelheid.
Maak je die ruil bewust, dan is het het juiste gereedschap. Maakte je hem zonder het te merken, dan kom je erachter op de eerste onderhoudsnacht of bij de eerste storing.
Wat Atlas doet
Wanneer Atlas de PCI-apparaten op de server leest, leest het ook in welke scheidingsgroep elk ervan zit. Voordat je beslist zie je dus de groepering: staat het apparaat dat je wilt overdragen alleen, of zit er iets naast dat je niet wilt weggeven.
Er is bovendien een regel die precies op het laatste deel van dit artikel neerkomt. Heeft een virtuele machine hardwaredoorgifte ingesteld en geheugenoprekking aan, dan markeert Atlas dat als waarschuwing: samen geven ze gedoe aan de kant van het stuurprogramma. De waarschuwing zegt niet alleen "er is een probleem", ze zegt wat te doen en brengt je rechtstreeks naar de geheugeninstelling.
Dit is een klein voorbeeld van de algemene houding van het product: de instelling zelf is geldig, niets geeft een fout, maar twee geldige instellingen slaan samen nergens op. Zulke dingen moeten gezegd worden tijdens het opzetten, niet tijdens een storing.
Bronnen
De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.