Openstack – Extend Volume Capacity

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.