Ini adalah satu dari beberapa case selama percobaan instalasi sampai operational openstack, mungkin untuk case satu ini perlu di catat karena memang sedikit dokumentasi yang mengarah ke hal ini. Mungkin untuk step instalasi dibahas di postingan lain saja.
Alkisah ketika saya mau create instance didalam openstack muncul sebuah log error seperti berikut :
Block Device Mapping is Invalid.
Beberapa referensi mengatakan penyebabnya karena beberapa hal dan bisa jadi berbeda-beda.
- Bisa jadi karna network external-nya yang ga reachable –> komunikasi dengan openvswitchnya gak jalan.
- Volume size yang gak di set sedemikian rupa –> ukuran volume size musti lebih tinggi dari size pada flavor yang diberikan.
- Ukuran Volume Capacity yang terlalu kecil
Setelah di lakukan analisa, dan beberapa kali percobaan yang menurutku paling masuk akal yaitu Ukuran Volume Capacity yang terlalu kecil. Kemudian saya cek di volume.log yang berada di lokasi /var/log/cinder/ menggunakan command berikut.
tail /var/log/cinder/volume.log
Ternyata muncul log..
ImageUnacceptable: Image 1831f3e8-2794-439d-804a-01f603a7cb2d is unacceptable: Image virtual size is 8GB and doesn’t fit in a volume of size 2GB.
***ralat eror diatas dikarenakan ukuran volume yg terset lebih kecil dari ukuran disk yaitu 8gb, dan dikarenakan kondisi tertentu yang mengharuskan saya musti membesarkan ukuran cinder volume seperti dibawah.
Nampaknya penyebab cinder gagal membuat instance dikarenakan ukuran default yang ter-set di tool openstack instalasi. Oh iya sempat lupa, openstack yang saya jalankan ini diatas Centos 7 dengan menggunakan packstack untuk versi Mitaka. Bisa diliat untuk konfigurasi default ukuran /var yaitu cuman 20GB. Sedangkan saya ada kebutuhan untuk create instance minimal ukuran hardisk 20GB. Bisa cek di konfigurasi berikut..
CONFIG_CINDER_VOLUMES_SIZE=20G
Jadi dengan kondisi default tersebut, tiap instance openstack hanya bisa mendapatkan max volume dalam instance itu 20GB. Cuman ada cara lain ternyata, kita bisa extend volume capacity supaya lebih besar dari yang sebelumnya.
Untuk melihat ukuran volume capacity bisa menggunakan command “vgs”. Bisa dilihat untuk ukuran cinder-volumes hanya 20GB.
[root@linux-openstack ~(keystone_admin)]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz–n- 698.14g 64.00m
cinder-volumes 1 1 0 wz–n- 20.60g 15.60g
[root@linux-openstack ~(keystone_admin)]#
Sekarang kita bikin partisi baru yang akan dipakai untuk extend volume group tersebut. Dengan cara bikin file baru dengan nama “cinder-volumes2” yang memiliki ukuran partisi 100Gb. Dan file tersebut akan diasosiasikan dengan loop device /dev/loop2. Dan device tersebut dipartisi menggunakan fdisk.
[root@linux-openstack ~(keystone_admin)]# dd if=/dev/zero of=cinder-volumes2 bs=1 count=0 seek=100G
[root@linux-openstack ~(keystone_admin)]# losetup /dev/lo
log loop0 loop1 loop-control
[root@linux-openstack ~(keystone_admin)]# losetup /dev/loop2 cinder-volumes2
[root@linux-openstack ~(keystone_admin)]# fdisk /dev/loop2
Dan muncul prompt baru bisa diisi dengan urutan berikut.
n
p
1
ENTER
ENTER
t
8e
w
Selanjutnya bikin physical volume dengan device diatas.
[root@linux-openstack ~(keystone_admin)]# pvcreate /dev/loop2
Physical volume “/dev/loop2” successfully created.
Extend volume group (cinder-volumes) dengan cara menambahkan device baru yang kita buat tadi.
[root@linux-openstack ~(keystone_admin)]# vgextend cinder-volumes /dev/loop2
Volume group “cinder-volumes” successfully extended
Dan kemudian cek hasil dari penambahan tadi.
[root@linux-openstack ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/loop0 cinder-volumes lvm2 a– 20.60g 15.60g
/dev/loop2 cinder-volumes lvm2 a– 100.00g 78.00g
/dev/sda2 centos lvm2 a– 698.14g 64.00m
[root@linux-openstack ~]#[root@linux-openstack ~]# vgdisplay
— Volume group —
VG Name cinder-volumes
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 10
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 120.59 GiB
PE Size 4.00 MiB
Total PE 30872
Alloc PE / Size 6912 / 27.00 GiB
Free PE / Size 23960 / 93.59 GiB
VG UUID 3eE3lC-k4S9-GpIp-G6AE-W05o-E3tA-t8JG0n— Volume group —
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 698.14 GiB
PE Size 4.00 MiB
Total PE 178725
Alloc PE / Size 178709 / 698.08 GiB
Free PE / Size 16 / 64.00 MiB
VG UUID lBvcD4-RJ2B-A8Id-En5r-moWT-fq24-H2HqCU[root@linux-openstack ~]#
Sekarang kita bisa bikin instance dengan volume diatas 20GB.
*** Leason Learned ***
Apabila tidak ingin mendapati problem diatas, kalian sebelum install openstack bisa merubah ukuran default /var pada tool installasi (packstack/devstack) pada attribute.
CONFIG_CINDER_VOLUMES_SIZE=20G
***Apabila ada saran lain terkait problem diatas bisa reply komentar