Донецкий техникум промышленной автоматики

гипервизор KVM

  1. Гипервизор KVM: особливості та принцип роботи
  2. Гипервизор KVM: архітектура
  3. Переваги та недоліки KVM
  4. Функціональні можливості і властивості гипервизора
  5. Безпека
  6. управління пам'яттю
  7. Зберігання даних
  8. динамічна міграція
  9. Продуктивність і масштабованість
  10. стабільність

А ви задавалися питанням як влаштовано хмара? Найдинамічніший ІТ-тренд, в розвиток якого інвестуються мільярди доларів щорічно, перед тим як стати готовим продуктом або сервісом, який можна використовувати, проходить свій технологічний процес виробництва. Деталізувати цей процес можна до нескінченності, тому ми розглянемо тільки завершальний етап - віртуалізацію, а саме програмні продукти, або апаратні складові, за допомогою яких і виконується віртуалізація.

Перший матеріал, з серії «технології VPS / VDS», присвячений програмному продукту KVM (Kernel-based Virtual Machine). Починаємо з нього, так як саме цей гипервизор ми використовуємо в хмарі Tucha і, звичайно ж, наше ставлення до нього особливе.

Гипервизор KVM: особливості та принцип роботи

Технології віртуалізації все частіше стали застосовуватися в сучасних системах. Віртуальні машини - найпростіший спосіб мати кілька різних операційних систем з супутньою програмної середовищем для виконання різних завдань - тестування або розробки ПО, організації хостингу з використанням VPS, поширення цифрової продукції, навчання і т.д. Для спрощення управління віртуальними машинами використовуються Гіпервізор - програмні рішення, які дозволяють швидко запускати, зупиняти, розгортати нові віртуальні машини в межах одного хоста. Одним з найбільш популярних гіпервізора для UNIX-подібних систем є KVM.

Гипервизор KVM: архітектура

KVM (абревіатура від Kernel-based Virtual Machine) - це програмне забезпечення, яке дає можливість реалізувати віртуалізацію на базі комп'ютерів під управлінням ОС Linux і подібних. З деяких пір KVM є частиною Linux-ядра, тому розвивається разом з ним. Працює тільки в системах з апаратною підтримкою віртуалізації - на процесорах Intel і AMD.

Для організації роботи KVM використовує прямий доступ до ядра за допомогою процесор-специфічного модуля (kvm-intel або kvm-amd). Крім того, до складу комплексу входить головне ядро ​​- kvm.ko і елементи UI, в тому числі і популярний QEMU. Гипервизор дозволяє працювати безпосередньо з файлами віртуальних машин і образами дисків з інших програм. Для кожної машини створюється ізольований простір зі своєю пам'яттю, диском, мережевим доступом, відкритий і іншими пристроями.

Переваги та недоліки KVM

Як і будь-яке програмне рішення, KVM має як плюси, так і мінуси, виходячи з яких, хостери і кінцеві споживачі приймають рішення про використання цього ПЗ.

Основні переваги гипервизора такі: Основні переваги гипервизора такі:

  • незалежно розподіляються ресурси. Кожна працююча під управлінням KVM віртуальна машина отримує свій обсяг оперативної і постійної пам'яті і не може «залізти» в інші області, що підвищує стабільність роботи;
  • широка підтримка гостьових ОС. Крім повної підтримки UNIX-дистрибутивів, в тому числі * BSD, Solaris, Linux, є можливість встановлювати Windows і навіть MacOS;
  • взаємодія з ядром дозволяє безпосередньо звертатися до обладнання робочої станції, що робить роботу більш швидкою;
  • підтримка грандів софтверного ринку (RedHat Linux, HP, Intel, IBM) дозволяє проекту швидко розвиватися, охоплюючи все більшу кількість обладнання і OS, в тому числі новітніх;
  • просте адміністрування - можливість віддаленого управління через VNC і велика кількість стороннього ПО і надбудов.

Без недоліків теж не обійшлося: Без недоліків теж не обійшлося:

  • відносна молодість гипервизора (наприклад, в порівнянні з Xen) і відповідно вибухове зростання призводять до різних проблем, особливо при додаванні підтримки нового обладнання і програмного оточення;
  • складність налаштувань, особливо для недосвідченого користувача. Правда, більшість опцій можна не міняти - вони налаштовані оптимально «з коробки».

Функціональні можливості і властивості гипервизора

Комплекс KVM характеризується такими основними властивостями - безпека, зручне управління пам'яттю, надійне зберігання даних, динамічна міграція, продуктивність, масштабованість і стабільність.

Безпека

У KVM кожна машина являє собою Linux-процес, тому на неї автоматично поширюються стандартні політики безпеки, а також ізоляція від інших процесів. Спеціальні надбудови (такі як SELinux) додають і інші елементи безпеки - контроль доступу, шифрування і т.д.

управління пам'яттю

управління пам'яттю

Оскільки KVM є частиною ядра Linux, гипервизор успадковує потужні інструменти управління пам'яттю. Сторінки пам'яті кожного процесу, тобто віртуальних машин, можуть швидко копіюватися і змінюватися без шкоди швидкості роботи. З підтримкою багатопроцесорних систем KVM отримала можливість управляти великими обсягами пам'яті. Підтримується також узагальнення пам'яті - об'єднання однакових сторінок і видача копії машині за запитом, а також інші методи оптимізації.

Зберігання даних

Для зберігання образів машин і їх даних KVM може використовувати будь-які носії, які підтримуються родової операційною системою - жорсткі диски, NAS, знімні накопичувачі, в тому числі з багатопотоковим введенням-висновком для прискорення роботи. Крім того, гипервизор може працювати з розподіленими файловими системами - наприклад, GFS2. Диски для KVM мають власний унікальний формат, який підтримує динамічне створення знімків різного рівня, шифрування і стиснення.

динамічна міграція

динамічна міграція

Важлива особливість KVM - підтримка динамічної міграції: переміщення віртуальних машин між різними хостами без їх зупинки. Для користувачів така міграція зовсім непомітна - машина залишається робочої, продуктивність не страждає, мережеві з'єднання активні. Звичайно, можлива і міграція через збереження поточного стану виртуалки в знімок і розгортання на іншому хості.

Продуктивність і масштабованість

Масштабованість і продуктивності комплексу завдяки щільній інтеграції з Linux, повністю успадковані від цієї ОС. Таким чином, гипервизор підтримує до 16 процесорів (віртуальних або фізичних) і до 256 ГБ ОЗУ в кожній віртуальній машині. Це дозволяє використовувати гипервизор навіть в найбільш високонавантажених системах.

стабільність

стабільність

Програмний комплекс постійно вдосконалюється - якщо спочатку він підтримував тільки платформу Linux x86, то сьогодні кількість різних платформ обчислюється десятками, включаючи всі популярні серверні ОС. Крім того, ви без зусиль зможете розгорнути віртуальну машину з модифікованою складанням операційної системи, якщо вона сумісна з батьківської платформою. А завдяки співпраці з провідними виробниками ПО гипервизор KVM можна назвати самим стабільним і надійним на ринку.

Беручи до уваги всі переваги і функціональні можливості віртуалізації за допомогою KVM, ми і прийняли рішення про використання даної технології для розгортання наших хмарних сервісів . І, судячи з відгуками задоволених клієнтів, вчинили правильно. :)