At give et grafikkort til en virtuel maskine: den virkelige forhindring er ikke driveren, men gruppen
At give hardware direkte til en maskine kan lade sig gøre, men enheder overdrages i grupper, ikke én ad gangen. Og den overdragne hardware tager også maskinens frihed til at flytte.
AtlasPVE ·
Denne artikel besvarer
- proxmox gpu passthrough
- proxmox iommu-gruppe
- proxmox pci passthrough virker ikke
- proxmox grafikkort til vm
- proxmox hardware videregivelse
At give et fysisk grafikkort, en diskstyring eller et optagekort direkte til en virtuel maskine kan lade sig gøre. Løftet er ægte: maskinen bruger den hardware, som var den dens egen.
Men det, folk hænger fast i, er ikke driveren. Det er gruppen.
Enheder overdrages ikke én ad gangen
Dit bundkort afgør, hvilke enheder der kan skilles fra hinanden, og sorterer dem i grupper. Du kan ikke overdrage en enkelt enhed fra en gruppe; du overdrager hele gruppen.
Følgen: ligger grafikkortet i samme gruppe som diskstyringen, betyder det at give grafikkortet også at give diskstyringen. Det går som regel ikke, for der sidder serverens egen disk.
Spørgsmålet, når du køber hardware, er derfor ikke "virker dette grafikkort", men "ligger det i sin egen gruppe på dette bundkort". Grupperingen er en egenskab ved bundkortet, ikke ved kortet. Det samme kort går rent igennem på ét bundkort og slet ikke på et andet.
Enheden forsvinder fra serveren
Den anden overraskelse: når du først har givet en enhed til en virtuel maskine, kan serveren ikke længere bruge den. Det er ikke et lån, det er en overdragelse.
Den hyppigste udgave: på en maskine med ét eneste grafikkort giver du kortet til en virtuel maskine, og serverens egen skærm følger med. Kan du forbinde eksternt, går det fint, men ved et uheld har du ikke længere mulighed for at sætte tastatur og skærm til og kigge.
Overdraget hardware tager også friheden til at flytte
For den, der har bygget en klynge, er dette det vigtigste punkt: en maskine med hardwarevideregivelse kan som regel ikke flytte til en anden knude.
Grunden er enkel: det kort, du overdrog, sidder i denne fysiske maskine. Selv hvis den anden knude har samme model, er det ikke den samme enhed.
Det sikkerhedsnet, klyngen giver dig, dækker altså ikke den maskine. Den kan ikke flyttes på vedligeholdelsesnætter og ikke komme op på en anden knude ved en fejl. Når du sætter hardwarevideregivelse op, vælger du i virkeligheden dette: bevægelighed i bytte for ydelse og direkte hardwareadgang.
Hukommelsen er heller ikke længere fleksibel
Den fjerde og mindst kendte begrænsning: videregivet hardware skriver direkte i den virtuelle maskines hukommelse. For at det virker, skal den hukommelse blive liggende.
Men den mekanisme, der strækker hukommelsen og tager den tilbage, er netop den, der flytter hukommelse rundt. Er begge slået til på den samme maskine, opstår der bøvl på driversiden.
I praksis lyder reglen: stræk ikke hukommelsen på en maskine med hardwarevideregivelse, giv den en fast mængde. Det betyder, at den maskine ikke kan være med i legen "love mere, end man har" fra den forrige artikel. Den hukommelse, du lovede den, er virkelig sat til side.
Beslutningssætningen
Hardwarevideregivelse er ingen gevinst, det er et bytte. Hvad du vinder: virkelig hardwarehastighed og adgang til alle den hardwares evner. Hvad du taber: flytbarhed, serverens brug af enheden, og hukommelsens fleksibilitet.
Foretager du byttet bevidst, er det det rigtige værktøj. Foretog du det uden at bemærke det, finder du ud af det den første vedligeholdelsesnat eller ved den første fejl.
Hvad Atlas gør
Når Atlas læser serverens PCI-enheder, læser det også, hvilken adskillelsesgruppe hver enkelt ligger i. Før du beslutter, ser du altså grupperingen: står den enhed, du vil overdrage, alene, eller ligger der ved siden af noget, du ikke vil give væk.
Der findes desuden en regel, der rammer præcis den sidste del af denne artikel. Har en virtuel maskine hardwarevideregivelse opsat og hukommelsesstrækning slået til, markerer Atlas det som en advarsel: sammen giver de bøvl på driversiden. Advarslen siger ikke kun "der er et problem", den siger, hvad der skal gøres, og fører dig direkte til hukommelsesindstillingen.
Det er et lille eksempel på produktets generelle holdning: opsætningen i sig selv er gyldig, intet giver fejl, men to gyldige indstillinger giver ingen mening sammen. Den slags hører til, når man sætter op, ikke under en fejl.
Kilder
Proxmox’ egen dokumentation. På engelsk, og den har det sidste ord i dette spørgsmål.