Att välja virtuell hårdvara: det du visar gästen avgör dess fart

En virtuell maskins hårdvara är inget faktum utan ett val. Efterliknad gammal hårdvara är ett verktyg för installationsdagen, inte för maskinens livstid.

AtlasPVE ·

Den här artikeln svarar på

  • proxmox virtio eller e1000
  • proxmox vm långsamt nätverk
  • proxmox diskprestanda iothread
  • proxmox virtio drivrutin windows
  • proxmox välja virtuellt nätverkskort

En virtuell maskins hårdvara är inget faktum, det är ett val. Du avgör vilket nätverkskort och vilken diskstyrenhet gästen får se. Och det beslutet sätter direkt maskinens fart.

Två familjer

Efterliknad verklig hårdvara. Gästen får se ett fysiskt kort den känt i åratal. Eftersom den redan känner det behöver inget extra installeras.

Hårdvara utformad för virtualisering. Gästen får se en enhet som säger "jag är virtuell". Eftersom gästen vet det talar den ett kort och rakt språk.

Skillnaden visar sig i prestandan. Med ett efterliknat kort går varje paket genom ett lager som härmar beteendet hos hårdvara som egentligen inte finns. Med en enhet utformad för virtualisering försvinner den härmningen.

Varför efterliknandet finns

För kompatibilitet. Ett gammalt operativsystem utan virtuella drivrutiner tittar på det efterliknade kortet, säger "det där känner jag" och startar utan besvär.

Efterliknad hårdvara är alltså ett verktyg för installationsdagen. För att maskinen ska komma upp, vi ska kunna ta oss in och installera drivrutinerna.

Det verkliga problemet: ingen går tillbaka

Här sitter det. Maskinen installeras, den kör, den gör sitt jobb. Ingen säger "de virtuella drivrutinerna finns nu, låt mig byta hårdvaran".

Resultat: i månader, ibland år, fortsätter den maskinen köra med den tillfälliga hårdvara som valdes på installationsdagen. Ingenting rapporterar fel. Den är bara långsammare än den borde vara.

Regeln är enkel: efterliknad hårdvara är ett verktyg för installationsdagen, inte för maskinens livstid. Byt så snart drivrutinerna finns på plats i gästen.

De två inställningar ingen öppnar igen

Nätverkskortets modell. Gamla kortmodeller går fortfarande att välja och de fungerar när man väljer dem. Att de fungerar betyder inte att de är rätt.

Att låta diskkön köra på en egen exekveringstråd. Det hindrar diskförfrågningar från att vänta på maskinens huvudbearbetning. Avstängt fungerar allt ändå, saker väntar bara på varandra i stunder med hög belastning.

Båda lämnas på standardvärdet vid installationen och öppnas aldrig igen.

Och en läxa om att mäta: en summa är inget symtom

Detta är artikelns mest allmänna del, och den gäller inte bara virtuell hårdvara.

Nätverkskort har en räknare över tappade paket, och den räknaren nollställs aldrig. Visar en maskin som hade en dålig timme i fjol tvåhundra tappade paket, står den siffran där för alltid.

Att titta på den siffran och säga "den här maskinen tappar paket" är fel. Rätt fråga är tappar den just nu, alltså inte summan utan takten. Hur många paket tappas per minut?

Samma skillnad fanns i diskslitage: inte procenten utan lutningen. Det kan skrivas som en allmän regel: en samlad summa berättar om det förflutna, en takt berättar om i dag. Beslut fattas genom att se på i dag.

Vad Atlas gör

Atlas känner igen gamla nätverkskortsmodeller och märker det när en maskin fortfarande använder ett. På samma sätt visar det när diskkön inte kör på en egen exekveringstråd.

Båda ligger på nivån förslag, inte varning. Skälet är detsamma som i förra artikeln: de här sakerna är inte trasiga, de kunde bara vara bättre. Att kalla något som inte är trasigt för en varning urholkar riktiga varningar.

Vid paketförlust tillämpar produkten mätläxan ovan: den tittar inte på den samlade räknaren utan på förlusttakten under de senaste minuterna. Tappas minst ett paket per minut visas kortet; upphör förlusten försvinner kortet av sig självt.

Skälet står skrivet i koden: på grund av en räknare som aldrig nollställs skulle en maskin som en gång tappade tvåhundra paket se skyldig ut för livet. Frågan som ställs är inte "har den tappat förut" utan "tappar den just nu".

Källor

Proxmox egen dokumentation. På engelska, och den har sista ordet i den här frågan.

Relaterade artiklar

Hur ser det här ut inne i Atlas?

Gå till produktsidan