Apa itu KVM? KVM adalah kepanjangan dari Kernel-Based Virtual Machine, sebuah teknologi virtualisasi yang dikembangkan oleh Linux untuk membagi server fisik menjadi beberapa resource dedicated.
Secara umum, KVM adalah sebuah mesin virtual yang berjalan di kernel sistem operasi Linux. Adapun produk yang dihasilkan dari penggunaan KVM sendiri adalah paket VPS (Virtual Private Server).
Kernel-Based Virtual Machine merupakan solusi dalam melakukan virtualisasi pada komputer Linux dengan perangkat tipe X86 (x86).
Dengan berbekal teknologi kernel server linux, Alhasil KVM sendiri memiliki keunggulan dalam hal performa serta kemampuan skalabilitas lebih baik ketika kita butuh resource besar.
Jika dibandingkan dengan virtualisasi lain seperti OpenVZ yang menggunakan shared kernel, KVM menggunakan kernel independen sehingga Anda bisa leluasa dalam melakukan pengaturan.
Benefit menggunakan KVM
- Performa
Dikarenakan kvm adalah type-1 hypervisor, kita tidak perlu Host OS untuk menjalankan virtualisasinya, jadi VM yang kita buat di KVM bisa lebih cepat performanya
- Skalabilitas
Dengan menggunakan KVM kita bisa membuat node cluster untuk VM kita, dan terdapat fitur untuk live migration yang berarti kita bisa memindahkan VM kita ke node KVM lain tanpa adanya downtime
- Keamanan
Dikarenakan KVM ada di modul kernel linux, maka ketika ada bug pada security akan lebih cepat di patch karena Linux merupakan hasil kolaborasi komunitas open-source.
- Murah
Kita tidak perlu mengeluarkan uang untuk membuat sebuah mesin virtualisasi dengan performa yang oke, karena KVM gratis digunakan.
Installasi dan Konfigurasi KVM
Pertama kita cek terlebih dahulu apakah cpu kita support KVM dengan menjalankan perintah berikut:
grep -Eoc '(vmx|svm)' /proc/cpuinfo
Jika hasilnya 0 artinya processor tidak support KVM.
Lanjut kita langsung ke installasinya
Disini saya menggunakan Ubuntu 20.04 sebagai servernya, dengan spesifikasi 8GB RAM dan 4 CPU. Sebelum menginstall KVM kita update terlebih dahulu repositorynya.
sudo apt update -y
Selanjutnya kita install paket yang dibutuhkan
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
KVM berhasil di install, jika kita ingin menjalankan kvm tanpa menggunakan user root kita perlu menambahkan user kita ke group libvirt
sudo usermod -aG arya libvirt
Cek layanan libvirtd, pastikan running
sudo systemctl status libvirtd
Verifikasi bahwa KVM sudah terinstall
virsh list --all
Untuk memudahkan manajemen KVM kita perlu menginstall virt-manager di client (Linux)
Debian Based Linux
sudo apt install virt-manager -y
Arch Based Linux
sudo pacman -S virt-manager
RedHat Based
sudo dnf install virt-manager -y
Tampilannya seperti ini
Untuk terkoneksi ke server, kita bisa menambahkannya dengan cara klik File > Add Connection. Sebelum itu pastikan kita sudah mengkonfigurasi login ssh dengan key bisa baca disini.
Kita isi username dan hostname(IP/Domain server)
Selanjutnya klik Connect, Jika di dashboard sudah bertambah maka koneksi ke server berhasil!!
Menjalankan Virtual Machine
Untuk menjalankan VM tentunya kita perlu ISO file dari OS yang mau kita install(pastikan sudah ada). Selanjutnya pindahkan file iso ke direktori /var/lib/libvirt/images.
Kemudian untuk membuat VM baru, klik gambar New VM dikiri atas.
Kemudian pilih Local install media(ISO image or CDROM), disini kita bisa memilih sumber installasi lain seperti Network Install, Network Boot, atau dari Disk yang sudah ada.
Selanjutnya kita pilih File ISO nya dengan klik Browse
Pilih ISO yang sudah di tersedia, contohnya disini saya memilih iso Ubuntu Server. Disini kita juga bisa memilih ISO dari direktori lain dengan Browse Local. Setelah memilih iso klik Choose Volume
Secara otomatis biasanya operating system akan terdeteksi, selanjutnya klik Forward
Lalu kita atur RAM dan CPU, klik Forward lagi untuk melanjutkan ke menu selanjutnya
Selanjutnya kita buat disk baru untuk VM nya, klik Manage
Selanjutnya tambah storage pool baru dengan mengklik tombol +
Buat Storage Pool baru, contoh dengan nama storage untuk Target Path nya kita pilih direktori khusus penyimpanan disk VM. Lalu klik Finish
Kita buat disk baru untuk VM Ubuntu Server yang kita buat, klik icon + di bagian Volumes
Atur size disk sesuai keinginan, misal 20GB lalu klik Finish untuk membuat disk
Selanjutnya klik Choose Volume untuk memilih disk yang baru kita buat sebagai disk VM
Setelah berhasil memilih disk, lanjut klik Forward untuk ke menu selanjutnya
Tahap terakhir, kita centang Customize configuration before install dan pilih Network default.
Jika default network kita masih inactive kita bisa mengaktifkannya secara permanen dengan cara berikut:
sudo virsh net-autostart default
sudo virsh net-start default
Di sini kita bisa customize VM kita mulai dari jenis boot BIOS/UEFI
Network juga bisa kita custom, misal device modelnya dan masih banyak lagi yang bisa kita custom.
Disini kita langsung klik Begin Installation dibagian atas, untuk melakukan installasi VM
Lakukan installasi VM seperti biasa.
Networking di KVM
Secara default sudah ada network yang digunakan di KVM yaitu NAT, jika kita ingin menghubungkan VM kita ke internet bisa cukup menggunakan NAT, namun jika kita ingin menghubungkan VM kita agar satu jaringan di lokal kita perlu menambahkan interface bridge, ada beberapa cara untuk membuat bridge di Linux, kali ini kita akan membuat interface bridge dengan menggunakan netplan di Ubuntu.
Edit file konfigurasi netplan.
sudo vim /etc/netplan/00-installer-config.yaml
network:
ethernets:
ens160:
dhcp4: no
bridges:
br0:
dhcp4: yes
interfaces:
- ens160
version: 2
ens160 adalah nama interface yang terhubung ke Internet, mungkin nama interface di server kalian berbeda (tinggal disesuaikan).
Selanjutnya simpan konfigurasi dan jalankan perintah netplan apply untuk menerapkan konfigurasi
netplan apply
Lalu kita cek interface bridgenya apakah sudah berhasil kita buat
ip a | grep br0
Selanjutnya ubah Network VM kita menjadi bridge
Cek di VM apakah sudah mendapatkan IP lokal, disini network lokalnya yaitu 172.23.0.0/20
Cloning Virtual Machine
Di KVM kita juga bisa melakukan cloning VM, yang berguna jika kita ingin membuat banyak VM tanpa harus menginstall satu persatu. Untuk melakukan cloning , VM wajib dalam keadaan mati.
Sebagai contoh disini saya akan melakukan cloning Ubuntu-Server2
Untuk caranya pilih Ubuntu-Server2, lalu klik kanan -> Clone..
Kemudian beri nama untuk VM yang di clone, lalu klik Clone untuk memulai proses
Tunggu proses cloning selesai
Proses clone VM berhasil!
Backup Virtual Machine di KVM
Untuk melakukan backup, kita hanya perlu menyalin file disk VM dan file konfigurasi serta VM harus wajib dalam keadaan mati.
Contoh: disk VM berlokasi di /var/lib/libvirt/disk akan kita salin ke direktori khusus backup
cp /var/lib/libvirt/disk/ubuntu20.04 /mnt/disk1/ubuntu-server-backup
Untuk file konfigurasi defaultnya ada di /etc/libvirt/qemu
cp /etc/libvirt/qemu/Ubuntu-Server.xml /mnt/disk1/ubuntu-server.xml
Backup berhasil!
Snapshot di KVM
Snapshot adalah metode menyimpan state VM, befungsi jika kita ingin rollback ke state sebelumnya jika konfigurasi kita terjadi error.
Untuk melakukan snapshot di KVM cukup mudah, kita klik tombol snapshot lalu klik tombol +
Selanjutnya beri nama snapshot misal “VM-Kosongan” dan tambahkan keterangan, terakhir klik Finish untuk membuat snapshot
Snapshot berhasil dibuat!
Untuk merestore snapshot, tinggal pilih snapshot lalu klik tombol start
Monitoring Performa dan Troubleshooting
Untuk monitoring pemakain CPU, Memory, Disk dan Networking bisa kita lihat di bagian menu performance di virt-manager.
Untuk troubleshooting secara default sudah ada log per-virtual machine lokasinya ada di /var/log/libvirt/qemu. Seperti berikut:
Live Migration di KVM
Agar KVM bisa melakukan live migration kita perlu mengkonfigurasi storage server seperti NFS,iSCSI
- Lebih jelasnya bisa kunjungi disini
- Kita juga harus melakukan konfigurasi ssh-key di masing-masing server KVM, caranya bisa di lihat disini
- Jika kedua server sudah siap, langsung saja kita buka virt-manager, kemudian pilih VM -> Klik kanan pilih Migrate.. selanjutnya pilih server tujuan dan ubah mode menjadi tunnelled
- Sebelum migraasi kita coba ping IP VM yang mau di migrate(Untuk pengujian apakah ada downtime atau tidak)
- Selanjutnya klik migrate, lalu tunggu proses sampai selesai
- Migrasi berhasil, dan ping masih berjalan berarti tidak ada downtime ketika migrasi.
Tertarik untuk mengikuti training di IDN.ID? kami menyediakan berbagai pilihan training cek disini.
Penulis : Arya Pramudika