Proxmox VM vs LXC container

Permalänk
Medlem

Proxmox VM vs LXC container

Hej
Har kört proxmox i ett antal år nu och bytt hårdvara när det är dags.
Nu är det dags igen men har nu en fråga.

Jag har alltid kört VM versionen då det var det jag började med när jag körde Hyper-V (Var det enda man kunde köra om jag minns rätt)
Men jag har nu med den senaste uppgraderingen börjat titta på LXC container och kör nu några testos på detta viset.

Jag har googlat och försökt hitta fördelar och nackdelar med dessa och vad jag uppfattar så är LXC inte såå bra.
Visst LXC är smidigt och lightversion av VM och då mindre resurskrävande men finns större risker med LXC som minnesläcka och att den inte är säker omsluten runt host som VM är. Nu var en del trådar 1 år gamla så jag vet inte sanningshalten på detta nu.

Jag har inte tänkt ersätta VM med LXC men tanken var att de nya jag gör så gör jag dom i LXC i den mån jag kan.

Frågan man undrar var går gränsen man ska över väga VM eller LXC?
Läste att VM ska man ha vid mycket skrivning som exempelvis databaser och smidigare om du ska koppla externa USB anslutningar.
Medan LXC går bra till enklare saker som DNS filtering som Pi-Hole.

Ni som kör Proxmox, vad väljer ni och varför?

Permalänk
Medlem

LXC (eller linuxcontainers i allmänhet, typ docker, LXC, systemd-machined), delar minne, lagring, filträd (delvis) och kärna med host-systemet och använder Linux namespaces för att isolera processer och cgroups för att begränsa resursanvändning, medans en VM är helt isolerad (bortsätt från buggar och säkerhetshål) från host-systemet ofta via hårdvaruvirtualisering, från operativsystemet perspektiv är en VM samma sak som att köra på riktig hårdvara.

Det stämmer att VM har något mer overhead än containrar, men inte mer än 1-2 procent om det är uppsatt rätt med hårdvaruvirtualisering o.s.v.

Permalänk
Medlem

Hmm kanske ska fortsätta hålla mig till VM speciellt de som ligger i mitt DMZ nät då man vill ha en bra isolering.

Permalänk
Medlem

En fördel med LXC är att man kan mounta directories från hosten direkt i containern. Med VMs måste man såvitt jag vet börja krångla med nätverksdelning eller liknande och min magkänsla är att det aldrig kommer bli i närheten av lika stabilt och snabbt och "bra".

En annan fördel är att minnet används effektivare. Om processerna i containern behöver 1281 MB får de 1281 MB och resten av minnet på hosten kan användas till annat. Du kan sätta en maxgräns som de inte får gå över, men de kan utan bekymmer använda mindre än det (vilket är det vanliga). För en VM kan du bara ge den ett visst antal GB, och dels tar det naturligtvis mer minne rent allmänt för att man kör en extra kernel med massor av processer och har en diskcache på både host och VM, och dels så kommer den i princip alltid ta det minnet den får. De finns förvisso "ballooning" som gör att man kör en någon grej i VMen som "låtsas" behöva massa minne men i själva verket låter host:en använda det minnet, och sedan minska ner "ballongen" om minnet i VMen börjar tryta, men det känns inte som någon vidare bra lösning.

Permalänk
Medlem

mm det finns fördelar och nackdelar med allt när det gäller detta så lite svårt.
Testar denna https://tteck.github.io/Proxmox/ som är riktigt bra, får snabbt in det jag vill ha som finns på listan men även kan snabbt få igång en LXC med ubuntu om jag vill bygga eget.