Containerisering

Containerisering ( virtualisering på operativsystemnivå , containervirtualisering , zonvirtualisering [1] ) är en virtualiseringsmetod där operativsystemets kärna upprätthåller flera isolerade användarutrymmesinstanser istället för en. Dessa instanser (vanligen kallade behållare eller zoner ) är identiska när det gäller processerna som körs i dem med en enda instans av operativsystemet. För Unix -baserade system liknar denna teknik en förbättrad implementering av chroot- mekanismen . Kärnan ger fullständig isolering av behållare, så program från olika behållare kan inte påverka varandra.

Till skillnad från hårdvaruvirtualisering , som emulerar en hårdvarumiljö och kan köra ett brett utbud av gästoperativsystem , kan en behållare endast köra en operativsystemsinstans med samma kärna som värdoperativsystemet (alla värdbehållare delar en gemensam kärna). Samtidigt, under containerisering, finns det inga ytterligare resurskostnader för att emulera virtuell hårdvara och starta en fullfjädrad instans av operativsystemet, vilket är typiskt för hårdvaruvirtualisering.

Det finns implementeringar fokuserade på att skapa nästan kompletta instanser av operativsystem ( Solaris Containers , Virtuozzo containers , OpenVZ ) och alternativ som fokuserar på att isolera enskilda tjänster med en minimal driftsmiljö ( jail , Docker ).

Implementeringar

Mekanism Operativ system Licens Utgivningsdatum Egenheter
Isolering av filsystem Lagringsutrymmeskvoter I/O-gränser Minnesgränser CPU-kvoter Nätverksisolering Live migration
chroot inbyggd i de flesta Unix-liknande operativsystem beroende på operativsystemlicens 1982 Delvis Inte Inte Inte Inte Inte Inte
Hamnarbetare Linux , FreeBSD , Windows , macOS Apache 2.0 2013 Ja Ja Ja Ja Ja Ja Inte
Solaris behållare Solaris , OpenSolaris CDDL 01/2005 Ja Ja Inte Ja Ja Ja [2] Nej [3]
freevps linux GNU GPL - Ja Ja Inte Ja Ja Ja Inte
iCore virtuella konton Windows XP Proprietär 06/2008 Ja Ja Inte Inte Inte Ja Inte
Linux-VServer
linux GNU GPL v.2 - Ja Ja Ja Ja Ja Ja [4] Inte
LXC
linux GNU GPL v.2 2008 Ja Inte Ja Ja Ja Ja Inte
OpenVZ linux GNU GPL v.2 2005 Ja Ja Ja [5] Ja Ja Ja [6] Ja
Virtuozzo behållare Linux , Microsoft Windows Proprietär - Ja Ja Ja [7] Ja Ja Ja [6] Ja
FreeBSD-fängelse FreeBSD BSD 03/2000 Ja Ja Inte Ja Delvis Ja Inte
sysjail OpenBSD , NetBSD BSD - Ja Inte Inte Inte Inte Ja Inte
WPAR AIX Proprietär 10/2007 Ja Ja Ja Ja Ja Ja [8] Ja [9]

Anteckningar

  1. I Solaris
  2. Solaris 10-behållare har ett isolerat nätverk där ett specifikt nätverkskort tilldelas behållaren ("exklusiv IP"). Nätverket är inte isolerat, utan virtualiserat, det vill säga varje virtuell miljö har sin egen IP-adress, brandvägg och så vidare. Nätverksisolering måste uppnås på hårdvarunivå. OpenSolaris implementerar nätverksisolering, se OpenSolaris Network Virtualization and Resource Control and Archived (nedlänk) . Hämtad 1 juni 2010. Arkiverad från originalet 1 juni 2008.   .
  3. Genomförd kall migration.
  4. Nätverket är isolerat.
  5. Tillgänglig i kärnan 2.6.18-028stable021.
  6. 1 2 Nätverket är inte isolerat, utan virtualiserat, det vill säga varje virtuell miljö har sin egen IP-adress, brandvägg och så vidare. Nätverksisolering stöds inte och måste implementeras i hårdvara.
  7. Sedan version 4.0, januari 2008.
  8. Från TL 02. Se [1] Arkiverad 1 mars 2012 på Wayback Machine .
  9. Se [2] Arkiverad 8 juli 2017 på Wayback Machine

Länkar