KVM (Kernel-based Virtual Machine) це технологія віртуалізації для Linux, яка дозволяє запускати на одному фізичному сервері кілька незалежних операційних систем. В основі рішення лежить модуль, включений до ядра Linux, який перетворює його на повноцінний гіпервізор. Простіше кажучи, система KVM дає змогу створити на фізичному обладнанні кілька віртуальних машин (VM), кожна з яких поводиться як окремий комп’ютер зі своїми ресурсами та налаштуваннями.
Розробниками KVM спочатку виступили співробітники компанії Qumranet, а згодом технологію прийняла спільнота Linux, і вона увійшла до складу офіційної версії ядра. Привабливість цього підходу обумовлена тим, що KVM не потребує серйозних доопрацювань у користувацькому просторі, адже віртуалізація здійснюється безпосередньо за допомогою механізмів, вбудованих у саме ядро.
Серцем цієї віртуалізації є вбудований модуль у ядрі Linux, який дозволяє запускати гостьові машини, розподіляючи між ними обчислювальні ресурси. При ввімкненні KVM кожне віртуальне середовище отримує власну емуляцію апаратних компонентів: процесора, ОЗП, мережевих інтерфейсів і блоків зберігання даних. Таким чином, кожна гостьова ОС (Windows, Linux чи інша підтримувана система) бачить своє оточення, не підозрюючи, що вона лише частина більшого сервера.
Завдяки апаратному прискоренню (Intel VT-x або AMD-V) віртуальні машини працюють із високою продуктивністю. Гіпервізор KVM відповідає за ізоляцію, даючи змогу запускати кілька операційних систем одночасно, не заважаючи одна одній. Це забезпечує ефективніше використання фізичних ресурсів: CPU, пам’яті, мережі (з урахуванням пропускної здатності в Гбіт або Мбіт), а також дає гнучкість при масштабуванні.
Плюси:
Мінуси:
На ринку існує кілька типів рішень для віртуалізації, серед яких широко відомі OpenVZ, VMware і Hyper-V. Відмінність KVM у тому, що він використовує рівень ядра Linux як гіпервізор, тоді як OpenVZ — це контейнерна технологія, а Hyper-V і VMware ESXi найчастіше виступають як окремі системи з власними інтерфейсами на іншому рівні.
Контейнерні рішення (наприклад, LXC або Docker) працюють дещо інакше — вони ділять спільне ядро, тож повної ізоляції немає. З одного боку, це забезпечує вищу швидкість роботи, з іншого — виникає ризик, що збій в одній системі зашкодить усім контейнерам.
Під час замовлення віртуальних серверів (VPS), побудованих на KVM, хостинг виділяє певну кількість оперативної пам’яті, процесорних ядер, а також гарантує пропускну здатність мережі. Така інфраструктура VPS дає змогу встановити майже будь-яку операційну систему — будь то різні дистрибутиви Linux або Windows Server. Завдяки апаратній віртуалізації ресурси резервуються саме під конкретну віртуальну машину, що виключає ситуацію, коли один користувач «забирає» надто багато потужності, залишаючи інших клієнтів без достатнього обсягу CPU або RAM.
Особливе значення має можливість тонкого налаштування. Адміністратори можуть керувати мережевими інтерфейсами, вмикати додаткові модулі ядра, змінювати параметри безпеки та використовувати будь-які інструменти для забезпечення надійної роботи сайту. При цьому зберігається стабільність, наближена до виділеного (фізичного) сервера, без суттєвого ускладнення.
У поєднанні зі спеціалізованим софтом KVM дає більшу гнучкість, ніж контейнерні аналоги. Наприклад, якщо потрібно запускати різні версії PHP або повноцінну підтримку Windows-додатків, KVM ідеально підходить як фундаментальна платформа. Окрім цього, багато хмарних провайдерів створюють комплексні рішення на базі KVM для динамічного масштабування, даючи змогу оперативно збільшувати ресурси без простою.
KVM — сучасна технологія віртуалізації, яка перетворила ядро Linux на потужний гіпервізор. Вона забезпечує майже повну ізоляцію віртуальних машин, високу продуктивність і універсальність у виборі операційних систем. І хоча налаштування KVM може здаватися складнішим, ніж у контейнерних рішень, натомість користувач отримує надійну платформу, максимально наближену за стабільністю до фізичного сервера.
Дізнайтесь більше як купити домен, хостинг, VPS або виділений сервер.
Гіпервізор у KVM — це компонент ядра Linux, який дає змогу створювати та запускати віртуальні машини. Він забезпечує апаратну віртуалізацію, що дозволяє кожній віртуальній машині працювати незалежно.
На VPS із KVM можна встановити практично будь-яку операційну систему, яка підтримує архітектуру x86, включно з Linux, Windows і BSD.
KVM VPS надає повний контроль над віртуальною машиною, що дозволяє встановлювати й використовувати власні ядра ОС. Це особливо важливо для тих, кому потрібні специфічні налаштування ядра.
VNC-доступ — це графічний доступ до консолі віртуальної машини. Він використовується для керування VPS через графічний інтерфейс.
Резервні копії KVM VPS можна робити за допомогою знімків (snapshots) віртуальних машин або шляхом копіювання файлів віртуальних дисків. Це дає змогу відновити VPS у разі збоїв або втрати даних.