Virtualisasi

Apa itu Hypervisor?

Definisi

A hypervisor is the software layer that creates and runs virtual machines, allocating physical CPU, memory and IO between them. A type-1 hypervisor runs directly on the hardware; KVM is unusual in being a type-1 hypervisor implemented as a Linux kernel module, which lets it use the whole Linux driver ecosystem.

Mengapa Hypervisor penting

Hypervisor tipe-1 berjalan langsung pada perangkat keras; KVM tidak biasa dalam menjadi hypervisor tipe-1 yang diimplementasikan sebagai modul kernel Linux, yang memungkinkannya menggunakan seluruh ekosistem driver Linux.

Hypervisor dalam praktik

Saat Anda menjalankan server di hypervisor KVM, Anda melihat alokasi perangkat keras sebenarnya: vCPU, RAM, I/O disk. Anda menyesuaikannya dari panel, sering kali menambah memori secara panas tanpa reboot. Jika salah dengan overcommit host, beban kerja bising tetangga akan membuat CPU atau IO instance Anda kelaparan, mengubah guest yang dikonfigurasi sempurna menjadi lamban. Virtualisasi bersarang berarti Anda dapat menjalankan hypervisor di dalam hypervisor Anda, berguna untuk pengujian, tetapi memakan performa dan dapat mengacaukan penghitungan sumber daya Anda sendiri.

Kesalahan umum tentang Hypervisor

Kesalahan umum adalah memperlakukan hypervisor sebagai batas kontainer. Ini tidak. Hypervisor memberi Anda mesin virtual penuh, kernel Anda sendiri, /proc Anda sendiri, tanpa namespace bersama. Orang menganggap proses tetangga tidak terlihat atau kernel kustom mereka tidak mungkin, lalu mengalami keterbatasan. Koreksinya: dengan KVM, Anda mendapatkan isolasi dan kontrol yang sejati, sehingga Anda dapat mem-boot image buatan tangan atau menjalankan virtualisasi bersarang, hal yang tidak bisa dilakukan kontainer.

Hypervisor — pertanyaan umum

Apa arti hypervisor tipe-1?

Hypervisor tipe-1 berjalan langsung di perangkat keras host, bukan di atas sistem operasi. KVM istimewa karena merupakan hypervisor tipe-1 yang diimplementasikan sebagai modul kernel Linux, sehingga dapat menggunakan seluruh ekosistem driver Linux untuk mengelola perangkat keras. Itu memberi Anda performa virtualisasi bare-metal dengan fleksibilitas Linux.

Bagaimana KVM berbeda dari kontainer seperti OpenVZ?

KVM menyediakan virtualisasi sejati: setiap guest mendapatkan kernel sendiri, /proc sendiri, dan tanpa namespace bersama, sehingga Anda memiliki akses root penuh dan dapat menjalankan kernel kustom. Kontainer berbagi kernel host dan namespace, yang membatasi apa yang bisa Anda lakukan. Dengan KVM, Anda mendapatkan isolasi dan kontrol, termasuk kemampuan menjalankan virtualisasi bersarang atau mem-boot ISO kustom.

Lainnya dari virtualisasi

KVM
KVM adalah virtualisasi perangkat keras penuh yang dibangun ke dalam kernel Linux, memberi setiap tamu kernelnya sendiri dan isolasi yang ditegakkan perangkat keras dari penyewa lain.
OpenVZ
OpenVZ adalah virtualisasi berbasis kontainer di mana setiap instance berbagi kernel host, sehingga tamu tidak dapat memuat modul kernel atau menjalankan sistem operasi yang berbeda.
LXC
LXC adalah kontainerisasi asli Linux yang mengisolasi proses dengan namespaces dan cgroups sambil berbagi kernel host.
Virtualisasi bersarang
Virtualisasi bersarang memungkinkan mesin virtual itu sendiri menjalankan mesin virtual, dengan mengekspos ekstensi virtualisasi prosesor ke tamu.
vCPU
vCPU adalah prosesor virtual yang disajikan ke tamu, didukung oleh waktu penjadwalan pada inti fisik atau utas.
cloud-init
cloud-init adalah mekanisme standar untuk mengonfigurasi mesin virtual pada boot pertama, menggunakan metadata yang disediakan oleh platform.