10. 10. 2019.

Virtuelne mašine i Linux kontejneri















Virtuelizacija
Da li ste nekada poželeli da pokrenete neko okruženje na Vašem računaru, odvojeno od ostatka sistema? Ili možda da pokrenete neku stariju – legacy aplikaciju ili operativni sistem na računaru sa novijim hardverom? Ovo su samo neke od primena virtuelizacije. U seriji članaka „Virtuelne mašine i Linux kontejneri“ ćemo se upoznati sa virtuelnim mašinama i kontejnerima i videti koje su razlike između njih.

Virtuelizacija platforme putem virtuelnih mašina izvodi se na hardverskoj platformi putem host softvera – hipervizora koji stvara simulirano računarsko okruženje za gostujući operativni sistem. Dakle, kod virtuelnih mašina, gostujući operativni sistem se izvršava kao da se izvršava direktno na fizičkom hardveru.

Kontejneri su „laka“ tehnologija virtuelizacije koja se razlikuje od virtuelnih mašina po tome što ne emuliraju hardver i što dele kernel operativnog sistema sa hostom. Kontejner, u stvari, predstavlja izolovani korisnički prostor u kojem se procesi pokreću direktno na kernelu host sistema, ali imaju ograničen pristup resursima sistema.

Linux kontejneri
Linux kontejneri su metod virtuelizacije na nivou operativnog sistema koji omogućava pokretanje više izolovanih Linux sistema na kontrolnom hostu koristeći jedan Linux kernel. Ovo omogućava cgroups funkcionalnost Linux kernela koja obezbeđuje ograničavanje resursa (procesora, radne memorije, U/I uređaja, mreže, …), kao i potpunu izolaciju pogleda gostujućeg operativnog sistema na radno okruženje.

U ovom i narednom članku obradićemo kreiranje i upravljanje virtuelnim mašinama i kontejnerima i na njih kao primer postaviti NodeJS web aplikaciju. Za upravljanje virtuelnim mašinama koristićemo VirtualBox, dok ćemo za upravljanje Linux kontejnerima koristiti dva alata – LXC i LXD.