Що таке віртуалізація kvm, losst
Сьогодні складно уявити світ без комп'ютеризованих пристроїв. Років так 20 тому майже всі побутові прилади були електро-механічні, про використання комп'ютерних схем повсюдно не було навіть і мови. Найперші комп'ютери займали значні обсяги простору, і могли відносно не багато. Комп'ютерно-обчислювальні комплекси за останнім часом пройшли чималий шлях розвитку. Хоча, принципово комп'ютери нічим не змінилися, але обчислювальні потужності стрімко зросли. Наявність комп'ютера в простій родині тепер не є чимось особливим.
В даний момент, найчастіше велика кількість комп'ютерної техніки в приміщеннях може доставляти значно незручностей. З цієї причини стали з'являтися централізовані системи. Але централізовані системи часто не можуть вирішити тих проблем, які вирішує мережу з комп'ютерів. З цієї причини і була запропонована концепція віртуалізації, коли один центральний комп'ютер виконує роль мережі комп'ютерів.
Загальні відомості про віртуалізації
За своєю суттю, все ОС це в общем-то і так деяка віртуальне середовище, яка надається розробнику ПО, як засіб реалізації кінцевих завдань. Вже давно минув той час, коли програми писалися конкретно під апаратну частину комп'ютера за коштами апаратних кодів і запитів. Сьогодні ж, будь-який додаток - це в першу чергу додаток, написане на деякому API, який знаходиться під управлінням ОС. Завдання ж ОС - надати даними API безпосередньо доступ до апаратних ресурсів.
Власне видів віртуалізації існує декілька:
- Програмна віртуалізація;
- Апаратна віртуалізація;
- Віртуалізація рівня операційної системи.
Віртуалізація в свою чергу буває повною і частковою.
Програмна віртуалізація - вид віртуалізації, який задіює різні бібліотеки ОС, транслюючи виклики віртуальної машини в виклики ОС. (DOSBox, Virtualbox, VirtualPC)
Апаратна віртуалізація - такий вид, який передбачає спеціалізовану інструкцію апаратної частини, а конкретно інструкцій процесора. Дозволяє виконувати запити в обхід гостьовий ОС, і виконувати прямо на апаратному забезпеченні. (Віртуалізація KVM, віртуалізація XEN, Parallels, VMware, Virtualbox)
Віртуалізація рівня операційної системи - віртуалізація тільки частини платформи, без повної віртуалізації апаратної частини. Має на увазі роботи декількох екземплярів середовища ОС. (Docker, LXC)

Схема 1. - Взаємодія компонентів віртуальної машини з апаратною частиною
Особливості віртуалізації для ядра Linux
Для виконання прямих апаратних запитів в ОС повинна бути бібліотека, яка направляла б ці запити апаратної частини безпосередньо. На платформах бази Linux довгий час ніякої вбудованої системи віртуалізації (вбудованого гипервизора), просто не існувало. Кожен виробник ПО для віртуалізації, який підтримувало технологію апаратної віртуалізації, змушені були створювати власні модулі для ядра Linux (vboxdrv в Virtualbox, vmware-service в VMWare і ін.) Природно, це не могло тривати вічно, і компанія Qumranet, Inc, викуплених потім Radhat створила асоціацію Open Virtualization Alliance, яка була визнана вирішити проблему відсутності базового гипервизора для ядра Linux. Так і був створений гіпервізорKVM або Kernel-based Virtual Machine.
Гипервизор KVM представляє з себе завантажуваний модуль ядра Linux, який призначений для забезпечення віртуалізації на платформі Linux x86. Сам модуль містить компонент власне віртуалізації (kvm.ko), і процесорної-специфічний завантаження модуль kvm-amd.ko або kvm-intel.ko.
Необхідною умовою для використання KVM є підтримка інструкцій віртуалізації - Intel VT або AMD. і ядро Linux версії 2.6.20 і вище. Існує також порт KVM під Free-BSD. Для виклику KVM традиційно використовується QEMU, але також ведуться спроби додати підтримку KVM в Virtualbox.
Використання
Для використання даного гипервизора існує безліч реалізацій. Деякі являють собою цілі спеціалізовані бібліотеки, інші мають вигляд простих графічних додатків.
Для наочності розглядається віртуалізація KVM на базі бібліотеки virt-manager.
Дана бібліотека Ви легко зможете зателефонувати різних гіпервізора, надаючи зручний інтерфейс для автоматизації процесу віртуалізації. Крім того, бібліотека має можливість роботи з мережевою інфраструктурою, що іноді важливо, при побудові клієнт-серверних робочих місць.

Схема 2. - Взаємодія компонентів libvirt
QEMU дозволяє створити фрейм для виклику гипервизора на клієнтській системі. Дана програма налаштовується аргументами виклику командного рядка, є досить легкою і простий.
Існують крім того кілька графічних оболонок, таких як Gnome-Boxes.