Behållare eller virtuell maskin: skillnaden i en mening och dess fyra följder
Valet görs oftast av vana kring resurser. Ändå ryms skillnaden i en enda mening, och allt annat följer av den.
AtlasPVE ·
Den här artikeln svarar på
- proxmox lxc eller vm
- proxmox behållare eller virtuell maskin
- proxmox lxc fördelar
- proxmox vilket ska jag välja
- är proxmox lxc säkert
Du ska köra något nytt på Proxmox och det finns två alternativ. Båda kör ett Linux, båda står sida vid sida i panelen, båda ser ut att göra samma jobb.
Valet görs oftast av vana kring resurser: "en behållare är lättare". Sant, men det bör inte avgöra.
Skillnaden ryms i en mening: en virtuell maskin bär med sig sin egen kärna, en behållare använder tjänarens. Allt du behöver veta följer av den meningen.
Första följden: var gränsen går
Den virtuella maskinens gräns dras av hårdvaran. Behållarens gräns dras av tjänarens kärna.
Det betyder inte att en behållare är "svag"; det säger var gränsen går. Vill ett fel i programvara inuti en behållare nå tjänaren måste det förbi tjänarens egen kärna. I en virtuell maskin måste det förbi en mur på hårdvarunivå.
Den praktiska frågan lyder: hur mycket litar du på det du ska köra? För en tjänst du skrivit själv eller använt i åratal passar en behållare utmärkt. För något nedladdat du inte helt genomskådar är en virtuell maskin en bättre plats.
Andra följden: allt går inte att köra i en behållare
Ingenting som behöver en egen kärna går att köra i en behållare. Programvara som vill ha en annan kärnversion, ett verktyg som laddar kärnmoduler, ett operativsystem som inte är Linux: alla kräver en virtuell maskin.
Det är ingen smaksak, det är en direkt följd av meningen ovan. Använder en behållare tjänarens kärna kan du inte be den byta den kärnan.
Tredje följden: underhållet rör dem olika
Detta är den minst kända följden och den som mest sannolikt gör ont.
Uppdaterar du motorn för virtuella maskiner påverkas inte körande maskiner. Den nya motorn gäller maskiner som startas efter den uppdateringen. En underhållsnatt kan alltså passera tyst över dina körande maskiner.
Uppdaterar du behållarnas körlager kan körande behållare påverkas, eftersom de alla delar det lagret. Under uppdateringen kan det delade fillagret monteras om och korta åtkomstfel kan dyka upp inuti behållarna.
Detta är ingen produktåsikt, det är den direkta följden av samma enda mening: uppdaterar du något delat känner alla som delar det av det.
Fjärde följden: rörelsefriheten
En virtuell maskin kan flyttas till en annan nod medan den kör. En behållare kan inte: den stängs av, flyttas och startas igen.
Ligger alltså arbete som inte tål avbrott i en behållare kommer det arbetet att stanna under underhållsnätter. Det hör hemma i vågskålen när du bestämmer placeringen.
Den praktiska regeln
Välj en behållare när det du kör är en vanlig Linux-tjänst du annars kunde köra på tjänaren, när du litar på den och när den tål ett kort avbrott.
Välj en virtuell maskin när en egen kärna behövs, när den inte får avbrytas under underhåll, eller när du inte helt litar på det du kör.
Resursskillnaden kommer efter dessa tre prov. Att en behållare drar mindre minne är sant, men kostnaden för en behållare på fel plats överstiger den besparingen mångfalt.
Vad Atlas gör
Atlas bär den här skillnaden inte som en slogan utan som beteende.
I bedömningen av uppdateringar behandlas motorn för virtuella maskiner och behållarnas körlager var för sig. Uppdateras maskinmotorn ligger svaret för körande maskiner på informationsnivå: de påverkas inte, den nya motorn gäller dem som startas senare. Uppdateras behållarlagret stiger nivån till varning och skälet skrivs ut: det delade lagret kan monteras om, överväg att stoppa kritiska behållare en kort stund.
Samma skillnad syns i flyttplaneringen: för behållare erbjuds inte flytt under drift som ett alternativ, i stället anges kedjan stäng av, flytta, starta.
Produkten framställer alltså inte de två som "två varianter av samma sak". De beter sig olika, alltså beskrivs de olika.
Källor
Proxmox egen dokumentation. På engelska, och den har sista ordet i den här frågan.