ก่อนที่จะติดตั้ง OpenStack นั้น เราจะเตรียมความพร้อมก่อน ไม่ว่าจะเป็น OS, Networking, NTP Server และ Database ดังนี้
1. ในส่วน OS
- ติดตั้ง Ubuntu 12.04/14.04 LTS Server เวอร์ชัน 64 bit
- create admin user
- เซตค่า Network
- ติดตั้งเฉพาะแพคเกจ Openssh-server
หลังจากติดตั้งเสร็จเรียบร้อยแล้วให้ update, upgrade ระบบ ดังนี้
sudo apt-get update
sudo apt-get upgrade
2. การปรับแต่ง Network
แก้ไขไฟล์ /etc/network/interfaces ดังตัวอย่าง 2 network interface
หลังจากปรับแต่งคอนฟิกไฟล์เนตเวิร์คเรียบร้อยแล้ว ต้องทำการ Restart network เพื่อปรับค่าใหม่ ดังนี้
sudo /etc/init.d/networking restart
3. NTP Server
ต่อไปเรามาทำในส่วน NTP กันต่อ โดย NTP มีไว้เพื่อ Synchronize เวลาของเครื่องบนเครือข่าย เพื่อให้เครื่องอื่นมา sync เวลาให้ตรงกัน กรณีไม่มี NTP Server เองก็สามารถใช้ Server อื่นได้ ดังตัวอย่างใช้ Server ของ ntp.ubuntu.com เป็นต้น
ติดตั้ง NTP package
sudo apt-get install ntp
แก้ไขไฟล์ /etc/ntp.conf โดยเพิ่ม server ที่ต้องการ ซึ่งถ้าเพิ่ม external server และไม่สามารถเชื่อมต่ออินเตอร์เน็ตได้ NTP server จะใช้เวลาตาม hardware clock เช่น
หลังจากแก้ไขคอนฟิกไฟล์เรียบร้อยก็ทำการ restart NTP server โดยใช้คำสั่ง
sudo service ntp restart
4. Database
โดยปกติ OpenStack ต้องใช้ Database ในการเก็บข้อมูล เราสามารถใช้ MySQL, PostgreSQL หรือ SQLite สำหรับ Nova และ Glance ในที่นี้จะยกตัวอย่างเป็น MySQL
ติดตั้ง mysql-server และ python-mysqldb (ตั้งรหัสผ่าน ในที่นี้สมมุติเป็น dbpassword)
sudo apt-get install mysql-server python-mysqldb
เปลี่ยนค่า bind address เพื่อให้เครื่องอื่นติดต่อ MySQL เราได้ โดยเปลี่ยน จาก 127.0.0.1 เป็น 0.0.0.0 ใน /etc/mysql/my.cnf ดังนี้
bind-address = 0.0.0.0
Restart MySQL server เพื่อปรับปรุงค่าใหม่ที่ได้แก้ไขไป โดยใช้คำสั่ง
sudo service mysql restart
เมื่อเราติดตั้ง MySQL เรียบร้อยแล้ว ก็มาสร้างฐานข้อมูลสำหรับ nova, glance และ keystone กัน
สร้างฐานข้อมูล, user , password พร้อม grant สิทธิ์สำหรับ nova
sudo mysql -uroot -pdbpassword -e ’CREATE DATABASE nova;’
sudo mysql -uroot -pdbpassword -e ’CREATE USER novadbadmin;’
#สร้าง user ชื่อ novadbadmin
sudo mysql -uroot -pdbpassword -e "GRANT ALL PRIVILEGES ON nova.* TO ’novadbadmin’@’%’;"
sudo mysql -uroot -pdbpassword -e "SET PASSWORD FOR ’novadbadmin’@’%’ = PASSWORD(’novasecret’);"
สร้างฐานข้อมูล, user , password พร้อม grant สิทธิ์สำหรับ glance
sudo mysql -uroot -pdbpassword -e ’CREATE DATABASE glance;’
sudo mysql -uroot -pdbpassword -e ’CREATE USER glancedbadmin;’
#สร้าง user ชื่อ glancedbadmin
sudo mysql -uroot -pdbpassword -e "GRANT ALL PRIVILEGES ON glance.* TO ’glancedbadmin’@’%’;"
sudo mysql -uroot -pdbpassword -e "SET PASSWORD FOR ’glancedbadmin’@’%’ = PASSWORD(’glancesecret’);"
สร้างฐานข้อมูล, user , password พร้อม grant สิทธิ์สำหรับ keystone
sudo mysql -uroot -pdbpassword -e ’CREATE DATABASE keystone;’
sudo mysql -uroot -pdbpassword -e ’CREATE USER keystonedbadmin;’
#สร้าง user ชื่อ keystonedbadmin
sudo mysql -uroot -pdbpassword -e "GRANT ALL PRIVILEGES ON keystone.* TO ’keystonedbadmin’@’%’;"
sudo mysql -uroot -pdbpassword -e "SET PASSWORD FOR ’keystonedbadmin’@’%’ = PASSWORD(’keystonesecret’);"
เมื่อเตรียมความพร้อมเรียบร้อยแล้วครั้งหน้าเราจะมาเรียนรู้ส่วนของการติดตั้งและปรับแต่ง keystone กัน