Author Topic: openstack ตอนกดสร้าง instance แล้วเจอ error 500 ขนาด instance ใหญ่เกิน 10G  (Read 8847 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Openstack ตอนกดสร้าง instance แล้วเจอ error 500
Block Device Mapping is Invalid. Code 500

วันก่อนเจอ error ตัวนี้ไปครับ
เนื่องจากตอนที่เลือก Source (image )
Volume Size (GB) ผมไประบุเป็นจำนวนที่ไม่ใช่ 1
เลยขึ้น error ตอนสร้าง instance

หลังจากนั้นลองใส่ Volume size (GB) เป็น 1GB ตาม default
แล้วค่อยไปเลือก template ของ CPU,HDD,RAM อีกที
ก็สามารถสร้าง instance ได้สำเร็จครับ
ไว้จะมาอัฟเดทอีกทีว่าเกี่ยวกับอะไร : )
« Last Edit: พฤษภาคม 09, 2017, 01:01:27 PM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
หลังจากลองเทสดูได้ สาเหตุที่กดสร้าง instance แล้วเจอ error 500
Build of instance aborted: Block Device Mapping is Invalid. Code 500

เกิดจากว่า ตัว volume size ที่ตอนแรก lvmdriver-1 ที่เป็น default ของตัว devstack สร้างมาให้มีพื้นที่เพียง 10GB เท่านั้น
ดังนั้นถ้าสร้าง instance ที่มีขนาดมากกว่า 10GB ก็จะเกิดปัญหาได้ แล้วแสดงเป็น error code 500
เกี่ยวกับ Build of instance aborted: Block Device Mapping is Invalid. Code 500

ดังนั้นต้องทำการขยาย ขนาดของ  lvmdriver-1 ก่อน
โดยถ้ามี harddisk ที่เตรียมไว้เป็น ssd สามารถทำการ จัดเป็นรูปแบบของ lvm ก่อนครับดังนี้
ในกรณีนี้ สมมติว่ามี ssd 3 ลูกขนาด 256GB
/dev/sdb , /dev/sdc , /dev/sdd
ตามลำดับ

###Add LVM disk into lvmdriver-1
#ผมทำการสร้าง partition ให้ก่อน โดยผ่าน command fdisk ในส่วนของ 3 physical SSD Disk
fdisk /dev/sdb
n
w

fdisk /dev/sdc
n
w

fdisk /dev/sdd
n
w

###หลังจากนั้น ทำการ เช็คผ่าน fdisk -l ดูจะมองเห็น /dev/sdb1 , /dev/sdc1 , /dev/sdd1 ตามลำดับ
###เริ่มทำการทำ physical create ก่อน
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1

แล้วทำการเพิ่ม volume group พร้อมตั้งชื่อเป็น LVMSTACK-VG
vgcreate LVMSTACK-VG /dev/sdb1 /dev/sdc1 /dev/sdd1

### ทำการสร้าง logical volume เป็น raid 5(--type raid5)
### โดยใช้ขนาด harddisk เป็น 200GB(-L 200G) พร้อมทั้งสร้าง strip ชุดข้อมูลเป็น 2 ชุด (-i 2)
lvcreate --type raid 5 -i 2 -L 200G -n STACK-LV LVMSTACK-VG

หลังจากนั้นทำการ เช็คโดย vgs ก็จะมองเห็น LVMSTACK-VG เพิ่มขึ้นมาครับ
root@ubuntu:/opt/stack/devstack# vgs
  VG                        #PV #LV #SN Attr   VSize   VFree 
  LVMSTACK-VG                 3   1   0 wz--n- 715.42g 415.41g
  stack-volumes-default       1   0   0 wz--n-  10.01g  10.01g
  stack-volumes-lvmdriver-1   1   2   0 wz--n-  10.00g  10.00g

###ทำการเพิ่มขยายขนาดของ lvmdriver-1 โดย Add into current lvmdriver-1
vgextend stack-volumes-lvmdriver-1 /dev/LVMSTACK-VG/STACK-LV

root@ubuntu:/opt/stack/devstack# vgs
  VG                        #PV #LV #SN Attr   VSize   VFree 
  LVMSTACK-VG                 3   1   0 wz--n- 715.42g 415.41g
  stack-volumes-default       1   0   0 wz--n-  10.01g  10.01g
  stack-volumes-lvmdriver-1   2   3   0 wz--n- 210.00g 184.00g  -> increase for PV & LV and Size

หลังจากนั้นก็จะสามารถทำการ สร้าง instance ที่มีขนาดเกิน 10GB ได้ละครับผม : )

##reference site
https://udaraliyanage.wordpress.com/2014/05/23/openstack-increase-volume-capacity/
https://ask.openstack.org/en/question/53325/how-to-increase-volume-capacity/
« Last Edit: พฤษภาคม 09, 2017, 01:02:48 PM by golfreeze »