GNU/Linux >> Belajar Linux >  >> Linux

Cara Menginstal Linux KVM dan Membuat VM Tamu dengan Contoh

KVM adalah singkatan dari Mesin Virtual berbasis Kernel.

Seperti namanya, ini adalah teknologi virtualisasi berbasis kernel untuk OS Linux pada perangkat keras yang mendukung virtualisasi.

Sistem operasi tamu dapat sepenuhnya divirtualisasikan atau divirtualisasikan.

Para-virtualisasi memungkinkan beberapa sistem operasi berjalan pada satu set perangkat keras dengan menggunakan sumber daya seperti prosesor dan memori secara efektif. Dalam virtualisasi Para, sistem operasi dimodifikasi untuk bekerja dengan mesin virtual, yang akan meminimalkan waktu eksekusi yang diperlukan untuk melakukan operasi yang sulit dijalankan di lingkungan virtual.

Ini adalah artikel pertama dari rangkaian artikel yang sedang berlangsung di KVM.

1. Alat untuk Mengelola VM

Paket KVM menyediakan qemu-kvm, alat khusus hypervisor untuk mengelola mesin virtual.

Alih-alih alat ini, Anda dapat menggunakan paket perangkat lunak yang dikenal sebagai libvirt yang lebih nyaman dan cara yang disarankan untuk mengelola mesin virtual. Perangkat lunak ini mencakup pustaka API, daemon (libvirtd), dan utilitas baris perintah (virsh).

Anda dapat menggunakan alat libvirt ini untuk mengelola mesin virtual yang ada yang berjalan di KVM, Xen, VMWARE ESX, dll. Daftar lengkap hypervisor yang didukung, tercantum di libvirt.

Ada beberapa alat lain yang tersedia yang dapat Anda gunakan untuk mengelola VM tamu Anda.

  • virt-manager (Virtual Machine Manager):Alat manajemen grafis untuk Tamu VM.
  • vm-install:Utilitas berbasis menu berbasis skrip yang mendefinisikan VM Guest dan menginstal sistem operasinya.
  • virt-viewer:Klien X viewer untuk Tamu VM yang mendukung enkripsi TLS/SSL autentikasi sertifikat x509 dan autentikasi SASL.

2. Periksa Dukungan Virtualisasi di Perangkat Keras Anda

Untuk memeriksa apakah CPU Anda mendukung virtualisasi perangkat keras, jalankan perintah berikut.

# egrep '(vmx|svm)' /proc/cpuinfo

Jika Anda melihat vmx atau svm pada output di bawah bagian flags, berarti perangkat keras (CPU) Anda mendukung virtualisasi tersebut.

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm 
constant_tsc archrfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni 
dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 
popcnt lahf_lm tpr_shadow vnmi flexprioritpt vpid
.

3. Instal Paket KVM

Instal paket KVM menggunakan alat manajemen paket khusus distro Anda (misalnya, yum di RedHat dan CentOS).

# yum install kvm

Setelah Anda menginstal paket kvm utama, instal paket terkait KVM berikut yang akan membantu Anda mengelola VM di sistem Anda.

# yum install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools

Berikut ini adalah paket terkait KVM yang diinstal pada mesin saya. Nomor versi di sistem Anda mungkin sedikit berbeda.

# rpm -qa | egrep "virt|kvm|qemu"
python-virtinst-0.600.0-18.el6.noarch
qemu-img-0.12.1.2-2.415.el6.x86_64
libvirt-0.10.2-29.el6.x86_64
virt-viewer-0.5.6-8.el6.x86_64
qemu-kvm-0.12.1.2-2.415.el6.x86_64
libvirt-python-0.10.2-29.el6.x86_64
virt-manager-0.9.0-19.el6.x86_64
virt-top-1.0.4-3.15.el6.x86_64
libvirt-client-0.10.2-29.el6.x86_64
gpxe-roms-qemu-0.9.7-6.10.el6.noarch
virt-what-1.11-1.2.el6.x86_64

Setelah paket-paket diinstal, disarankan untuk me-reboot mesin Anda untuk memuat semua modul KVM dan libvirt, meskipun Anda dapat memuatnya kembali menggunakan perintah modprobe.

Anda dapat menginstal OS Guest menggunakan pengelola mesin Virtul yang vm-install (untuk SUSE Linux) dan virt-install (untuk RedHat).

Ketika tampilan Anda diatur (dengan melebihi, refleksiX atau beberapa manajer tampilan lainnya), ini menyediakan antarmuka grafis untuk membuat Wizard mesin virtual yang memandu Anda melalui proses instalasi. Jika tampilan tidak disetel, yaitu saat menghubungkan mesin menggunakan ssh tanpa penerusan X11, vm-install menawarkan wizard baris perintah untuk secara interaktif menyiapkan tamu VM untuk penginstalan.

4. Pra-persyaratan Jaringan untuk Membuat VM Tamu

Secara default, VM hanya akan memiliki akses jaringan ke VM lain di server yang sama (dan ke host itu sendiri). Jika Anda ingin VM memiliki akses ke VLAN Anda, maka Anda harus membuat jembatan jaringan pada host seperti yang dijelaskan di sini.

Edit /etc/sysconfig/network-scripts/ifcfg-eth0 dan tambahkan baris “BRIDGE=br0” (pastikan untuk menghapus semua IP statis).

Buat file /etc/sysconfig/network-scripts/ifcfg-br0 dan tambahkan entri seperti yang ditunjukkan di bawah ini. Anda dapat menggunakan statis atau dhcp. Saya menggunakan IP statis dalam kasus ini.

DEVICE="br0"
BOOTPROTO="static"
IPADDR="xxx.xxx.xxx.xxx"
NETMASK="255.255.255.0"
ONBOOT="yes"
TYPE="Bridge"
NM_CONTROLLED="no"

Jika Anda menjalankan firewall, (seperti iptables), buat aturan untuk mengizinkan lalu lintas yang dijembatani.

5. Pra-persyaratan Tambahan untuk Membuat VM Tamu

Lokasi default untuk file gambar VM berada di bawah /var/lib/libvirt/images. Harap pastikan ruang yang memadai tersedia di bawah direktori ini. Jika tidak, Anda dapat mengarahkan file gambar ke direktori lain selama pembuatan VM.

Aktifkan penerusan IP di /etc/sysctl.conf dengan menambahkan baris berikut:

inet.ipv3.ip_forward=1

Selama fase pengujian, jika Anda menjalankan SELinux, nonaktifkan dengan menyetel SELinux ke mode permisif.

Reboot sistem setelah perubahan di atas selesai.

6. Membuat VM Tamu baru menggunakan virt-install

alat virt-install digunakan untuk membuat VM. Alat ini dapat digunakan baik dalam mode interaktif maupun non-interaktif.

Dalam contoh berikut, saya meneruskan semua nilai yang diperlukan untuk membuat VM sebagai parameter baris perintah ke perintah virt-install.

# virt-install \
 -n myRHELVM1 \
 --description "Test VM with RHEL 6" \
 --os-type=Linux \
 --os-variant=rhel6 \
 --ram=2048 \
 --vcpus=2 \
 --disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10 \
 --graphics none \
 --cdrom /var/rhel-server-6.5-x86_64-dvd.iso \
 --network bridge:br0

Pada perintah virt-install di atas:

  • n Nama mesin virtual Anda
  • deskripsi Beberapa deskripsi yang valid tentang VM Anda. Contoh:Server aplikasi, server database, server web, dll.
  • tipe-os Jenis OS dapat berupa Linux, Solaris, Unix atau Windows.
  • varian-os Tipe distribusi untuk tipe os di atas. Misalnya untuk linux bisa rhel6, centos6, ubuntu14, suse11, fedora6 , dll. Untuk windows bisa win2k, win2k8, win8, win7
  • domba jantan Memori untuk VM dalam MB
  • vcpu Jumlah total CPU virtual untuk VM.
  • jalur disk =/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10 Jalur tempat file gambar VM disimpan. Ukuran dalam GB. Dalam contoh ini, file gambar VM ini berukuran 10 GB.
  • grafis tidak ada Ini menginstruksikan virt-install untuk menggunakan konsol teks pada port serial VM alih-alih jendela VNC grafis. Jika Anda telah menyiapkan xmanager, Anda dapat mengabaikan parameter ini.
  • cdrom Menunjukkan lokasi gambar instalasi. Anda dapat menentukan lokasi instalasi NFS atau http (sebagai pengganti –cdrom). Misalnya, –location=http://.com/pub/rhel6/x86_64/
  • jembatan jaringan:br0 Contoh ini menggunakan adaptor yang dijembatani br0. Dimungkinkan juga untuk membuat jaringan Anda sendiri pada port tertentu alih-alih adaptor yang dijembatani. Jika Anda ingin menggunakan NAT maka gunakan sesuatu seperti di bawah ini untuk parameter jaringan dengan nama jaringan virtual yang dikenal sebagai VMnetwork1. Semua file konfigurasi jaringan berada di bawah /etc/libvirt/qemu/networks/ untuk mesin virtual. Misalnya:–network network=VMnetwork1

7. Mencantumkan Mesin Virtual

Anda dapat mengedit menu grub dengan “console=tty0 console=ttyS0,115200” untuk menampilkan konsol untuk layar Anda selama proses instalasi di jendela SSH Anda. Ini akan memungkinkan Anda untuk menginstal OS melalui instalasi yang dipandu. Jika tidak, Anda dapat menggunakan server X untuk tampilan.

Perintah berikut akan menampilkan semua mesin virtual yang diinstal pada OS Anda. Dalam contoh ini, kami memiliki dua VM yang diinstal pada sistem ini.

# virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     dev-dev-vm                     running
 2     myRHELVM1                      running

8. Edit File Konfigurasi VM

Setelah VM dibuat, Anda akan melihat file konfigurasi VM di lokasi berikut. Nama file konfigurasi akan menjadi nama VM dengan ekstensi .xml.

# ls -l /etc/libvirt/qemu/myRHELVM1.xml
-rw-------. 1 root root 2109 Oct 15 12:30 /etc/libvirt/qemu/myRHELVM1.xml

Anda harus menghindari mengedit file ini secara manual dan sebagai gantinya gunakan perintah virsh edit. Untuk mengedit domain (mesin virtual) lakukan hal berikut:

virsh edit myRHELVM1

9. Hubungkan ke Konsol VM

Untuk terhubung ke konsol mesin virtual gunakan perintah berikut. Anda dapat menggunakan “ctrl + ]” untuk keluar dari konsol VM.

virsh console myRHELVM1

Jika Anda tidak memiliki server X yang berjalan di host Anda, menyambungkan ke konsol serial VM mungkin satu-satunya cara untuk masuk ke VM jika jaringan tidak tersedia.

Menyiapkan akses ke konsol VM tidak berbeda dengan server fisik, di mana Anda cukup menambahkan parameter boot kernel yang tepat ke VM.

Misalnya, untuk VM RHEL (atau CentOS VM), tambahkan parameter berikut ke baris boot kernel di /etc/grub.conf lalu reboot VM.

console=tty0 console=ttyS0,115200

Atau, Anda juga dapat menambahkan entri berikut ke file /etc/grub.conf.

serial --unit=0 --speed=115200
terminal --timeout=5 serial console

10. Tampilkan Informasi VM

Untuk menampilkan informasi VM, gunakan perintah berikut:

# virsh dominfo myRHELVM1
Id:             5
Name:           myRHELVM1
UUID:           58083ae7-51db-50c3-64d8-bc4c49f642d0
OS Type:        Linux
State:          running
CPU(s):         2
CPU time:       207.6s
Max memory:     2097152 KiB
Used memory:    2097152 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: selinux
Security DOI:   0
Security label: system_u:system_r:svirt_t:s0:c698,c788 (permissive)

11. Tampilkan CPU VM dan Penggunaan Memori

Untuk menampilkan CPU mesin virtual dan penggunaan memori, gunakan perintah virt-top seperti yang ditunjukkan di bawah ini.

# virt-top
virt-top 07:14:44 - x86_64 8/8CPU 1600MHz 32094MB
3 domains, 2 active, 2 running, 0 sleeping, 0 paused, 1 inactive D:0 O:0 X:0
CPU: 0.1%  Mem: 4096 MB (4096 MB by guests)
   ID S RDRQ WRRQ RXBY TXBY %CPU %MEM    TIME   NAME
    5 R    0    0 1546    0  0.0  6.0   3:29.55 dev-dev-vm
    8 R    0    0 1546    0  0.0  6.0   1:42.17 myRHELVM2
    -

12. Matikan, Reboot, atau Mulai VM menggunakan virsh

Untuk mematikan VM, lakukan hal berikut:

# virsh shutdown myRHELVM1
Domain myRHELVM1 is being shutdown

Untuk mem-boot ulang VM, lakukan hal berikut:

# virsh reboot myRHELVM1

Untuk memulai atau menghidupkan mesin virtual, lakukan hal berikut. Setelah VM dimulai, jalankan “virsh list –all” untuk melihat semua VM yang sedang berjalan.

# virsh start myRHELVM1
Domain myRHELVM1 started

Dalam artikel seri KVM berikutnya, kami akan membahas detail selengkapnya tentang cara mengedit dan memanipulasi konfigurasi pada VM individual.


Linux
  1. Cara Zip File dan Direktori di Linux (dengan Contoh)

  2. Cara Menggunakan Pipes dan Named Pipes di Linux (dengan Contoh)

  3. Cara Menginstal CVS dan Membuat Repositori CVS di Server Linux

  1. Cara Menggunakan Perintah 'cat' dan 'tac' dengan Contoh di Linux

  2. Cara Menginstal dan Menguji Ansible di Linux

  3. Flatpak di Linux:Apa Itu dan Bagaimana Menginstal Aplikasi dengannya

  1. Cara menginstal Elasticsearch dan Kibana di Linux

  2. Cara Memasang dan Menggunakan Layar Linux, Dengan Perintah

  3. Cara Menginstal Dan Menggunakan Flatpak Di Linux