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 เส้นดังภาพ

โครงสร้างอย่างง่ายสำหรับ OpenNebula มีดังนี้

  • Front-end สำหรับ run OpenNebula และ Cluster Services
  • Nodes เอาไว้ povision virtual machine ต้องสนับสนุน Hypervisor
  • Image repository เป็น storage แบบใดก็ได้เอาไว้เก็บ image ของ VM
  • OpenNebula daemon เป็น service หลักของระบบซึ่งจะจัดการ life-cycle ของ VMs และจัดการระบบอื่นๆ ใน Cluster เช่น network, stroage และ hypervisor เป็นต้น
  • Driver เป็นโปรแกรมที่ใช้เชื่อมต่อกับ cluster subsystem ในรูปแบบพิเศษเช่น hypervisor หรือ storage file system เป็นต้น
  • oneadmin ผู้ดูแลระบบ private cloud ซึ่งจะเป็นผู้จัดการ VM, Virtual Network, node และ users ในระบบ
  • Users ผู้ใช้ในระบบ OpenNebula สร้างและจัดการ virtual machine, virtual network ของตนเอง

ความต้องการของระบบ

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 โหมด ดังนี้

  • system-wide : binary, log files และ configuration ทั้งหมดจะถูกติดตั้งและจัดการโดย root ซึ่งต้องใช้สิทธิ์ root ในการบริการจัดการ
  • self-contained : OpenNebula จะติดตั้งในที่ๆ กำหนดโดยระบบเอง ไม่จำเป็นต้องใช้สิทธิ์ root ในการบริหารจัดการ

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 กันในตอนถัดไป

Comments are closed.