На собеседованиях инженера виртуализации или инженера DevOps обязательно спросят про виртуализацию.
Сегодня хочу сравнить два стека:
1) VMkernel на базе ESXI от VMware vSphere
2) KVM/QEMU/Libvirt на базe Linux
Любая ОС состоит из:
- драйверов (передача инструкций от железа в ядро)
- ядра системы, Kernel (обработка системных вызовов)
- процессов, работающие поверх ядра(UserSpace).
Гипервизор:
1) эмулирует и управляет VM, превращая их в процессы своей ОС
2) передает инструкции Hardware в виртуальные Hardware
На схемах видно ключевое отличие двух стеков.
Это расположение относительно kernel, ядра ОС гипервизора.
В Linux только вторая функция, KVM, расположена в ядре, а управление, эмуляция и создание VM в UserSpace
ESXi - это классический представитель гипервизоров первого типа, почти все находятся прямо в ядре ос и оперативной памяти.
Linux KVM/QEMU/Libvirt - сочетает признаки и первого и второго типов, только KVM находится в ядре.


#linux #vmware