Czym jest wirtualizacja?
Wirtualizacja to proces uruchamiania wirtualnego systemu komputerowego w warstwie abstrakcyjnej od rzeczywistego sprzętu. Najczęściej odnosi się do jednoczesnego uruchamiania wielu systemów operacyjnych w systemie komputerowym. Do aplikacji działających na wierzchu wirtualnej maszyny może się wydawać, że znajdują się na własnej dedykowanej maszynie, gdzie system operacyjny, biblioteki i inne programy są unikalne dla systemu wirtualizowanego i nie są połączone z systemem operacyjnym hosta, który siedzi pod tym.
Istnieje wiele powodów, dla których ludzie wykorzystują wirtualizację w komputerach. Dla użytkowników komputerów stacjonarnych najpowszechniejszym sposobem jest uruchomienie aplikacji przeznaczonych dla innego systemu operacyjnego bez konieczności przełączania komputerów lub ponownego uruchamiania systemu w innym systemie. Dla administratorów serwerów wirtualizacja oferuje także możliwość uruchamiania różnych systemów operacyjnych, ale być może, co ważniejsze, oferuje możliwość podzielenia dużego systemu na wiele mniejszych części, co pozwala na bardziej efektywne użycie serwera przez wielu różnych użytkowników lub aplikacji o różnych potrzebach. Pozwala również na izolowanie, utrzymywanie programów działających wewnątrz maszyny wirtualnej w sposób bezpieczny z procesów zachodzących w innej maszynie wirtualnej na tym samym hoście.
Co to jest hypervisor?
Hypervisor to program do tworzenia i uruchamiania maszyn wirtualnych. Hiperwajzorzy tradycyjnie podzielili się na dwie klasy: hiperłącza typu “type” lub “bare metal”, które uruchamiają maszyn wirtualnych gości bezpośrednio na sprzęcie systemu, zasadniczo zachowując się jak system operacyjny. Wype dwa lub “hostowane” hyperwizory zachowują się bardziej jak tradycyjne aplikacje, które można uruchomić i zatrzymać jak normalny program. W nowoczesnych systemach podział ten jest mniej rozpowszechniony, zwłaszcza w systemach takich jak KVM. KVM, skrót od maszyny wirtualnej opartej na jądrze, jest częścią jądra Linuksa, która może bezpośrednio uruchamiać maszyny wirtualne, chociaż można nadal używać systemu z wirtualnymi maszynami KVM jako zwykłego komputera.
Co to jest wirtualna maszyna?
Maszyna wirtualna jest emulowanym odpowiednikiem systemu komputerowego, który działa na górze innego systemu. Maszyny wirtualne mogą mieć dostęp do dowolnej liczby zasobów: mocy obliczeniowej, poprzez sprzęt wspomagany, ale ograniczony dostęp do CPU i pamięci urządzenia; jeden lub więcej fizycznych lub wirtualnych urządzeń dyskowych do przechowywania; wirtualną lub rzeczywistą sieć połączeń; jak również urządzenia, takie jak karty graficzne, urządzenia USB lub inne urządzenia, które są współdzielone z maszyną wirtualną. Jeśli maszyna wirtualna jest przechowywana na dysku wirtualnym, jest to często określane jako obraz dysku. Obraz dysku może zawierać pliki maszyny wirtualnej do rozruchu lub może zawierać inne szczególne potrzeby w zakresie przechowywania.
Jaka jest różnica między kontenerem a maszyną wirtualną?
Być może słyszałeś kontenery Linuksa, które są pojęciowo podobne do wirtualnych maszyn, ale działają nieco inaczej. Mimo, że zarówno kontenery, jak i maszyny wirtualne umożliwiają uruchamianie aplikacji w izolowanym środowisku, co pozwala na stosowanie wielu na tej samej maszynie, jakby były oddzielnymi komputerami, a pojemniki nie są pełne, niezależne maszyny. Kontener jest w rzeczywistości tylko procesem izolowanym, który dzieli ten sam Kernel z systemem operacyjnym hosta, jak również z bibliotekami i innymi plikami potrzebnymi do uruchomienia programu działającego wewnątrz kontenera, często z interfejsem sieciowym, tak że kontener mogą być narażone na świat w taki sam sposób, jak maszyna wirtualna. Zwykle kontenery są zaprojektowane do uruchamiania pojedynczego programu, w przeciwieństwie do emulacji pełnego serwera wielozadaniowego.