Apache CloudStack Virtual Router disk is full

Apache CloudStack Virtual Router disk is full

วันนี้สร้าง VM ใหม่ไม่ได้ เข้าไปดูใน log ของ management server เจออันนึงที่บอกว่า

Unable to contact resource.

com.cloud.exception.ResourceUnavailableException: Resource [DataCenter:1] is unreachable: Unable to apply userdata and password entry on router

ลองค้นๆดูมีคนเจอปัญหาและรายงาน bug ไปเรียบร้อยแล้ว

http://selfsigned.wordpress.com/2014/06/27/cloudstack-virtual-router-pains/

สาเหตุมาจาก partition /var ใน virtual router เต็ม เนื่องจาก log ไฟล์ conntrackd-stat.log มีขนาดใหญ่มากผิดปกติ วิธีแก้ตอนนี้คือการไปปิด log ในไฟล์ /etc/conntrackd/conntrackd.conf

โดยแก้จาก “LogFile on” เป็น “LogFile off” จากนั้นสั่ง /etc/init.d/conntrackd restart

และอย่าลืมเครียร์ log ไฟล์ด้วย อาจทำโดยใช้คำสั่ง cp /dev/null /var/log/

Screen Shot 2557-08-22 at 10.13.04 AM

Delivering IaaS with Apache CloudStack

ชอบคลิปวีดีโอนี้เพราะในสไลด์แผ่นแรกเค้าเขียนไว้ว่า “Six Characteristics of Clouds” ถ้าเราคุ้นเคยกับคำจำกัดความของคลาวด์ที่นิยามโดย NIST เราจะเห็นว่าลักษณะเฉพาะที่จำเป็นสำหรับคลาวด์มีแค่ 5 อย่างเท่านั้น สิ่งที่เพิ่มเข้ามาคือเรื่องของ API สำหรับผมแล้วคิดว่ามันเป็นเรื่องที่สำคัญพอสมควรในเรื่องของ automation และ integration ระบบคลาวด์ที่ไม่มี API เปิดให้ใช้มันจะไม่ยืดหยุ่นพอที่จะทำอะไรใหม่ๆ

CloudStack vs. OpenStack

เคยอ่านบทความเปรียบเทียบ open cloud platform สองตัวนี้มาหลายครั้งแต่ต้อง update บ่อยๆเพราะทั้งสองตัวพัฒนาไปค่อนข้างเร็ว ปีก่อนกับปีนี้สิ่งที่เคยเปรียบเทียบมาอาจจะไม่ใช่แล้ว แต่ยังไงหลังการพื้นฐานคงไม่เปลี่ยนมาก พอดีไปเจอบทความเปรียบเทียบระหว่างสองตัวนี้มาอีกซึ่งอ่านดูแล้วตรงไปตรงมาดีไม่ได้อวยใครเป็นพิเศษ คิดว่าเป็นข้อมูลที่น่าสนใจดี
CloudStack vs OpenStack

XenServer dom0 out of disk space

xen server

เมื่อเช้า upgrade kernel ของ VM หนึ่งใน CloudStack ซึ่งต้องมีการ restart VM แต่พอ restart ไปแล้วไม่สามารถ start ได้ ในใจคิดว่างานเข้าอีกแล้ว ลองตรวจดูคร่าวๆไล่ดูจาก status ต่างๆของ CloudStack ไปเจอว่า host XenServer ทั้งสองตัวแสดงสถานะเป็น Down

Screen Shot 2556-06-06 at 2.08.58 PM

ลองกด reconnect ดูก็ไม่ตอบสนองอะไร อาการแบบนี้เหมือน CloudStack ติดต่อ XenServer host ไม่ได้ แต่จากที่ลองดู VM ทั้งหมดยังทำงานอยู่ แสดงว่ามันไม่สามารถติดต่อ API ของ XenServer ได้

เมื่อลอง remote เข้าไปใน XenServer ลองใช้คำสั่ง xsconsole ดูก็ไม่สามารถติดต่อได้ ซึ่งจะไม่มีสถานะอะไรแสดงขึ้นมาให้เห็นเลย

ลองใช้ command line หลายๆคำสั่งอย่าง xe vm-list ก็จะพบ error ตามด้านล่าง
The server failed to handle your request, due to an internal error. The given message may give details useful for debugging the problem.
message: INTERNAL_ERROR: [ Http_client.Http_request_rejected("{ frame = false; method = POST; uri = /; query = [ ]; content_length = [ ]; transfer encoding = ; version = 1.0; cookie = [ ]; task = ; subtask_of = ; content-type = ; user_agent = xen-api-libs/1.0 }") ]

ลองดู memory usage ด้วยคำสั่ง freemem ก็ไม่เจออะไรผิดปกติ แต่พอลองดู disk usage ก็เจอว่า root partition ใช้พื้นที่ดิสก์จนเต็ม

[root@node01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.0G 3.9G 0 100% /
none 380M 0 380M 0% /dev/shm

อ่านเพิ่มเติม

Apache CloudStack Contributions

กำลังเริ่มศึกษา Cloud Computing มากขึ้นเริ่มตั้งแต่ ระดับโครงสร้างพื้นฐาน ซึ่งใช้ Apache CloudStack ไปจนถึงสถาปัตยกรรมซอฟต์แวร์ ตอนนี้มีหลายโครงการที่เข้าไปมีส่วนร่วมในการพัฒนาได้ ที่เห็นขาดกำลังคนก็มีสามเรื่องใหญ่ๆ

การ Backup ฐานข้อมูล MySQL ไปเก็บไว้บน Amazon S3

Screen Shot 2556-01-29 at 10.17.29 AM

เรื่องก็มีอยู่ว่าอยากจะทำการ backup ฐานข้อมูลทั้งหมดของ MySQL ไปเก็บไว้นอก database server ซึ่งปกติก็มักจะเป็น backup server ที่เราจัดหาไว้สำหรับ backup ข้อมูลภายในองค์กร แต่การจะจัดซื้อ server สักเครื่องก็ไม่ใช่เรื่องง่าย เพราะเงินไม่ใช่ของเรา วิธีการที่ง่ายกว่าคือหาพื้นที่ข้างนอกที่ให้ใช้งานฟรี หรือเช่าพื้นที่ข้างนอกซึ่งจะใช้เงินลงทุนน้อยกว่า และอาจจะทำให้เจ้าของเงินตัดสินใจได้ง่ายขึ้นด้วย

พอคิดแบบนี้ แวบแรกนึกไปถึง Dropbox แต่คิดได้ว่า Dropbox เองก็ใช้ Amazon S3 อีกต่อนึง และเคยมีข้อมูลผ่านตาอยู่บ่อยๆว่ามี library ในการจัดการไฟล์ใน S3 อยู่มากมายคิดแล้วก็เลย Google ดู และไปเจอว่า มีคนทำไว้แล้ว บทความนี้เลยขอลอก script เค้ามาทดสอบเอาดื้อๆ แต่ตอนใช้งานจริงข้อมูลที่ copy/paste จากในเว็บนั้นเพี้ยน เช่นอักขระบางตัว รวมไปถึง indent ของ Python ซึ่งทำให้ script ที่ลอกมานั้นทำงานไม่ได้ จึงต้องมีการแก้ไขนิดหน่อย ถ้าไม่อยากพิมพ์เอง ก็สามารถ download script mysql_to_s3.py ไปใช้งานได้

เรื่องของวิธีการใช้ Amazon S3 คงไม่ขออธิบายในบทความนี้เพราะบทความจะยาวเกินไป ลองศึกษาได้จาก Amazon S3 – The Beginner’s Guide

Database server ที่ใช้ทดสอบนี้เป็น Debian Linux ถ้าหากใช้ platform อื่นก็สามารถประยุกต์ไปใช้ได้ไม่ยาก และอาจต้องมีการแก้ไข script mysql_to_s3.py บ้างนิดหน่อยในบรรทัดที่ 10-14 โดยอาจจะ hard code username password และ hostname เข้าไปเลยก็ได้

อ่านเพิ่มเติม

CloudStack – How to enable VPN service on Virtual Router

ในบทความนี้จะอธิบายวิธีเปิด VPN Service บน Virtual Router ของ CloudStack เพื่อให้ VPN Client จากภายนอกสามารถเชื่อมต่อเข้ามาใน Guest Network ของ CloudStack ได้

เมื่อ login เข้ามาใน CloudStack UI แล้ว ให้ click ที่ เมนู Network จากนั้นเลือก Guest network ที่ต้องการที่จะเปิด VPN service

Image select network from menu

อ่านเพิ่มเติม