Säiliöinti

Säiliöinti () tai käyttöjärjestelmätason virtualisointi tarkoittaa tietotekniikassa kevyempää eriyttämistä kuin hypervisorilla tehtävä virtualisointi.

Ratkaisuja ovat muun muassa FreeBSD:n jail, Linux container, NetBSD:n sysjail, AIX Workload Partitions ja Solaris Container/Zone.

Säiliöt eivät tarvitse hypervisoria, virtuaalikoneita eikä tarvitse suorittaa kokonaista asiakaskäyttöjärjestelmää varsinaisen käyttöjärjestelmän lisäksi. Myöskään levytilaa ei tarvitse varata toistuville tiedoille. Säiliöitä voi käyttää kuudesta kahdeksaan kertaa enemmän samalla laitteistolla kuin perinteisellä virtualisoinnilla.

Säiliöitä kutsutaan myös virtuaaliympäristöiksi (, VE) erona virtuaalikoneille. Virtuaaliympäristö on tiettyihin tarkoituksiin sopiva vaihtoehto virtuaalikoneille pilvipalveluiden toteutukseen.
Säiliöintiä käytetään muuttumattomien käyttöjärjestelmien kanssa: näissä varsinainen käyttöjärjestelmä on samanlainen jokaisella koneella ja sovellukset asennetaan säiliöihin.

Säiliöt paketoivat sovellusohjelman, ohjelman tarvitsemat kirjastot ja muut riippuvuudet sekä konfiguraation yhdeksi kokonaisuudeksi. Säiliöt ovat eriytettyjä isäntäkäyttöjärjestelmästä ajonaikaisen ympäristön avulla ja yhteisiä ohjelmabinäärejä voi jakaa useiden säiliöiden kesken, jolloin kapasiteetin tarve pienenee.

 Toteutustekniikat 
Varhainen tapa on ollut Unixissa toteutettu chroot-rajoitus hakemistopuun rajaamiseksi, joka myöhemmin lisättiin 4.2BSD:ssä.

Linuxissa säiliöinnin toteuttamiseen käytetään yhdistelmiä ytimen tukemia mekanismeja kuten cgroups-resurssointia ja nimiavaruuksia sekä seccomp, AppArmor ja SELinux oikeusrajoitteita. Eri ratkaisuja ovat Docker, Linux-VServer, lmctfy, LXC, OpenVZ ja Podman. Ohjelmistot kuten Kubernetes, Mesos ja Swarm ovat suunnattu useiden säiliöiden hallintaan useilla eri koneilla klustereissa.https://github.com/kubernetes/kubernetes/

Myös Copy-on-write -tekniikkaa voidaan käyttää hyödyksi, jolloin oma tallennustila varataan vasta kun on tarvetta tallettaa eriävää tietoa.

Docker vaikutti merkittävästi säiliöinnin suosioon ja yleistymiseen.

 Open Container Initiative 
Open Container Initiative (OCI) on Dockerin ja Linux Foundationin vuonna 2015 perustama yhteenliittymä, joka on standardoinut käytettäviä tiedostomuotoja, ohjelmointirajapintoja ja ajonaikaisia ympäristöjä. Docker refaktoroi ohjelmistonsa pienempiin komponentteihin, joista osan se luovutti määrittelyjen kanssa OCI:lle. OCI:n ohjelmistot ja määrittelyt toimivat perustana useille muille.

 Lähteet 

 Aiheesta muualla 
 Open Container Initiative 
 Rootless containers with Podman and fuse-overlayfs (PDF) 
 Image Format Specification 
 Open Container Initiative Runtime Specification 

Luokka:Tietotekniikka