วันเสาร์ที่ 19 ตุลาคม พ.ศ. 2556

มาคำนวณฮาร์ดแวร์สำหรับ OpenStack กัน

OpenStack เป็น Cloud Management ตัวนึงที่กำลังมาแรง ด้วยโครงสร้างการออกแบบที่ทำงานร่วมกันของแต่ละโมดูลทำให้ OpenStack แตกต่างจาก Cloud Management ตัวอื่นๆ อย่างชัดเจน โครงสร้างของ OpenStack จะต้องมีอย่างน้อย 2 ส่วนหลักๆ ได้แก่




  • Control Node

  • Compute Node



เครื่องมือช่วยคำนวณก็คือ BOM นั่นเอง สำหรับ BOM ตัวนี้พัฒนาจากบริษัทที่รับติดตั้งและพัฒนา OpenStack โดยตรงถือว่าเชื่อถือได้ครับ เครื่องมือใช้งานง่าย มีสิ่งที่ต้องกำหนด ได้แก่




  • อยากได้ Server ค่ายไหน DELL, HP, IBM, Super Micro

  • ระบบที่คุณจะทำสนับสนุน HA มั๊ย (3 Controllers)

  • อยากได้อุปกรณ์ Network ค่ายไหน DELL, Cisco, HP, Arista, Juniper, Brocade

  • ขนาดของ vCPU และ Memory โดยเฉลี่ยในระบบ

  • จำนวน VM ทั้งหมดที่คุณต้องการ

  • เลือกผลลัพท์ได้ว่าจะกรองตามจำนวนเซอร์ฟเวอร์หรือราคาที่ต้องจ่าย



มาดูผลลัพท์ของผมกันบ้าง สิ่งที่ผมต้องการคือ




  • ใช้อุปกรณ์ Server และ Network ของ DELL

  • ไม่มี HA

  • ขนาดของ VM โดยเฉลี่ยคือ 2 vCPU และ RAM ขนาด 1 GB

  • จำนวน VM ที่ต้องการ 4000 VMs



ดูราคากันก่อน (ผมเลือกตัวเลือกแรกเพราะราคาถูกที่สุด)











จากผลลัพธ์เราจะทราบข้อมูลเบื้องต้นในส่วนของฮาร์ดแวร์ทั้งจำนวนและราคา แต่น่าเสียดายที่ไม่มีการคำนวณในส่วน storage สำหรับ Glace, Cinder และ Swift และที่สำคัญไม่มีการคำนวณในส่วนของ Neutron ด้วย สำหรับท่านที่อยากทดลอง เข้าไปลองคำนวณกันได้ที่ Mirantis Hardware Bill of Materials Calculator for OpenStack


วันศุกร์ที่ 18 ตุลาคม พ.ศ. 2556

Ubuntu 14.04 ได้ชื่อ Trusty Tahr

Mark Shuttleworth ประกาศโค้ดเนมของ Ubuntu รุ่นหน้า 14.04 LTS ที่จะออกเดือนเมษายน 2014 คือ Trusty Tahr



Tahr หรือ Himalayan Tahr เป็นสัตว์สายพันธุ์เดียวกันกับแพะป่าในสกุล Hemitragus ส่วนมากอาศัยอยู่ในพื้นที่เทือกเขาหิมาลัยในทางตอนใต้ของธิเบต, ทางภาคเหนือของอินเดีย และ เนปาล เป็นต้น โดยสัตว์ชนิดนี้ยังถูกใช้เป็นสัญลักษณ์แห่งความกล้าหาญอย่างแน่วแน่และมั่นคง นั่นเอง



ส่วน Ubuntu รุ่นถัดไปนั้นจะใช้โค้ดเนมที่ขึ้นด้วยตัวอักษร U โดยมีการคาดเดาว่าอาจใช้ชื่อ Unhorned Unicorn หรือว่า Umbrella Uniform (อันนี้เป็นความคิดเห็นของผู้เขียนเอง) ก็เป็นได้ โดยสามารถเข้าไปดูรายชื่อโค้ดเนมได้ที่เว็บ Ubuntu Wiki



ที่มา - Blognone


วันพฤหัสบดีที่ 10 ตุลาคม พ.ศ. 2556

ติดตั้ง OpenStack แบบง่ายๆ กัน

ผมได้มีโอกาสไปเรียน Cloud Computing Specialist ทำให้ผมพบว่า การติดตั้ง OpenStack มันยุ่งจัง ยิ่ง service ของ OpenStack ยิ่งมากขึ้น ก็ต้อง config มากขึ้น อืมมม จริงๆ ก็ไม่ใช่เรื่องแปลกอะไรอ่ะนะ แต่สำหรับคนที่ต้องการสนองความอยากรู้อย่างผม เจ้าหมี Grizzly ก็เล่นเอาถอดใจเหมือนกัน วันนี้็เลยอยากมาแนะนำวิธีการติดตั้งแบบง่ายๆ สำหรับคนที่อยากรู้ว่า OpenStack เป็นยังไงเพื่อจะได้ทดลองเล่นได้ ก่อนจะถึงขั้นตอนติดตั้ง ต้องแนะนำสักหน่อยว่า OpenStack เป็น Cloud Management Platform ประกอบไปด้วย service ที่ทำหน้าที่แตกต่างกัน ดังนี้




  1. Nova ทำหน้าที่จัดการส่วน Compute และ Orchestration อะไรที่ต้องยุ่งกับ VM ก็ดูตัวนี้

  2. Glance ทำหน้าที่เป็นตัวจัดการ Image Respository ของ VM ที่เราจะเอามาใช้งาน

  3. Cinder ทำหน้าที่เป็นตัวจัดการ Block Storage เอาไว้แปะกับ VM เพิ่ม Disk และเก็บข้อมูล

  4. Keystone ทำหน้าที่เป็น Identity Management และ Tenant ให้กับระบบ

  5. Swift ทำหน้าที่เป็น Object Storage เก็บไฟล์ หรือทำ Archive Block Storage ได้

  6. Neutron ทำหน้าที่เป็น Network Sevice จัดการเรื่อง Virtual Switch/Router/Network ได้

  7. Ceilometer ทำหน้าที่เป็น Meter วัดการใช้งาน resources ไม่ว่าจะเป็น CPU, Memory, Storage และ Network ได้

  8. Heat ทำหน้าที่เป็น Orchestration Tools โดยเตรียม Config ต่างๆ ไว้เป็น Template ใช้ในการ Deploy App ได้ง่ายๆ อันนี้ลอกมาจาก Cloud Formation ของ Amazon AWS

  9. Horizon เป็น Dashboard ทำงานผ่านเว็บ ช่วยให้เราไม่ต้องใช้ Command Line เยอะจนเกินไป



สำหรับผู้ที่อยากลองเล่น OpenStack มี 3 ช่องทางให้เลือก คือ




  1. ติดตั้งเอง

  2. ลองเล่นจาก TryStack

  3. ลองเล่นจาก Cloud Provider อย่าง Rackspace, HP Cloud เป็นต้น




สำหรับผู้ที่อยากติดตั้งเองมีอีก 3 ช่องทางให้เลือก




  1. ติดตั้งจาก Package ที่ Linux Distribution มีให้แล้ว Config ทีละ Service ไปเรื่อยๆ Config เหนื่อย ถ้าขยันก็อาจเลือกวิธีนี้ได้ :)

  2. ติดตั้งจากเครื่องมือ DevOps อย่าง เช่น Chef, Puppet, Juju, Crowbar, Foreman เป็นต้น

  3. ติดตั้งจากเครื่องมือสำหรับนักพัฒนาอย่าง DevStack วิธีนี้เหมาะสำหรับ คนที่อยากรู้เฉยๆ restart เครื่องแล้ว service หายนะจ๊ะ



เยอะไปหรือเปล่า T_T เอาเป็นว่าผมเลือกวิธีง่ายๆ และสามารถเอาไปลองเล่นได้นานๆ วิธีที่ว่าคือ การติดตั้งผ่านเครื่องมือ DevOps ซึ่ง RedHat ได้เลือกใช้ Puppet มาเป็นเครื่องมือสำหรับการติดตั้ง OpenStack บน RedHat Enterprise Linux, Fedora 19+ และ CentOS มาดูวิธีการติดตั้งกัน สิ่งที่ต้องมี ได้แก่




  1. RedHat Enterprise Linux 6 Mini หรือ CentOS 6.4 Mini ก็ได้

  2. เครื่องคอมพิวเตอร์ที่มี CPU 2 Cores, RAM 2GB, HDD 160GB เป็นอย่างต่ำ มีสัก 2 เครื่อง ต่อ LAN และออกเน็ตได้



โดย LAN เป็น Network 192.168.0/24 เครื่อง Controller มี IP เป็น 192.168.0.10 เครื่อง Node 1 มี IP เป็น 192.168.0.11



เริ่มจาก Cluster Controller (All in One)



ติดตั้ง CentOS 6.4 Mini ให้เรียบร้อย จากนั้นติดตั้ง RedHat OpenStack Repository ดังนี้



sudo yum install -y http://rdo.fedorapeople.org/openstack-grizzly/rdo-release-grizzly.rpm



จากนั้นติดตั้ง PackStack เครื่องมือที่ใช้ติดตั้ง OpenStack



sudo yum install -y openstack-packstack



เพื่อความแน่ใจ reboot เครื่อง 1 รอบ ให้ Kernel ใหม่ทำงาน จากนั้นก็ ติดตั้ง OpenStack ได้เลยโดยใช้คำสั่ง



packstack --allinone --os-quantum-install=n



รอจนกว่าการติดตั้งจะเสร็จ ตัวติดตั้งจะแจ้งว่าเข้าใช้งาน Dashboard ได้จาก URL อะไร และ Username, Password อะไร



สำหรับเครื่อง Node ทำแบบเครื่อง Controller ติดตั้ง packstack จากนั้น copy file packstack-answer-XXXXXX-XXXX.txt มาไว้ที่เครื่อง Node แก้ไขไฟล์นี้ในส่วน CONFIG_NOVA_COMPUTE_PRIVIF, CONFIG_NOVA_NETWORK_PRIVIF จาก lo เป็น eth0 , CONFIG_NOVA_COMPUTE_HOSTS เป็น IP ของเครื่อง Node คือ 192.168.0.11 แก้ CONFIG_NOVA_NETWORK_FLOATRANGE จาก 10.3.4.0/22 เป็น 192.168.0.128/26 จากนั้นสั่งติดตั้งตาม answer file ดังนี้



packstack --answer-file=packstack-answer-XXXXXX-XXXX.txt



หลังจากการติดตั้งเสร็จ มาลอง Service กันหน่อย ใช้คำสั่ง



source keystone_admin



เพื่อเปิด console และตั้งค่า Environment ให้เครื่องมือบน Command Line จากนั้นใช้คำสั่ง



nova-manage service list



เพื่อดูว่า service ทั้งหมดทำงาน หรือใครอยากจะทดสอบ เป็นราย service โดยการ list ข้อมูลออกมาก็ได้ เช่น nova list, glance index, cinder list เป็นต้น ถ้าลองแล้วไม่มี Error ก็ถือว่าใช้ได้ ลืมบอกไปว่าถ้าจะทำให้ VM ที่สร้างขึ้นมา ต่อกับโลกภายนอกได้ ต้องตั้ง Floating IP แต่ PackStack กำหนดค่าให้เราสำเร็จ ซึ่งเป็นค่าที่ผิด T_T ต้องมาแก้กันก่อน โดยลบของเก่าออกก่อน



nova floating-ip-bulk-delete 10.3.4.0/22



และเพิ่ม Floating IP ที่ถูกต้องลงไป



nova floating-ip-bulk-create 192.168.0.128/26



จากนั้นสร้าง SSH Key สำหรับใช้งานกัน :)



nova keypair-add mykey > mykey.pem



ดาวน์โหลด VM Image สมมติว่าเป็น Ubuntu ละกัน



wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img



และลงทะเบียนเข้าไปใน Glance ดังนี้



glance image-create --name 'precise' --disk-format qcow2 --container-format bare --is-public true < precise-server-cloudimg-amd64-disk1.img



กำหนด security group ให้ ssh และ ping ได้



nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0



nova secgroup-add-rule default tcp 22 22 0.0.0.0/0



เมื่อมีของครบแล้วก็เริ่ม start vm กันได้ โดยใช้คำสั่ง



nova image-list



ดูว่า precise image id เป็นเท่าไร จากนั้นสั่ง boot ด้วยคำสั่ง



nova boot --image <image-id> --key-name mykey --flavor m1.small --security-groups default myprecise



ใช้คำสั่ง nova list ก็จะพบว่า vm ชื่อ myprecise กำลังเริ่ม start แล้ว เมื่อเข้าสู่สถานะ running ก็สามารถ ssh เข้าไปได้ อ้อ ก่อนอื่นกำหนด Floating IP ให้ VM เสียก่อน โดยใช้คำสั่ง



nova add-floating-ip myprecise 192.168.0.129



ใช้คำสั่ง nova list ดูว่า floating ip ไปเกาะกับ vm ของเราหรือยัง ถ้าเกาะเรียบร้อยแล้วก็สามารถ ssh เข้าไปได้โดยใช้คำสั่ง



ssh -i mykey.pem ubuntu@192.168.0.129



เอาแค่นี้ก่อน คุณสามารถใช้งาน OpenStack จาก Dashboard ได้นะครับ



สำหรับใครที่อยากใช้ OpenStack แบบจริงๆ จังๆ หรือต้องการทำ Private Cloud ใช้ในองค์กร แนะนำให้ไปเรียนกับ ClusterKit หรือ อ.อาณัติ หรือ ซื้อบริการ RedHat OpenStack, Ubuntu OpenStack ได้จากตัวแทนจำหน่ายใกล้บ้านท่านครับ :)


วันอาทิตย์ที่ 6 ตุลาคม พ.ศ. 2556

Hot Deploy PHP App บน OpenShift

หลายคนอาจเจอปัญหาอาการ 503 Service Unavailable บน OpenShift หลังจาก Deploy PHP App ทุกครั้งที่มีการ Deploy app ผ่าน git push OpenShift จะเอาไฟล์ที่ push ไปวางแทนที่ revision เดิมและเริ่มกระบวนการ Deploy และจะทะยอย Stop และ Start Service ต่างๆ ใน Cartridge ที่เรามี เช่น Web Server, MySQL เป็นต้น เนื่องจาก OpenShift จะต้องรอ Service ในแต่ Cartridge เริ่มทำงานก่อน ทำให้เราเจอหน้า 503 Service Unavailable ในการ Deploy PHP App ไม่จำเป็นต้อง Stop และ Start Service ใน Cartridge ต่างๆ ก็ได้เพราะภาษา PHP เป็นภาษา Script เราสามารถแก้ปัญหานี้ได้ง่ายๆ โดยใช้วิธีที่เรียกว่า Hot Deploy



การทำ Hot Deploy จะเป็นการสั่งให้ OpenShift ไม่ต้องสนใจเรื่อง Start/Stop Cartridge มีวิธีการง่ายๆ คือ สร้างไฟล์ hot_deploy ใน markers



$ touch YourAppName/.openshift/markers/hot_deploy



$ git commit -am "Adding hot deploy marker"



$ git push


วันพุธที่ 2 ตุลาคม พ.ศ. 2556

OpenStack Cheat Sheet

ผมได้กลับมาใช้ OpenStack อีกรอบ หลังจากที่เคยใช้รุ่น Essex เป็นรุ่นที่ Horizon เพิ่งเสร็จใหม่ๆ ก่อนหน้านี้ก็ใช้ command line มาตลอดจำได้เพราะใช้บ่อย ผ่านไปเกือบ 2 ปีกลับมาใช้รุ่น Grizzly ที่เคยใช้คำสั่งใน command line ได้ก็ลืมหมด ก็เลยคิดว่าทำ Cheat Sheet ไว้สักหน่อยน่าจะดี ผมก็เลยถือโอกาส แชร์เอาไว้ให้ได้ดาวน์โหลดไปแปะข้างฝาละกันนะครับ สำหรับท่านที่สนใจร่วมทำ Cheat Sheet ก็ขอ Share เอกสารผ่าน Google Drive ได้ครับ




วันพุธที่ 25 กันยายน พ.ศ. 2556

พลาดไม่ได้กับสัมนา Cloud Computing พร้อมอัพเดทเทคโนโลยีจาก RedHat ภาค 2

พลาดไม่ได้! กับงานสัมนาพร้อมอัพเดทเทคโนโลยี Hybrid Cloud และ Platform ในการพัฒนา Cloud Application อย่าง RedHat JBOSS งานนี้ท่านจะได้พบกับแนวทางการพัฒนา Cloud Application หรือ Software as a Service การพัฒนาระบบเทคโนโลยีสารสนเทศเพื่อรองรับการทำงานร่วมกันระหว่าง Public Cloud และ Private Cloud โดยใช้เครื่องมือ Cloud Form ของ RedHat เพื่อให้เกิด Hybrid Cloud อย่างสมบูรณ์แบบ! ห้ามพลาด งานสัมนาทั้ง 2 หัวข้อนี้




  • Foundation of software innovation and agility by using Red Hat Enterprise JBoss Middleware - วันที่ 16 ตุลาคม 2556 เวลา 13.00-16.00

  • The Real Future Cloud The Real Hybrid Cloud (Red Hat Enterprise CloudForm) - วันที่ 13 พฤศจิกายน 2556 เวลา 13.00-16.00



สนใจกรุณาลงทะเบียนสำรองที่นั่งล่วงหน้า ด่วน! มีจำนวนจำกัด


วันพฤหัสบดีที่ 19 กันยายน พ.ศ. 2556

LibreOffice กับแม่แบบเอกสารราชการ

ช่วงนี้มีของเล่นใหม่จาก OS Dev ได้พัฒนาแม่แบบเอกสารราชการและเครื่องมืออำนวยความสะดวกหลายอย่างมาเพิ่มความสามารถ ทำให้การทำงานเอกสารราชการบน LibreOffice ได้ง่ายมากขึ้น พร้อมทั้งเปิดเว็บไซต์ชุมชน รวบรวมเนื้อหาแนะนำการใช้งาน การแก้ปัญหาการใช้งานเบื้องต้น ตลอดจนวิดีโอสอนการใช้งานอีกด้วย สำหรับท่านที่สนใจสามารถติดตามได้ที่ libreofficeclub.com ภายในเว็บมีลิงค์เพื่อให้ดาวน์โหลด LibreOffice รุ่นต่างๆ พร้อม Extension ที่น่าสนใจหลายตัว ครั้งนี้จะมาแนะนำ RTG Extension สำหรับเอกสารราชการกันครับ



หลังจากติดตั้ง LibreOffice รุ่น RTG Extension แล้วคุณจะพบว่าหน้าตา LibreOffice ของคุณจะเปลี่ยนแปลงไปเล็กน้อย จะเห็นได้ว่ามีเมนู RTG Template เพิ่มขึ้นมาดังภาพ





ภายในเมนูนี้จะประกอบไปด้วยเครื่องมือที่เกี่ยวข้องกับแม่แบบเอกสารราชการ เช่น ทำสำเนา, ทำสำเนาพร้อมตราประทับ, จัดตำแหน่งคำลงท้าย เป็นต้น นอกจากนี้ยังมีชุดแม่แบบสำหรับเอกสารราชการที่ใช้กับพลเรือนและทหารแยกกันอย่างชัดเจน ซึ่งในแต่ละชุดมีแม่แบบเอกสารกว่า 10 แบบ





หากมาดูในส่วนของ extension ที่เพิ่มเข้ามาจะพบว่ามี extenstion เสริมเข้ามาอีกมากกว่า 10 ตัว และ extension สามารถอัพเดทออนไลน์ได้อีกด้วย ทำให้คุณได้รับอัพเกรดความสามารถใหม่ๆ ได้อีกด้วย





สำหรับท่านที่ใช้ Mac OSX และ Linux สามารถติดตั้งเสริมเหล่านี้ได้เช่นกัน ผมใช้ Mac OX ก็สามารถความสามารถนี้ได้เช่นกันครับ :)