Tools: libvirt and virsh/virt-manager¶
Prerequisites¶
Verifikasi jaringan default libvirt sedang berjalan¶
Sebelum memulai mesin virtual dengan libvirt, lakukan verifikasi bahwa jaringan default
libvirt telah dimulai. Jaringan ini harus aktif untuk mesin virtual Anda untuk dapat terhubung ke jaringan. Pembuakaan jaringan ini akan menciptakan sebuah jembatan Linux (biasanya disebut `` virbr0``), aturan iptables, dan proses dnsmasq yang akan berfungsi sebagai server DHCP.
Untuk memverifikasi bahwa jaringan default
libvirt diaktifkan, gunakan perintah virsh net-list dan memverifikasi bahwa jaringan default
aktif:
# virsh net-list
Name State Autostart
-----------------------------------------
default active yes
Jika jaringan tidak aktif, mulailah dengan melakukan ini:
# virsh net-start default
Gunakan virt-manager X11 GUI¶
Jika Anda berencana untuk membuat image mesin virtual pada mesin yang dapat menjalankan aplikasi X11, cara paling sederhana untuk melakukannya adalah dengan menggunakan GUI :command: virt-manager, yang diinstal sebagai paket virt-manager
pada sistem berbasis Fedora dan berbasis Debian. GUI ini memiliki klien VNC yang tertanam dimana akan membiarkan Anda melihat dan berinteraksi dengan konsol grafis guest.
Jika Anda sedang membangun image pada server tanpa kepala (headless server), dan Anda memiliki server X pada komputer lokal Anda, Anda dapat memulai virt-manager menggunakan ssh X11 forwarding untuk mengakses GUI. Sejak virt-manager berinteraksi langsung dengan libvirt, Anda biasanya perlu menjadi root untuk mengaksesnya. Jika Anda bisa ssh langsung sebagai root (atau dengan pengguna yang memiliki izin untuk berinteraksi dengan libvirt), lakukan:
$ ssh -X root@server virt-manager
Jika akun Anda gunakan untuk ssh ke server Anda tidak memiliki izin untuk menjalankan libvirt, tetapi memiliki hak sudo, lakukan:
$ ssh -X user@server
$ sudo virt-manager
Catatan
Flag -X
dilewatkan ke ssh akan mengaktifkan X11 forwarding lewat ssh. Jika usaha ini tidak berhasil, cobalah menggantinya dengan flag -Y
.
Klik tombol Create a new virtual machine di kiri atas, atau buka: menuelection:` File -> New Virtual Machine`. Lalu, ikuti instruksinya.
Anda akan ditampilkan serangkaian kotak dialog yang akan memungkinkan Anda untuk menentukan informasi tentang mesin virtual.
Catatan
Saat menggunakan image format qcow2, Anda harus mencentang opsi Customize configuration before install
, masuk ke properti disk dan secara eksplisit pilih format qcow2. Ini memastikan ukuran disk mesin virtual akan benar.
Gunakan virt-instal dan hubungkan dengan menggunakan klien VNC lokal¶
Jika Anda tidak ingin menggunakan :command: virt-manager (misalnya, Anda tidak ingin menginstal dependensi di server Anda, Anda tidak memiliki server X yang berjalan secara lokal, penerusan X11 di SSH tidak berfungsi) , Anda bisa menggunakan alat :command: virt-install untuk mem-boot mesin virtual melalui libvirt dan terhubung ke konsol grafis dari klien VNC yang terpasang pada komputer lokal Anda.
Karena VNC adalah protokol standar, ada beberapa klien yang tersedia yang mengimplementasikan spesifikasi VNC, termasuk TigerVNC (multiple platforms), TightVNC (multiple platforms), RealVNC (multiple platforms), Chicken (Mac OS X), Krde (KDE), Vinagre (GNOME).
Contoh berikut menunjukkan bagaimana menggunakan perintah qemu-img untuk membuat file image kosong, dan perintah virt-install untuk memulai mesin virtual menggunakan file image. Sebagai root:
# qemu-img create -f qcow2 /tmp/centos.qcow2 10G
# virt-install --virt-type kvm --name centos --ram 1024 \
--disk /tmp/centos.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=centos7.0 \
--location=/data/isos/CentOS-7-x86_64-NetInstall-1611.iso
Starting install...
Creating domain... | 0 B 00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
Hypervisor KVM memulai mesin virtual dengan nama libvirt, centos
, dengan RAM 1024 MB. Mesin virtual juga memiliki drive CD-ROM virtual yang terkait dengan file /data/isos/CentOS-7-x86_64-NetInstall-1611.iso
dan hard disk lokal 10 GB dalam format qcow2 yang tersimpan di host di /tmp/centos.qcow2
. Ini mengonfigurasi jaringan untuk menggunakan jaringan default libvirt. Ada server VNC yang mendengarkan semua antarmuka, dan libvirt tidak akan mencoba meluncurkan klien VNC secara otomatis atau mencoba menampilkan konsol teks (`` --no-autoconsole``). Akhirnya, libvirt akan mencoba untuk mengoptimalkan konfigurasi untuk Linux guest yang menjalankan distribusi CentOS 7.
Catatan
Bila menggunakan jaringan default
libvirt, libvirt akan menghubungkan antarmuka mesin virtual ke sebuah jembatan yang disebut virbr0
. Ada proses dnsmasq yang dikelola oleh libvirt yang akan membagikan alamat IP pada subnet 192.168.122.0/24, dan libvirt memiliki aturan iptables untuk melakukan NAT untuk alamat IP di subnet ini.
Jalankan perintah osinfo-query os untuk melihat rentang opsi yang diperbolehkan --os-variant
.
Gunakan perintah virsh vncdisplay vm-name untuk mendapatkan nomor port VNC.
# virsh vncdisplay centos
:1
Pada contoh di atas, guest centos
menggunakan layar VNC :1
, yang sesuai dengan port TCP 5901
. Anda harus bisa menghubungkan klien VNC yang berjalan di komputer lokal Anda untuk menampilkan :1
pada mesin remote dan masuk melalui proses instalasi.