Що таке контейнер Linux та гіпервізор Linux?


10

Я переглянув сайт stackexchange, але нічого не зміг знайти. Я подивився на запис wikipedia на контейнері Linux https://en.wikipedia.org/wiki/LXC , а також гіпервізор https://en.wikipedia.org/wiki/Hypervisor, але пояснення обом не виходить від людини, яка не попрацював над обома зрозуміє. Я також бачив http://www.linux.com/news/enterprise/cloud-computing/785769-containers-vs-hypervisors-the-battle-has-just-begun, але це також не пояснює це.

Я грав з VM, такими як virtualbox. Однією з початкових ідей, на яку я можу обмежитися, може бути віртуальні машини, можливо, тестування програмного забезпечення в середовищі пісочниці (наявність поля Solaris, коли ви не можете придбати / дозволити собі машину, і все ще маєте уявлення про те, як розробляється програмне забезпечення. для цього цільового обладнання працює.) Хоча це було обмежено, якщо воно використовує Це, мабуть, один із способів, який він здійснив і в хмарних обчисленнях. Питання широкі, тому я переганяю це -

Чи можуть деякі люди пояснити, що таке гіпервізор і контейнер * nix (якщо це можливо, аналогів)?
Чи гіпервізор * nix такий же, як віртуальна машина, чи є різниця?

Відповіді:


9

Віртуальна машина (VM) є досить загальним терміном для багатьох технологій віртуалізації.

Існує багато варіацій технологій віртуалізації, але основними є:

  • Віртуалізація апаратного рівня
  • Віртуалізація операційної системи

qemu-kvmі VMWareє прикладами першого. Вони використовують гіпервізор для управління віртуальними середовищами, в яких працює повноцінна операційна система. Наприклад, у qemu-kvmсистемі у вас може бути один віртуальний комп'ютер, на якому працює FreeBSD, інший під управлінням Windows та інший під управлінням Linux.

Віртуальні машини, створені цими технологіями, поводяться як окремі окремі комп'ютери для гостя. Вони мають віртуальний процесор, оперативну пам’ять, NIC, графіку тощо, для яких гість вважає справжньою статтею. Через це на VM можуть бути встановлені багато різних операційних систем, і вони працюють "поза коробкою" без змін.

Хоча це дуже зручно, оскільки багато ОС встановлять без особливих зусиль, він має недолік у тому, що гіпервізор повинен імітувати все обладнання, що може уповільнити ситуацію. Альтернативою є пара-віртуалізоване обладнання, в якому для гостя розробляється новий віртуальний пристрій і драйвер, призначений для продуктивності у віртуальному середовищі. qemu-kvmнадайте для цього virtioспектр пристроїв та драйверів. Мінусом цього є те, що гостьову ОС необхідно підтримувати; але якщо підтримується, переваги від продуктивності великі.


lxcє прикладом віртуалізації операційних систем або контейнерів. У цій системі встановлено лише одне ядро ​​- хост-ядро. Кожен контейнер - це просто ізоляція процесів в користувальницькій системі. Наприклад, веб-сервер (наприклад apache) встановлений у контейнері. Що стосується цього веб-сервера, то єдиним встановленим сервером є сам. В іншому контейнері може працювати FTP-сервер. Цей FTP-сервер не знає про встановлення веб-сервера - лише він власний. Інший контейнер може містити повну установку користувальницького дистрибутива Linux (доки цей дистрибутив може працювати з ядром хост-системи).

Однак немає окремих установок операційної системи при використанні контейнерів - лише поодинокі екземпляри служб userland. Через це ви не можете встановити різні контейнери в контейнер - немає Windows в Linux.

Контейнери зазвичай створюються за допомогою chroot. Це створює окремий приватний root ( /) для процесу, з яким потрібно працювати. Створюючи безліч окремих приватних коренів, процеси (веб-сервери або дистрибутив Linux тощо) запускаються у власній ізольованій файловій системі. Більш досконалі методи, такі як, cgroupsможна виділити інші ресурси, такі як мережа та оперативна пам'ять.


Існують плюси і мінуси як багатьох, так і багатьох тривалих дискусій щодо того, що найкраще.

  • Контейнери легші, оскільки повна ОС не встановлюється для кожного; що стосується гіпервізорів. Тому вони можуть працювати на апаратних засобах нижчого рівня. Однак вони можуть запускати лише гостей Linux (на хостах Linux). Крім того, оскільки вони діляться ядром, існує ймовірність, що компрометований контейнер може вплинути на інший.
  • Гіпервізори більш захищені та можуть запускати різні ОС, оскільки повна ОС встановлена ​​в кожному віртуальному комп'ютері, і гості не знають про інші віртуальні машини. Однак це використовує більше ресурсів для хоста, який повинен бути відносно потужним.

2

Контейнер трохи схожий на середовище chroot, за винятком того, що він забезпечує більш повну ізоляцію простору користувачів. Він пропонує не справжній VM, а віртуальну операційну систему. Відеомагнітофони створюють ілюзію декількох машин, всередині яких справжня, повна операційна система може працювати як би на голому металі. "Повна операційна система" включає тут ядро. Деякі віртуальні машини (наприклад, QEMU ) навіть дозволяють стимулювати різні види архітектури "голого металу".

Натомість контейнери створюють ілюзію декількох ядер, кожне з яких працює у повному обсязі. Ви можете, наприклад, запустити Debian в одному контейнері та Arch в іншому, так що перспектива всередині контейнера майже така ж, як і VM. Однак ви можете запустити лише землю користувача ОС, сумісну з одним фактичним ядром, в даному випадку - Linux. Це відрізняється від реальних VM, де ви можете запустити незалежне ядро ​​і, отже, будь-яку операційну систему.

Тож справжні VM дорожчі, ресурсніші, ніж контейнери; якщо вам не потрібні різні ядра в кожній машині вибору, ви можете також використовувати контейнер.

Є й інші системи віртуалізації, які роблять щось подібне до LXE, наприклад, openVZ , широко використовується постачальниками VPS. OpenVZ VPS - це незалежна користувальницька країна, яка використовує ядро ​​своєї хост-операційної системи. Ось чому такі VPS мають різноманітні смаки Linux, але нічого іншого; вони повинні бути сумісні з ядром хоста.

Віртуалізація стилів OpenVZ та LXC називається віртуалізацією на рівні операційної системи .

Гипервизор є системою , яка управляє віртуальними машинами, такими як VirtualBox , QEMU або Xen . Деякі гіпервізори, такі як Xen, працюють на голому металі та не потребують хост-операційної системи (хоча вони можуть вимагати розміщеної ОС, щоб служити інтерфейсом управління). Інші, такі як VirtualBox і QEMU, працюють в хост-операційній системі. Деякі, наприклад, QEMU, дозволяють моделювати різні архітектури машин; інші, наприклад VirtualBox, не роблять (тобто архітектура VM завжди така сама, як і реальний хост). Моделювання архітектури вимагає більше ресурсів, так само як і справжні віртуальні машини вимагають більше ресурсів, ніж контейнери.

Віртуалізація стилю гіпервізора називається віртуалізацією на рівні платформи .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.