KVM - topologi memori
Technology

Arsitektur KVM (Part 1)

Penjelasan prinsip dasar KVM telah dijelaskan pada artikel ini.

Dalam arsitektur KVM, mesin virtual diimplementasikan sebagai proses Linux biasa yang dijadwalkan oleh penjadwal Linux standar. Sebenarnya, setiap CPU virtual muncul sebagai proses Linux biasa. Hal ini memungkinkan KVM untuk mendapatkan keuntungan dari semua fitur kernel Linux. Emulasi perangkat ditangani oleh versi termodifikasi QEMU yang menyediakan BIOS, bus PCI, bus USB, dan satu set perangkat seperti IDE, pengontrol cakram SCSI, kartu jaringan yang diemulasikan. Pada Part 1 ini, akan dibahas arsitektur keamanan, pengelolaan memori, dan dukungan perangkat keras.

Keamanan

KVM - arsitekturKarena mesin virtual diimplementasikan sebagai proses Linux, KVM memanfaatkan model keamanan Linux standar untuk menyediakan kontrol isolasi dan sumber daya. Kernel Linux berisi SELinux (Security-Enhanced Linux), suatu proyek yang dikembangkan oleh Badan Keamanan Nasional Amerika Serikat untuk menambahkan kontrol akses wajib, keamanan multilevel dan multikategori, serta penegakan kebijakan. SELinux menyediakan isolasi sumber daya yang ketat dan “memenjarakan” proses yang berjalan pada kernel Linux. Proyek sVirt membangun SELinux yang menyediakan suatu infrastruktur untuk memungkin­kan administrator dalam menentukan kebijakan pada isolasi mesin virtual. sVirt memastikan bahwa sumber daya mesin virtual tidak dapat diakses oleh proses lain (atau mesin virtual lain). sVirt dapat dikembangkan oleh administrator untuk menentukan hak akses yang mendetail, misalnya sekelompok mesin virtual yang saling berbagi sumber daya. Hypervisor pasti menjadi target yang menarik bagi para hacker karena hypervisor yang dieksploitasi dapat membahayakan semua mesin virtual yang di-host. Sudah pernah ada yang melakukan eksploitasi hypervisor, misalnya eksploitasi “Invisible Things Lab” pada tahun 2008 di mana domU Xen dapat membahayakan domain0 host. Pada dunia industri, SELinux dan sVirt menyediakan infrastruktur dengan level keamanan dan isolasi tak tertan­dingi.

KVM - stack memori

Pengelolaan Memori

KVM mewarisi fitur pengelolaan memori yang canggih dari Linux. Memori mesin virtual disimpan sebagai memori seperti untuk setiap proses Linux lainnya dan dapat dipertukarkan, yang didukung oleh pages besar untuk kinerja yang lebih baik, dibagikan, atau didukung oleh suatu file cakram. Dukungan NUMA memungkinkan mesin virtual untuk mengakses memori dalam jumlah besar secara efisien. KVM mendukung fitur virtualisasi memori terbaru dari vendor CPU dengan dukungan untuk Intel’s Extended Page Table (EPT) dan AMD’s Rapid Virtualization Indexing (RVI) agar penggunaan CPU berkurang dan mendapatkan throughput yanglebih tinggi.

Berbagi page memori didukung oleh fitur kernel bernama Kernel Same-page Merging (KSM). KSM memindai memori setiap mesin virtual. Jika mesin virtual memiliki page memori yang identik, KSM menggabungkannya menjadi page tunggal yang dibagikan bersama di antara mesin-mesin virtual, dan menyimpan satu salinan saja. Apabila guest mencoba untuk mengubah shared page tersebut, dia akan diberi salinan page tersebut secara privat.

KVM - topologi memori
KVM – topologi memori

Saat mengonsolidasi banyak mesin virtual ke suatu host, terdapat banyak situasi di mana page memori dapat digunakan bersama, misalnya memori yang tidak digunakan dalam mesin virtual Windows, DLLs umum, libraries, kernel, atau objek umum lainnya di antara mesin virtual. Dengan KSM, mesin virtual yang dapat dikonsolidasi dalam satu host menjadi lebih banyak sehingga mengurangi biaya perangkat keras dan meningkatkan utilisasi server.

Dukungan Perangkat Keras

Karena KVM adalah bagian dari Linux, KVM memanfaatkan seluruh ekosistem perangkat keras sehingga setiap perangkat keras yang didukung oleh Linux dapat digunakan oleh KVM. Linux menikmati salah satu dari ekosistem terbesar vendor perangkat keras dan sifat komunitas open source, di mana vendor perangkat keras dapat berpartisipasi dalam pengembangan kernel Linux, memastikan bahwa fitur perangkat keras terbaru diadopsi pada kernel Linux dengan cepat sehingga memungkinkan KVM untuk memanfaatkan berbagai macam platform perangkat keras. Jika fitur baru ditambahkan pada kernel Linux, KVM mewarisi fitur tersebut tanpa rekayasa tambahan sehingga tuning yang sedang berlangsung dan optimalisasi Linux dapat menguntungkan KVM secara langsung.

Media Penyimpanan (Storage)

KVM dapat menggunakan segala macam media penyimpanan yang didukung oleh Linux untuk menyimpan images mesin virtual, termasuk cakram lokal dengan IDE, SCSI, dan SATA, Network Attached Storage (NAS) termasuk NFS dan SAMBA/CIFS atau SAN dengan dukungan untuk iSCSI dan Fiber Channel. Multipath I/O dapat digunakan untuk meningkatkan throughput penyimpanan dan menyediakan redundansi. Karena KVM adalah bagian dari kernel Linux, KVM dapat memanfaatkan infrastruktur penyimpanan yang teruji dan handal dengan dukungan dari semua vendor penyimpanan terkemuka dengan stack penyimpanan yang telah teruji dalam penyebaran produksi di seluruh dunia.

KVM juga mendukung images mesin virtual pada shared file system seperti Global File System (GFS2) agar images mesin virtual dapat dibagikan di antara berbagai host atau dibagikan menggunakan logical volume. Image cakram mendukung thin provisioning, memungkinkan pemanfaatan storage yang lebih baik hanya dengan mengalokasikan penyimpanan apabila dibutuhkan oleh mesin virtual, daripada mengalokasikan seluruh penyimpanan di depan. Format cakram asli dari KVM adalah QCOW2, berisi dukungan untuk snapshots, memungkinkan berbagai level snapshots, kompresi, dan enkripsi.

(Bersambung ke Part 2)

sumber: KVM Whitepaper dari Red Hathttp://www.redhat.com/resourcelibrary/whitepapers/doc-kvm

2 tanggapan untuk “Arsitektur KVM (Part 1)”

Ada komentar?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.