Sekarang sedang musimnya teknologi Cloud, kita bisa dengan mudah membuat virtualisasi pada saat butuh OS untuk experiment. Tapi tidak semua orang punya biaya lebih untuk menyewa cloud, jadi mereka memilih membuat virualisasi di local komputer secara pribadi.
Sayangnya melakukan setup OS dari awal itu cukup memakan waktu, apalagi untuk kebutuhan yang berulang. Maka ada tools yang namanya vagrant, tools ini membantu untuk mempermudah proses provisioning dengan memberikan format template yang bisa kita duplicate dan tentunya box hub yang bisa kita unduh (box adalah peribahasa untuk template vm vagrant).
Detail pembahasan vagrant bisa kamu baca di arikel saya yang lain : Mengenal Vagrant – Tools Virtualisasi di GNU/Linux
Artikel ini sebenarnya membahas keresahan yang saya alami pada vagrant, karena umumnya user vagrant akan menggunakan virtualbox atau vmware sebagai virtual machine nya. Tapi pada waktu yang bersamaan saya menjalankan waydroid pada laptop sehingga keduanya tidak dapat jalan secara bersamaan.
Jadi bagaimana caranya waydroid bisa jalan bersamaan dengan virtual server yang saya buat di local menggunakan vagrant ?
Jawabnya yaitu menggunkan teknologi virtualisasi yang sama. Disini Waydroid menggunakan teknologi yang mekanismenya kurang lebih sama seperti qemu, maka agar virtual server saya jalan secara bersamaan saya harus menggunakan qemu yang ter-integrasi dengan vagrant.
Beruntungnya vagrant sudah menyediakan tools tersebut yaitu vagrant-libvirt. Meskipun proses setup tidak berjalan mudah, tapi akhirnya saya mendapatkan cara yang pas dan mudah untuk dilakukan. Jadi saya akan coba bagikan disini agar kalian tidak perlu mencoba jalur yang terjal seperti saya di awal.
Contents
Bagian 1 : Install Qemu, Kvm & Libvirt
Pertama kita perlu melakukan installasi package yang dibutuhkan seperti qemu, kvm, libvirt dan sebagainya.
Ubuntu
sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager nfs-kernel-server dnsmasq ebtablesManjaro
sudo pacman -Syu
sudo pacman -S qemu libvirt virt-manager dnsmasq vde2 bridge-utils openbsd-netcatBagian 2 : Install Vagrant
Setelah semua bagian package pendukung di install, selanjutnya kita installkan vagrant.
Ubuntu
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install vagrantManjaro
sudo pamac install vagrantBagian 3 : Install support package
Selanjutnya install beberapa package pendukung lainnya.
Ubuntu
sudo apt update
sudo apt install -y build-essential libvirt-dev ruby-dev libxml2-dev libxslt1-dev zlib1g-dev ebtables dnsmasq-base curlManjaro
Tidak ada package yang perlu di installBagian 4 : Install plugin vagrant-libvirt dan konfigurasi
Setelah semua package yang dibutuhkan terinstall, selanjutnya kita masuk ke konfigruasi vagrant. Pertama install plugin libvirt pada vagrant.
vagrant plugin install vagrant-libvirtPastikan proses installasi berhasil dilakukan, selanjutnya tambahkan user yang kamu gunakan kedalam group dari libvirt dan libvirt-qemu. Kenapa ? Agar pernagkat qemu mau menjalankan perintah virtualisasi yang kamu berikan.
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG libvirt-qemu $(whoami)Selanjutnya aktifkan dan jalankan service berikut.
sudo systemctl enable --now libvirtd
sudo systemctl enable --now virtlogd
sudo systemctl enable --now virtlockdUntuk memastikan semua proses installasi dan konfigurasi sudah berjalan, maka reboot komputer.
Bagian 5 : Uji Coba
Sekarang kita coba pastikan semuanya berjalan dengan baik, kita lakukan ujicoba dengan menjalankan sebuah vm dengan membuat Vagrantfile. Kamu bisa buat dimana saja misalkan buat directory ~/vagrant lalu buat Vagrantfile berikut.
mkdir ~/vagrant
nano ~/vagrant/VagrantfileMasukan konfigurasi minimal berikut, disini kita akan membuat sebuah vm menggunakan box dari bento/ubuntu-24.04 dengan private ip 192.168.121.10.
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-24.04"
config.vm.synced_folder ".", "/vagrant", type: "nfs", nfs_version: 4
config.vm.network "private_network", ip: "192.168.121.10"
endJika sudah disimpan maka kamu bisa pindah direktory dan jalankan vagrant up.
cd ~/vagrant
vagrant upTunggu sampai proses vagrant up selesai, apabila kamu belum memiliki box bento/ubuntu-24.04 maka sistem akan melakukan pengunduhan terlebih dahulu.
Tips
Pastikan pada proses ini tidak ada sistem virtualisasi lain yang berjalan baik itu virtualbox maupun vmware karena akan mempengaruhi terhadap keberhasilan sistem. Kecuali virtualisasi yang dibuat dari gnome-boxes karena mereka masih menggunakan teknologi yang sama.
Jika kamu tertaik dengan video praktiknya, maka kamu bisa coba menonton video berikut :
Penutup
Dengan artikel ini kita jadi paham bahwa vagrant bisa menjalankan vm menggunakan teknologi qemu yang secara default menjadi bawaah dari linux, membuat sistem virtualisasi menjadi lebih ringan dibandingkan dengan virtualisasi lain dan pastinya tidak akan menggangu aplikasi Waydroid.
Tapi kekurangnnya adalah size dari box yang menggunakan format qemu lebih besar jika dibandingkan dengan format virtualbox dan vmware.
Referensi :
- https://www.warriornux.com/mengenal-vagrant/
- https://github.com/waydroid/waydroid
- Beberapa diskusi dengan chatgpt



