Customize Cloud Disk Image using Guestfish | Modifikasi Cloud Disk Image Menggunakan Guestfish | Home Lab

Ach.Chusnul Chikam
3 min readAug 11, 2020

--

Pada kesempatan kali ini, saya akan memberikan panduan cara memodifikasi cloud disk image menggunakan guestfish. Kemudian untuk pengecekannya, dibuat sebuah server di OpenStack menggunakan image yang sudah dimodifikasi. Apa itu guestfish?
Guestfish merupakan tools yang disediakan oleh paket libguestfs-tools untuk memodifikasi sistem file mesin virtual (disk image). Guestfish dapat menyesuaikan mesin virtual dengan menginstal paket, mengedit file konfigurasi, dan sebagainya. Tools ini bekerja untuk format raw disk dan qcow2. Langsung saja, mari ikuti panduan berikut:

Instalasi Libguestfs-tools

Lakukan instalasi guestfish menggunakan paket libguestfs-tools:

# yum -y install libguestfs-tools-c.x86_64

Pastikan guestfish berhasil terinstall, lakukan pengecekan dengan memberikan perintah guestfish --help . Selanjutnya, berikan akses LIBGUESTFS_BACKEND menjadi direct dengan cara:

# export LIBGUESTFS_BACKEND=direct

Modifikasi Image Menggunakan Guestfish

Pada panduan ini, guestfish digunakan untuk menginstall web server, mengaktifkannya dan merubah halaman awal. Sebelum itu dilakukan, download dulu image yang akan di modifikasi (CentOS 8):

# wget http://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.2.2004-20200611.2.x86_64.qcow2 -O ~/CentOS-8-GenericCloud-8.2.x86_64.qcow2

Kemudian jalankan perintah guestfish dengan beberapa properti:

# guestfish -i --network -a CentOS-8-GenericCloud-8.2.x86_64.qcow2

Setelah masuk guestfish, lakukan beberapa perintah untuk memodifikasi image:

><fs> command "yum -y install httpd"
><fs> command "systemctl enable httpd"
><fs> command "systemctl is-enabled httpd"
><fs> touch /var/www/html/index.html
><fs> vi /var/www/html/index.html
><fs> cat /var/www/html/index.html
><fs> selinux-relabel /etc/selinux/targeted/contexts/files/file_contexts /
><fs> exit

Unggah Image ke Glance

Setelah image sudah dimodifikasi, unggah image tersebut ke Glance Openstack menggunakan perintahopenstack image :

# openstack image create \
--disk-format qcow2 \
--container-format bare \
--public \
--file CentOS-8-GenericCloud-8.2.x86_64.qcow2 \
CentOS-8

Buat Instance/Server

Buatlah sebuah server menggunakan image yang baru saja di upload ke Glance menggunakan perintah openstack server :

# openstack server create \
--image CentOS-8 \
--flavor m1.small \
--network private \
--security-group my_secgroup \
--key-name admin_key \
myserver-from-custom-image

Tambahkan floating ip ke server yang telah dibuat:

# openstack floating ip create --project <project_name> --subnet <public_subnet> public
# openstack floating ip list -c “Floating IP Address” -c Port
# openstack server add floating ip myserver-from-custom-image <floating_ip_address>

Pengecekan Image

Lihat daftar server yang tersedia, kemudian amati floating ip pada server yang dibuat menggunakan image modifikasi. Lakukan pengecekan dengan command curl :

# openstack server list
# curl <ip_address_server>

Untuk lebih jelasnya, buka browser dan akses floating ip untuk mengecek halaman depan dari web server yang telah terinstall:

Sekian panduan cara memodifikasi cloud disk image menggunakan guestfish.
Selamat mencoba.
Good Luck! :)

Lihat panduan lainnya

Terima kasih,
#s0mprett0_tenan

References :

#OpenStack #Ussuri #RHEL8 #OpenSource #StayHealth

--

--

Ach.Chusnul Chikam

Cloud Consultant | RHCSA | CKA | AWS SAA | OpenStack Certified | OpenShift Certified | Google Cloud ACE | LinkedIn: https://www.linkedin.com/in/achchusnulchikam