Co to jest kontener Linux i hypervisor Linux?


10

Spojrzałem na stronę stackexchange, ale nic nie znalazłem. Spojrzałem na wpis wikipedii na kontenerze Linux https://en.wikipedia.org/wiki/LXC oraz hiperwizora https://en.wikipedia.org/wiki/Hypervisor, ale wyjaśnienie obu jest poza osobą, która nie pracował nad albo zrozumie. Widziałem także http://www.linux.com/news/enterprise/cloud-computing/785769-containers-vs-hypervisors-the-battle-has-just-begun, ale to również tego nie wyjaśnia.

Grałem z maszynami wirtualnymi, takimi jak virtualbox. Jednym z początkowych pomysłów dla mojego ograniczonego zrozumienia może być dla maszyn wirtualnych może być testowanie oprogramowania w środowisku piaskownicy (Posiadanie systemu Solaris, gdy nie możesz kupić / stać na posiadanie maszyny i nadal masz pojęcie o tym, jak tworzysz oprogramowanie dla tego docelowego sprzętu działa). Jest to prawdopodobnie jeden ze sposobów, w jaki skoczył w chmurze. Pytania są ogólne, więc w ten sposób go destyluję -

Czy niektóre osoby mogą wyjaśnić, czym jest hiperwizor i kontener * nix (z analogiami, jeśli to możliwe)?
Czy hiperwizor * nix jest taki sam jak maszyna wirtualna, czy istnieje różnica?

Odpowiedzi:


9

Maszyny wirtualnej (VM) jest dość ogólne określenie dla wielu technologii wirtualizacji.

Istnieje wiele odmian technologii wirtualizacji, ale najważniejsze z nich to:

  • Wirtualizacja na poziomie sprzętu
  • Wirtualizacja na poziomie systemu operacyjnego

qemu-kvmi VMWaresą przykładami pierwszego. Zatrudniają hiperwizora do zarządzania środowiskami wirtualnymi, w których działa pełny system operacyjny. Na przykład w qemu-kvmsystemie możesz mieć jedną maszynę wirtualną z systemem FreeBSD, inną z systemem Windows i inną z systemem Linux.

Maszyny wirtualne utworzone za pomocą tych technologii zachowują się jak izolowane pojedyncze komputery dla gości. Mają one wirtualny procesor, pamięć RAM, kartę sieciową, kartę graficzną itp., Które według gości są oryginalnymi artykułami. Z tego powodu na maszynach wirtualnych można zainstalować wiele różnych systemów operacyjnych i działają one „od razu po wyjęciu z pudełka” bez konieczności modyfikacji.

Chociaż jest to bardzo wygodne, ponieważ wiele systemów operacyjnych instaluje się bez większego wysiłku, ma tę wadę, że hiperwizor musi symulować cały sprzęt, co może spowolnić. Alternatywą jest sprzęt zwirtualizowany, w którym dla gościa opracowano nowe urządzenie wirtualne i sterownik, zaprojektowane z myślą o wydajności w środowisku wirtualnym. qemu-kvmpodaj do tego virtiozakres urządzeń i sterowników. Minusem tego jest to, że musi być obsługiwany system operacyjny gościa; ale jeśli jest obsługiwany, korzyści w zakresie wydajności są świetne.


lxcjest przykładem wirtualizacji na poziomie systemu operacyjnego lub kontenerów. W tym systemie jest zainstalowane tylko jedno jądro - jądro hosta. Każdy pojemnik jest po prostu izolacją procesów w przestrzeni użytkownika. Na przykład serwer WWW (na przykład apache) jest zainstalowany w kontenerze. Jeśli chodzi o ten serwer WWW, jedynym zainstalowanym serwerem jest sam. W innym kontenerze może być uruchomiony serwer FTP. Ten serwer FTP nie jest świadomy instalacji serwera WWW - tylko jego własny. Inny kontener może zawierać pełną instalację systemu Linux dla dystrybucji użytkownika (o ile ta dystrybucja może działać z jądrem systemu hosta).

Jednak przy korzystaniu z kontenerów nie ma osobnych instalacji systemu operacyjnego - są to tylko pojedyncze wystąpienia usług użytkownika. Z tego powodu nie można instalować różnych platform w kontenerze - bez systemu Windows w systemie Linux.

Kontenery są zwykle tworzone przy użyciu chroot. Tworzy to oddzielny prywatny root ( /) dla procesu do pracy. Tworząc wiele indywidualnych prywatnych katalogów głównych, procesy (serwery sieciowe lub dystrybucja Linuksa itp.) Działają we własnym izolowanym systemie plików. Bardziej zaawansowane techniki, takie jak cgroupsizolowanie innych zasobów, takich jak sieć i pamięć RAM.


W obu i wielu długofalowych debatach na temat tego, co jest najlepsze, są zalety i wady.

  • Kontenery są lżejsze, ponieważ dla każdego z nich nie jest zainstalowany pełny system operacyjny; tak jest w przypadku hiperwizorów. Dlatego mogą działać na niższym sprzęcie. Mogą jednak uruchamiać tylko gości systemu Linux (na hostach systemu Linux). Ponadto, ponieważ współużytkują jądro, istnieje możliwość, że zaatakowany kontener może wpłynąć na inny.
  • Hiperwizory są bezpieczniejsze i mogą uruchamiać różne systemy operacyjne, ponieważ na każdej maszynie wirtualnej jest zainstalowany pełny system operacyjny, a goście nie są świadomi innych maszyn wirtualnych. Zużywa to jednak więcej zasobów na hoście, który musi być stosunkowo wydajny.

2

Kontener jest trochę podobny do środowiska chroot, tyle że zapewnia bardziej kompletną izolację przestrzeni użytkownika. Nie zapewnia prawdziwej maszyny wirtualnej, ale wirtualny system operacyjny. Maszyny wirtualne tworzą iluzję wielu maszyn, z których każda może działać na prawdziwym, kompletnym systemie operacyjnym, jak na czystym metalu. „Kompletny system operacyjny” obejmuje tutaj jądro. Niektóre maszyny wirtualne (np. QEMU ) pozwalają nawet na stymulowanie różnego rodzaju architektur typu „bare metal”.

Zamiast tego kontenery tworzą iluzję wielu jąder, z których każde prowadzi kompletną przestrzeń użytkownika. Możesz np. Uruchomić Debiana w jednym kontenerze, a Arch w innym, więc perspektywa z tego kontenera jest prawie taka sama jak VM. Możesz jednak uruchomić tylko system operacyjny zgodny z tym samym jądrem, w tym przypadku z Linuksem. Różni się to od rzeczywistych maszyn wirtualnych, w których można uruchomić niezależne jądro, a tym samym dowolny system operacyjny.

Tak więc prawdziwe maszyny wirtualne są droższe, pod względem zasobów, niż kontenery; jeśli nie potrzebujesz różnych jąder w każdej maszynie wirtualnej, równie dobrze możesz użyć kontenera.

Istnieją inne systemy wirtualizacji, które robią coś podobnego do LXE, takie jak openVZ , szeroko stosowane przez dostawców VPS. OpenVZ VPS jest niezależnym obszarem użytkownika, który korzysta z jądra systemu operacyjnego hosta. Właśnie dlatego takie VPS mają wiele smaków linuksowych, ale nic więcej; muszą być kompatybilne z jądrem hosta.

Wirtualizacja w stylu OpenVZ i LXC nazywa się wirtualizacją na poziomie systemu operacyjnego .

Hypervisor jest system, który zarządza maszyn wirtualnych, takich jak VirtualBox , QEMU lub Xen . Niektóre hiperwizory, takie jak Xen, działają na czystym metalu i nie wymagają systemu operacyjnego hosta (chociaż mogą wymagać hostowanego systemu operacyjnego jako interfejsu kontrolnego). Inne, takie jak VirtualBox i QEMU, działają w systemie operacyjnym hosta. Niektóre, takie jak QEMU, pozwalają na symulację różnych architektur maszyn; inne, takie jak VirtualBox, nie robią tego (architektura VM jest zawsze taka sama jak prawdziwy host). Symulacja architektury wymaga więcej zasobów, tak jak prawdziwe maszyny wirtualne wymagają więcej zasobów niż pojemniki.

Wirtualizacja w stylu hiperwizora nazywa się wirtualizacją na poziomie platformy .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.