Published November 04, 2020 by with 0 comment

Ubuntu 18.04 : How to Install KVM

    Hallo Semua, Pada kesempatan kali ini kami akan share tutorial tentang KVM, seperti biasa kita akan review terlebih dahulu tentang apa itu kvm. Kernel-Based Virtual Machine (KVM) adalah salah satu teknologi virtualisasi (hypervisor) yang dikembangkan oleh Linux. KVM merupakan sebuah solusi untuk melakukan virtualisasi pada Linux dengan perangkat keras type x86 (64-bit). KVM diimplementasikan sebagai modul kernel loadable yang mengubah kernel Linux menjadi bare metal hypervisor. Ada dua prinsip desain utama yang diadopsi oleh KVM dengan tujuan agar KVM menjadi hypervisor dengan kinerja tinggi dan melampaui open source hypervisors lainnya. 
    Pertama, karena KVM didesain setelah kemunculan teknologi virtualisasi dibantu perangkat keras (hardware assisted virtualization), KVM tidak perlu mengimplementasikan fitur yang telah disediakan oleh perangkat keras. KVM membutuhkan prosesor Intel VT-X atau AMD-V dan menggunakan fitur tersebut untuk virtualisasi CPU. Karena memanfaatkan dukungan perangkat keras yang telah tersedia, KVM mampu merancang solusi hypervisor yang optimal tanpa memerlukan beban yang mendukung perangkat keras dan tidak perlu modifikasi untuk mendukung sistem operasi guest
    Kedua, tim KVM menerapkan pepatah “don’t reinvent the wheel”. Terdapat banyak komponen yang dibutuhkan oleh hypervisor agar KVM mampu memvirtualisasi CPU dan memori, seperti: pengatur memori, penjadwal proses, I/O stack, device drivers, pengatur keamanan, network stack, dan sebagainya. Faktanya, suatu hypervisor adalah sistem operasi khusus, hanya saja tujuan hypervisor berbeda dengan tujuan umum sistem operasi lainnya. Hypervisor menjalankan mesin virtual, bukan aplikasi-aplikasi. Karena kernel Linux sudah mencakup fitur inti yang diperlukan oleh hypervisor dan Linux telah menjadi platform skala enterprise yang stabil selama lebih dari lima belas tahun, KVM dibangun berdasarkan kernel Linux agar lebih efisien, daripada menulis semua komponen yang dibutuhkan seperti pengatur memori dan penjadwal dari awal. 
    Dalam hal ini, KVM mendapatkan pelajaran dari pengalaman Xen. Salah satu tantangan utama arsitektur Xen adalah arsitektur pemecahan domain dan hypervisor Xen. Karena hypervisor Xen menyediakan fitur platform inti dalam stack, Xen perlu mengimplementasikan fitur-fitur tersebut, seperti penjadwal dan pengatur memori, dibangun dari nol. Misalnya saat kernel Linux memiliki pengatur memori yang telah teruji dan baik termasuk dukungan untuk NUMA dan sistem skala besar, hypervisor Xen perlu membangun dukungan ini dari awal. Demikian pula fitur seperti manajemen daya di Linux yang sudah matang dan telah terbukti di lapangan harus diimplementasi ulang pada hypervisor Xen.
    Keputusan penting lainnya yang dibuat oleh tim KVM adalah penggabungan KVM ke dalam hulu kernel Linux. Kode KVM telah disampaikan kepada komunitas kernel Linux pada Desember 2006 dan diterima ke dalam kernel 2.6.20 pada Januari 2007. Pada titik ini, KVM menjadi bagian inti dari Linux dan dapat mewarisi fitur penting dari kernel Linux. Sebaliknya, patch yang dibutuhkan untuk membangun Linux Domain0 untuk Xen masih belum menjadi bagian dari kernel Linux dan memerlukan vendor untuk membuat dan mengelola cabang dari kernel Linux. Hal ini mengakibatkan peningkatan beban pada distributor Xen yang tidak mampu memanfaatkan fitur dari kernel hulu secara mudah. Setiap fitur baru, perbaikan bug, atau penambahan patch yang ditambahkan dalam kernel hulu Linux harus dikonfigurasi ulang agar dapat bekerja dengan setelan patch Xen. KVM telah didukung oleh beberapa vendor terkemuka dalam industri perangkat lunak, termasuk Red Hat, AMD, HP, IBM, Intel, Novell, Siemens, SGI, dan lain-lain. [reference]

Berikut cara install kvm :
1. install kvm dan dependence
```bash
root@kvm:~# apt-get install -y qemu-kvm libvirt-bin virtinst bridge-utils libosinfo-bin libguestfs-tools virt-top
```
2. Enable vhost-net
```bash
root@kvm:~# modprobe vhost_net
root@kvm:~# lsmod | grep vhost

vhost_net              20480  0
vhost                  32768  1 vhost_net
macvtap                20480  1 vhost_net

root@kvm:~# echo vhost_net >> /etc/modules 
```
3. Konfigurasi network bridge
```bash
root@kvm:~# vi /etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      # disable existing configuration for ethernet
      #addresses: [10.20.20.30/24]
      #gateway4: 10.20.20.1
      #nameservers:
        #addresses: [10.20.20.10]
      dhcp6: no

  # add configuration for bridge interface
  bridges:
    br0:
      interfaces: [ens3]
      dhcp4: no
      addresses: [10.20.20.30/24]
      gateway4: 10.20.20.1
      nameservers:
        addresses: [10.20.20.10]
      parameters:
        stp: false
      dhcp6: no

root@kvm:~# reboot
root@kvm:~# ip addr 
```
Yaps, Selesai sudah, sampai bertemu di tutorial berikutnya!

      edit

0 comments:

Post a Comment