OpenNebula เป็นโครงการโอเพนซอร์สมีจุดประสงค์เพื่อสร้างเครื่องมือบริหารจัดการ Cloud Computing ที่มีความยืดหยุ่นในการขยายขนาด Data Center infrastructure ได้ง่าย ซึ่งมีการพัฒนามาจนถึงรุ่นที่ 2.0.1 แล้ว หลังจากโครงการนี้เดินมาในรูปแบบโอเพนซอร์สได้ระยะหนึ่งซึ่งผลงานของชุมชน OpenNebula.org และ C12G Lab ที่ช่วยกันพัฒนา เครื่องมือในการบริหารจัดการ Cloud Infra แบบ Open Source ก็ได้รับการตอบรับอย่างดี ไม่ว่าจะเป็น CERN, Chaina Mobile, ESAC, Nikhef, SARA และยังมีผู้พัฒนาต่อยอดจากโครงการนี้อีกมากเช่น StratusLab, Bon Fire, Reservoir, OCCI, D-Grid, 4 CaaSt เป็นต้น
?
OpenNebula ออกแบบมาเพื่อรองรับการใช้งานบน Infrastructure เดิมให้มากที่สุดซึ่งการออกแบบเน้นการเพิ่มหรือขยาย Infra ได้ยืดหยุ่น ซึ่งคล้ายคลึงกับการวางโครงสร้างในระบบคลัสเตอร์ทั่วไป จากความยืดหยุ่นคุณสมารถประยุกต์ OpenNebula เพื่อใช้จัดการ Cloud Infrastructure ในรูปแบบต่างๆ ได้ ไม่ว่าจะเป็น Private Cloud, Hybridge Cloud และ Public Cloud ในบทความนี้จะครอบคลุมเพียง Private Cloud เท่านั้น คุณสามารถอ่านเพิ่มเติมได้จากเว็บไซต์โครงการครับ
การติดตั้ง OpenNebula เพื่อสร้าง Private Cloud โครงสร้างการเชื่อมต่อจะใช้โครงสร้างเดิมเหมือนกับการเชื่อมต่อแบบคลัสเตอร์ ทั่วไป ซึ่งมีเครื่อง front-end และเครื่อง node ที่จะให้ VM ไปทำงานบนนั้น ซึ่งเครื่อง node มีการเชื่อมต่อกับ front-end อย่างน้อย 1 เส้นดังภาพ
ความต้องการของระบบ
Cluster Front-End
จะเป็นเครื่องที่เข้าถึง image repository ซึ่งควรจะมี storage ขนาดใหญ่เพื่อรองรับ VM images สำหรับ Private Cloud โดยทั่วไปจะเก็บ master image ซึ่งอาจจะ clone เมื่อสั่ง start VM เครื่อง front-end ควรวางแผนในเรื่องการจัดการ storge ด้วยซึ่งจะมากน้อยขึ้นอยู่กับจำนวน VM ที่ run อยู่บน cluster node สำหรับการติดตั้งเฉพาะ OpenNebula ใช้พื้นที่เพียง 10MB เท่านั้น
OpenNebula สามารถติดตั้วได้ 2 โหมด ดังนี้
Cluster Node
เครื่อง Node จะ run VMs ไม่ต้องการ storage เพิ่มเติมแต่อย่างใด ยกเว้นเครื่อง Node ไม่ได้ใช้ Share storage ร่วมกับ Node อื่นๆ ข้อมูล image จะเก็บไว้ที่เครื่อง Node แทน
Storage
เครื่อง front-end จะทำหน้าที่ export image repository ให้กับ cluster node ซึ่งขนาดของ storage ที่ใช้เก็บเป็นเรื่องสำคัญ ทั้งนี้ขึ้นอยู่กับจำนวน VM และขนาดของ image VM ด้วย ซึ่งการ start VM ตัว front-end จะ clone image ออกมาเพื่อใช้งานกับ VM ที่กำลังจะ start ดังนั้นคุณต้องมีพื้นที่เพียงพอที่ใช้เก็บ VM image ทั้งหมด
User Account
ผู้ดูแลระบบ OpenNebula จะใช้ชื่อบัญชีผู้ใช้ว่า oneadmin ซึ่งจะเป็นผู้จัดการ OpenNebula Services รวมถึงงานอื่นๆ ด้วย เช่น จัดการ VM, Virual Network, Image เป็นต้น คุณสามารถประยุกต์ใช้ NIS เข้ามาช่วยจัดการบัญชีผู้ใช้ของ OpenNebula ได้เช่นกัน
Network
สำหรับระบบเครือข่าย ไม่ได้มีอะไรเป็นพิเศษมากนัก หากต้องการได้ประสิทธิภาพให้กับ VM คุณควรจะมี NIC ที่มากกว่า 1 เชื่อมต่อไปที่ VM โดยการ bridge NIC เข้าไปที่ VM
Secure Shell Access
Front-End ทำงานกับ Node โดยผ่าน ssh โดยใช้ชื่อผู้ใช้ oneadmin ดังนั้นการเชื่อมต่อระหว่าง Front-End กับ Node ควรเชื่อมต่อแบบ ssh โดยใช้ ssh key ซึ่งการเชื่อมต่อแบบนี้ไม่จำเป็นต้องใช้ password อีกต่อไปแต่จะใช้ Key Authentication แทน
Hypervisor
เทคโนโลยี Virtualization จะต้องติดตั้งที่ cluster node ซึ่งบัญชีผู้ใช้ oneadmin ต้องสามารถควบคุมจัดการและติดตาม VM ได้ OpenNebula สามารถทำงานร่วมกับ Virtualization Technology ได้หลากหลาย เช่น Xen, KVM, VMWare เป็นต้น
เมื่อเข้าใจองค์ประกอบทั้งหมดแล้วเรามาเริ่มสร้าง Cloud Infrastructure แบบ Private Cloud กันในตอนถัดไป
ที่มา : http://www.thaiopensource.org/howto/สร้าง-cloud-infrastructure-ด้วย-opennebula-ตอนที่-1
We have 218 guests and no members online