Virtualisasi – Memulai
Fedora menggunakan keluarga alat libvirt sebagai solusi virtualisasinya.
Mengaktifkan dukungan virtualisasi perangkat keras
Bagian ini membahas pengaturan libvirt pada sistem Anda. Setelah libvirt dikonfigurasi, Anda dapat membuat sistem operasi guest yang tervirtualisasi, yang juga dikenal sebagai mesin virtual (VM).
Persyaratan sistem
Untuk menjalankan virtualisasi pada Fedora, Anda memerlukan:
-
Setidaknya 600MB ruang penyimpanan hard disk untuk setiap guest. Sistem Fedora minimal berbasis baris perintah memerlukan 600MB penyimpanan. Sistem Fedora desktop standar memerlukan setidaknya 3GB ruang.
-
Setidaknya 256MB RAM untuk setiap guest, ditambah 256MB untuk sistem operasi dasar. Disarankan minimal 756MB untuk setiap guest dengan sistem operasi modern. Cara yang baik untuk memperkirakan kebutuhan ini adalah dengan mempertimbangkan berapa banyak memori yang biasanya dibutuhkan sistem operasi tersebut, kemudian alokasikan jumlah yang sama untuk guest virtualnya.
KVM memerlukan CPU dengan ekstensi virtualisasi, yang ada di sebagian besar CPU konsumen. Ekstensi ini disebut Intel VT atau AMD-V. Untuk memeriksa apakah CPU Anda mendukung fitur ini, jalankan perintah berikut:
$ grep -E '^flags.*(vmx|svm)' /proc/cpuinfo
Jika perintah tersebut tidak menghasilkan output apa pun, sistem Anda tidak mendukung ekstensi virtualisasi yang relevan. Anda tetap bisa menggunakan QEMU/KVM, tetapi emulator akan menggunakan virtualisasi perangkat lunak yang jauh lebih lambat.
Menginstal perangkat lunak virtualisasi
Saat menginstal Fedora, Anda dapat menginstal paket virtualisasi dengan memilih Virtualization di Base Group pada penginstal.
Untuk instalasi Fedora yang sudah ada, Anda dapat menginstal alat virtualisasi melalui baris perintah menggunakan Grup Paket Virtualization. Untuk melihat daftar paketnya, jalankan:
$ dnf group info virtualization
Group: Virtualization
Description: Paket-paket ini menyediakan lingkungan virtualisasi grafis.
Mandatory Packages:
virt-install
Default Packages:
libvirt-daemon-config-network
libvirt-daemon-kvm
qemu-kvm
virt-manager
virt-viewer
Optional Packages:
libguestfs-tools
python3-libguestfs
virt-top
-
Jalankan perintah berikut untuk menginstal paket wajib dan paket default dalam grup virtualisasi:
$ sudo dnf install @virtualizationSebagai alternatif, untuk menginstal seluruh paket wajib, default, dan opsional, jalankan:
$ sudo dnf group install --with-optional virtualization -
Setelah paket terinstal, mulai layanan
libvirtd:$ sudo systemctl start libvirtdUntuk menjalankan layanan secara otomatis saat boot, jalankan:
$ sudo systemctl enable libvirtd -
Untuk memverifikasi bahwa modul kernel KVM telah dimuat dengan benar:
$ lsmod | grep kvm kvm_amd 114688 0 kvm 831488 1 kvm_amdJika hasil perintah menampilkan
kvm_intelataukvm_amd, maka KVM telah dikonfigurasi dengan benar.
Dukungan jaringan
Secara default, libvirt akan membuat jaringan pribadi untuk guest Anda di mesin host. Jaringan pribadi ini akan menggunakan subnet 192.168.x.x dan tidak dapat diakses langsung dari jaringan tempat host berada. Namun, mesin virtual guest dapat menggunakan host sebagai gateway dan mengakses jaringan luar melalui host. Jika Anda perlu menyediakan layanan di guest agar dapat diakses oleh mesin lain di jaringan host, Anda dapat menggunakan aturan iptables DNAT untuk meneruskan port tertentu atau mengatur lingkungan jaringan berbasis bridge.
Lihat halaman panduan pengaturan jaringan libvirt untuk informasi lebih lanjut tentang cara mengatur jaringan bridge.
Membuat mesin virtual
Instalasi guest Fedora menggunakan Anaconda didukung. Proses instalasi dapat dimulai melalui baris perintah menggunakan program virt-install atau melalui antarmuka grafis virt-manager.
Membuat guest dengan virt-install
virt-install adalah alat berbasis baris perintah untuk membuat guest virtual. Jalankan virt-install --help untuk melihat bantuan baris perintah, atau lihat halaman manual di man 1 virt-install.
Untuk menggunakan perintah virt-install, Anda perlu mengunduh berkas ISO dari versi Fedora yang ingin Anda instal. Anda dapat menemukan gambar Fedora terbaru di https://fedoraproject.org. Berkas ISO ini hanya diperlukan selama instalasi dan dapat dihapus setelahnya untuk mengosongkan ruang penyimpanan jika diinginkan.
Dalam contoh ini kita akan menggunakan Fedora Workstation.
Perencanaan sumber daya VM
Sesuaikan parameter ram, vcpus, dan ukuran disk sesuai dengan sumber daya yang tersedia di sistem Anda.
-
Penyimpanan: Cara mudah untuk memeriksa ukuran disk Anda dari bash shell adalah dengan menggunakan utilitas
df(1)dari terminal:$ df -h -
Memori: Anda dapat memeriksa jumlah memori yang tersedia dari terminal menggunakan perintah free(1):
$ free -m -
VCPU: Anda dapat memeriksa informasi prosesor Anda menggunakan
lscpu(1):$ lscpu
Saat mengalokasikan sumber daya untuk VM Anda, ingatlah persyaratan sistem minimum untuk versi Fedora yang akan diinstal serta kebutuhan penggunaan Anda. Untuk Fedora 43, Anda dapat menemukannya di Catatan Rilis.
Membuat penyimpanan untuk VM
Penyimpanan default libvirt terletak di /var/lib/libvirt/images – ini adalah jalur direktori induk yang digunakan dalam contoh ini. Jika Anda kekurangan ruang penyimpanan di jalur tersebut, Anda dapat memasang disk atau partisi baru ke direktori tersebut (dari terminal Bash, ketik man 1 mount) atau memilih jalur baru. Dalam contoh perintah virt-install di bawah ini, disk belum ada sebelum perintah dijalankan. Jika disk yang ditentukan belum ada, Anda harus menentukan ukurannya agar virt-install dapat membuat disk baru untuk Anda. Jika disk sudah ada, Anda dapat menghapus parameter ,size=20 dari argumen disk dengan aman.
Anda memiliki beberapa opsi penyimpanan disk untuk VM Anda. Meskipun pembahasan detailnya di luar cakupan artikel ini, berikut beberapa opsi umum yang sering digunakan. Contoh di bawah menggunakan 20G sebagai ukuran maksimum disk, tetapi Anda dapat menyesuaikan ukurannya sesuai kebutuhan.
|
Sekali lagi, Anda tidak perlu mengalokasikan penyimpanan secara manual menggunakan contoh-contoh di bawah jika Anda telah menentukan parameter ukuran dalam contoh virt-install yang ditunjukkan. |
Berkas Mentah (Non-Sparse)
Untuk membuat berkas mentah yang teralokasi penuh (non-sparse):
$ sudo dd if=/dev/zero of=/var/lib/libvirt/images/guest.img bs=1M count=20480
Anda juga dapat menggunakan fallocate(1):
$ sudo fallocate -l 20480M /var/lib/libvirt/images/guest.img
Berkas Mentah (Sparse)
Untuk membuat berkas mentah yang dialokasikan secara dinamis (sparse):
$ sudo rm -f /var/lib/libvirt/images/guest.img
$ sudo truncate --size=20480M /var/lib/libvirt/images/guest.img
QCOW2 Untuk membuat disk baru dalam format qcow2 secara terpisah, Anda dapat menggunakan qemu-img (contoh di bawah menetapkan ukuran disk sebesar 20G):
# sudo qemu-img create -f qcow2 /var/lib/libvirt/images/guest.qcow2 20480
Informasi lebih lanjut tentang opsi penyimpanan libvirt dapat ditemukan di https://libvirt.org/storage.html.
Terakhir, jalankan perintah virt-install dengan format berikut (sesuaikan parameter sesuai kebutuhan):
$ sudo virt-install --name Fedora43 \
--description 'Fedora 43 Workstation' \
--ram 4096 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/Fedora-Workstation-43/Fedora-Workstation-43-20180518.0.x86_64.qcow2,size=20 \
--os-variant fedora43 \
--network bridge=virbr0 \
--graphics vnc,listen=127.0.0.1,port=5901 \
--cdrom /var/lib/libvirt/images/Fedora-Workstation-43/Fedora-Workstation-Live-x86-64-43-1.1.iso \
--noautoconsole
|
Catatan: Untuk parameter graphics, kita mengatur pendengar VNC ke localhost karena lebih aman untuk menyalurkan koneksi VNC Anda melalui SSH sehingga tidak terekspos ke seluruh jaringan. |
virt-install dapat menggunakan berkas kickstart, misalnya virt-install -x ks=kickstart-file-name.ks.
Jika mode grafis diaktifkan, jendela VNC akan terbuka dan menampilkan instalasi grafis. Jika mode grafis tidak diaktifkan, penginstal berbasis teks akan muncul. Lanjutkan proses instalasi Fedora.
Membuat guest dengan virt-manager
-
Jalankan Virtual Machine Manager dengan membuka , atau dengan menjalankan perintah berikut:
$ sudo virt-manager -
Buka koneksi ke hypervisor dengan menavigasi ke .
-
Pilih qemu untuk KVM, atau Xen untuk Xen.
-
Pilih local atau metode lain untuk terhubung ke hypervisor jarak jauh.
-
Setelah koneksi terbuka, klik ikon baru di samping hypervisor, atau klik kanan hypervisor aktif dan pilih New.
-
Konfigurasikan mesin virtual dengan mengikuti langkah-langkah di wizard New VM.
-
Klik Finish di akhir wizard untuk membuat sistem operasi guest. Setelah beberapa saat, jendela VNC akan muncul. Lanjutkan dengan instalasi Fedora.
Mengelola mesin virtual
Setelah instalasi sistem operasi guest selesai, Anda dapat mengelolanya menggunakan program virt-manager atau melalui baris perintah menggunakan virsh.
Mengelola guest dengan virt-manager
-
Jalankan Virtual Machine Manager dengan membuka menu:[Applications]System Tools, atau jalankan:
$ virt-manager
Jika Anda bukan pengguna root, Anda akan diminta memasukkan kata sandi root.
-
Pilih host yang ingin Anda kelola dan klik Connect di jendela dialog Open Connection.
-
Daftar mesin virtual akan ditampilkan di jendela utama. Tamu yang sedang berjalan akan menampilkan ikon ">", sedangkan guest yang berhenti akan tampak berwarna abu-abu.
-
Untuk mengelola guest tertentu, klik ganda pada entri guest tersebut, atau klik kanan dan pilih Open.
-
Jendela baru untuk guest akan terbuka, memungkinkan Anda menggunakan konsolnya, melihat informasi tentang perangkat keras virtualnya, serta memulai, menghentikan, dan menjedanya.
Untuk informasi lebih lanjut tentang virt-manager, lihat panduan pengguna RedHat virt-manager.
Bug dalam alat virt-manager harus dilaporkan melalui Bugzilla pada komponen virt-manager.
Mengelola guest dengan virsh
Utilitas baris perintah virsh memungkinkan Anda mengelola mesin virtual melalui terminal. Utilitas virsh dibangun di atas API manajemen libvirt:
-
virshmemiliki serangkaian perintah yang stabil, dengan sintaks dan semantik yang tetap konsisten di setiap pembaruan platform virtualisasi yang mendasarinya. -
virshdapat digunakan oleh pengguna tanpa hak istimewa untuk operasi baca-saja (misalnya menampilkan daftar domain atau statistik domain). -
virshdapat mengelola domain yang berjalan di bawah Xen, QEMU/KVM, ESX, atau back-end lainnya tanpa perbedaan yang terlihat bagi pengguna.
Untuk memulai mesin virtual:
$ virsh create <name of virtual machine>
Untuk menampilkan daftar mesin virtual yang sedang berjalan:
$ virsh list
Untuk menampilkan semua mesin virtual, baik yang sedang berjalan maupun tidak:
$ virsh list --all
Untuk mematikan guest secara normal (graceful shutdown):
$ virsh shutdown <virtual machine (name | id | uuid)>
Untuk mematikan guest secara paksa (non-graceful):
$ virsh destroy <virtual machine (name | id | uuid)>
Untuk menyimpan snapshot mesin ke dalam file:
$ virsh save <virtual machine (name | id | uuid)> <filename>
Untuk memulihkan snapshot yang telah disimpan sebelumnya:
$ virsh restore <filename>
Untuk mengekspor berkas konfigurasi mesin virtual:
$ virsh dumpxml <virtual machine (name | id | uuid)
Untuk melihat daftar lengkap perintah yang tersedia dalam virsh:
$ virsh help
Atau lihat halaman manual: man virsh.
Bug dalam alat virsh harus dilaporkan melalui Bugzilla pada komponen libvirt.
Manajemen jarak jauh
Opsi manajemen jarak jauh berikut tersedia:
-
Jika menggunakan pengguna non-root melalui SSH, silakan lihat petunjuk pengaturan di https://wiki.libvirt.org/page/SSHSetup
-
Jika menggunakan root untuk akses melalui SSH, buat kunci SSH untuk root, lalu gunakan
ssh-agentdanssh-addsebelum menjalankanvirt-manager. -
Untuk menggunakan TLS, siapkan otoritas sertifikat lokal dan terbitkan sertifikat x509 untuk semua server dan klien. Untuk informasi tentang cara mengonfigurasinya, lihat https://wiki.libvirt.org/page/TLSSetup.
Opsi virtualisasi lainnya
QEMU/KVM tanpa libvirt
QEMU/KVM dapat dijalankan langsung tanpa libvirt, namun Anda tidak dapat menggunakan alat seperti virt-manager, virt-install, atau virsh. QEMU murni (tanpa KVM) juga dapat memvirtualisasi arsitektur prosesor lain seperti ARM atau PowerPC.
Xen
Fedora dapat dijalankan sebagai sistem operasi guest Xen maupun sebagai host Xen (yang kembali didukung mulai Fedora 16; untuk menggunakan versi Fedora sebelumnya sebagai host Xen, lihat repositori eksperimental di https://myoung.fedorapeople.org/dom0). Untuk panduan instalasi dan konfigurasi host Xen Fedora, lihat halaman Fedora Host Installation di wiki proyek Xen.
OpenStack
OpenStack terdiri dari sejumlah layanan untuk menjalankan infrastruktur cloud berbasis IaaS (Infrastructure as a Service). Layanan utamanya mencakup Object Store (Swift), Compute (Nova), dan Image (Glance).
oVirt
Proyek oVirt adalah proyek virtualisasi terbuka yang menyediakan sistem manajemen virtualisasi server end-to-end dengan kemampuan canggih untuk host dan guest, termasuk ketersediaan tinggi, migrasi langsung, manajemen penyimpanan, penjadwal sistem, dan banyak lagi.
Pemecahan masalah dan isu yang diketahui
Pertama, lihat daftar isu umum. Gantilah nomor versi sesuai dengan versi Fedora yang Anda gunakan.
Untuk tips pemecahan masalah, lihat Virtualization – How to Debug Issues.
Want to help? Learn how to contribute to Fedora Docs ›