OpenStack เป็น Cloud Operating System ใช้ในการสร้างบริการ Private Cloud ในรูปแบบบริการ Infrastructure as a Service การติดตั้ง OpenStack สามารถทำได้หลายวิธี สำหรับผู้ที่ต้องการทดลองเล่น OpenStack สามารถติดตั้งเพื่อทดลองใช้งานได้เบื้องต้นผ่าน Virtual Machine ได้ ครั้งนี้จะมาติดตั้ง RDO หรือ RedHat OpenStack กัน

ซอฟต์แวร์ที่เกี่ยวข้อง

ในเอกสารนี้เราจะติดตั้ง OpenStack บน Virtual Machine กัน ในนี้เราเลือกใช้ของดีที่ไม่คิดราคาอย่าง VirtualBox กัน แล้วค่อยติดตั้งลีนุกซ์ด้วย CentOS ในนั้น จากนั้นเราจะมาติดตั้ง OpenStack บน CentOS กันอีกทีครับ

เตรียมการติดตั้ง

  • สร้าง VM บนVirtualBox ให้มีแรม 5120MB ให้มีดิสก์ 16 GB เลือก Network แบบ NAT ตามปรกติครับ
  • ลง CentOS แบบ Graphic เพื่อจะได้ใช้ Web Browser บนนั้นได้เลย ลงธรรมดาไม่ต้องคิดอะไรมากครับ

การติดตั้งในสองขั้นข้างต้น เราละไว้เพราะไม่ใช่ประเด็นหลักของเราครับ

ปรับสภาพแวดล้อมลีนุกซ์ ในขั้นนี้เราเริ่มทำเมื่อ CentOS ลีนุกซ์เราพร้อมใช้งานแล้ว และใช้บัญชีผู้ใช้ root รายละเอียดในข้อนี้เราทำตาม QuickStart ของ RDO ตามลิงค์ต่อไปนี้ https://www.rdoproject.org/Quickstart

ปิดตัวควบคุมระบบเครือข่ายแบบกราฟิก แล้วเปิดตัวโบราณแทน

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl enable network

แก้ไขไฟล์คอนฟิกของการ์ดแลน

ใน CentOS/RHEL Linux รุ่น 7 นี้ มีการเปลี่ยนชื่อ Interface (การ์ดแลน) ใหม่ทำให้ชื่อไม่เหมือนกับลีนุกซ์ในรุ่นก่อนหน้า อย่างในเอกสารนี้มีชื่อ Interface เป็น enp0s3 ให้แก้ค่าคอนฟิก ONBOOT จาก no เป็น yesที่ไฟล์ /etc/sysconfig/network-scripts/ifcfg-enp0s3 (ท่านสามารถใช้โปรแกรม gedit บนหน้ากราฟฟิกแก้ไขได้)

จากนั้นสั่งเริ่มการทำงานของระบบเครือข่ายด้วยคำสั่ง

service network restart

ติดตั้ง RDO Repository

yum install -y https://rdo.fedorapeople.org/rdo-release.rpm
คำสั่งข้างต้น เป็นการติดตั้ง repository ซึ่งก็คือไฟล์ที่จะบอกว่าจะให้ไปโหลดไฟล์ติดตั้งซอฟต์แวร์นั้นๆ (ในที่นี้คือ OpenStack RDO) จากเซิร์ฟเวอร์ไหน ไฟล์คอนฟิกจะอยู่ที่ /etc/yum.repos.d/rdo-release.repo

ติดตั้ง Packstack

Packstack เป็นชื่อของซอฟต์แวร์ที่จะช่วยในการติดตั้งและคอนฟิก OpenStack ที่ประกอบด้วยซอฟต์แวร์จำนวนมากที่ต้องปรับแต่งในหลายส่วน ทำให้การติดตั้งและปรับแต่งมารวมในไฟล์ไม่กี่ไฟล์ และช่วยอำนวยความสะดวกในการติดตั้ง OpenStack ให้เรา

ก่อนอื่นติดตั้ง OpenStack

yum install -y openstack-packstack

สร้างและแก้ไขคอนฟิกของ Packstack

packstack --gen-answer-file myrdo.txt

จากคำสั่งข้างต้น จะได้ไฟล์คอนฟิกชื่อ myrdo.txt ออกมา ในไฟล์นี้จะประกอบด้วยค่าคอนฟิกต่าง ๆ

แก้ไขค่าคอนฟิกในไฟล์ myrdo.txtบางรายการดังต่อไปนี้

CONFIG_NTP_SERVERS=clock.nectec.or.th
CONFIG_USE_EPEL=y
CONFIG_KEYSTONE_ADMIN_PW=password
CONFIG_PROVISION_DEMO=n

NTP เป็นส่วนของการตั้งค่า Network Time Server ที่ระบบจะไปเทียบเวลาด้วย ในส่วนนี้ควรจะเทียบเวลากับเครื่อง Time Server ในหน่วยงานตัวเอง เพื่อแบ่งเบาภาระของเซิร์ฟเวอร์กันออกไป และจะได้เวลาที่เที่ยงตรงมากขึ้น
EPEL เป็น Repository ของ Redhat Enterprise Linux ดูรายละเอียดที่ https://fedoraproject.org/wiki/EPEL
Keystone Admin PW คือ ค่ารหัสผ่านของบัญชีผู้ใช้ admin ที่จะใช้ล็อกอินเข้าหน้าเว็บ

แก้ไขไฟล์ เพื่อแก้บั๊กที่มีกับ CentOS 7.1

เนื่องจากใน CentOS 7.1 มีการเปลี่ยนชื่อไฟล์คอนฟิกของ MongoDB จาก mongodb.conf เป็น mongod.conf แต่ใน packstack ยังคงอ้างอิงกับชื่อไฟล์เดิม ทำให้ระบบไม่สามารถแก้ไขคอนฟิกไฟล์ได้ถูกต้อง หากไม่แก้ไขตามนี้จะติดปัญหาในการติดตั้ง CEILOMETER ซึ่งเป็นส่วนที่จะใช้งาน MongoDB เป็น BUG กับ CentOS-7.1 อ้างอิงจาก https://bugzilla.redhat.com/show_bug.cgi?id=1212174
ให้แก้ไขไฟล์ /usr/lib/python2.7/site-packages/packstack/puppet/templates/mongodb.pp โดยเพิ่มบรรทัด config => '/etc/mongod.conf' เข้าไป จะได้เป็นลักษณะนี้

class { 'mongodb::server':
  smallfiles => true,
  bind_ip    => [$mongodb_host],
  config => '/etc/mongod.conf',
}

เมื่อแก้ไขค่าต่าง ๆ เรียบร้อยแล้ว ให้สั่งคำสั่งต่อไปนี้เพื่อเริ่มการติดตั้ง OpenStack

packstack --answer-file myrdo.txt

ระบบจะไปดาวน์โหลดซอฟต์แวร์ต่าง ๆ ที่ต้องใช้ในการติดตั้ง จาก Repository Server มาติดตั้งและคอนฟิกค่าให้ตามที่กำหนดไว้ในไฟล์ myrdo.txt จะใช้เวลาประมาณ 20-30 นาที แล้วแต่ความเร็วในการเข้าถึงอินเทอร์เน็ตและความเร็วของเครื่องคอมพิวเตอร์
หากการติดตั้งเสร็จสิ้นสมบูรณ์ จะสามารถทดลองเปิดเว็บเข้าไปเชยชมผลงานได้ดังรูป

null

ให้เปิดเว็บไปที่ http://10.0.2.15/dashboard ล็อกอินเข้าสู่ระบบด้วยบัญชีผู้ใช้ admin และรหัสผ่านตามที่ตั้งไว้ในตัวแปร CONFIG_KEYSTONE_ADMIN_PW เป็นอันเรียบร้อย

Comments are closed.