OpenStack Folsom
มาทดลอง OpenStack Folsom กันหน่อย ติดตั้งยังยากอยู่แต่พอได้ Concept เอาไว้เรียนรู้ก่อนก้าวไปขั้นต่อไป
ในนี้จะเป็นการนำเอา วิธีการของ
มาดัดแปลงให้เข้ากับการติดตั้งบน environment ภายในที่ใช้ทดลองนะคับ
รูปนี้บอกภาพรวมการติดตั้งระบบที่ประกอบด้วยเครื่องคอมพิวเตอร์ 2 เครื่องคือ Control Node และ Compute Node ที่แต่ละเครื่องจะมีส่วนต่อ Network ชื่อว่า eth0 ที่จะต่อเข้ากับ Network Switch และจาก Switch จะเชื่อมต่อเข้ากับระบบ Internet หรือในการทดสอบนี้จะต่อเข้ากับ MUC-Net. ของมหาวิทยาลัยมหิดล
ตัวระบบแบ่งออกเป็น 2 ส่วนคือ 1)ติดตั้ง Control Node ก่อนและ 2)ติดตั้ง Compute Node เพื่อใช้งานร่วมกัน ระบบจึงจะสมบูรณ์
โดยมีความต้องการทรัพยากรณ์ขั้นต่ำในการติดตั้งทั้งสองเครื่องดังต่อไปนี้
- 4096 MB ของ Memory (RAM)
- Hard Disk มีความจุ 60 GB
- มี 1 Network Adapter
รวมขั้นตอนการติดตั้งระบบ
เริ่มจากขั้นตอนแรกติดตั้ง Control Node ตามลำดับ
เสร็จสิ้นการติดตั้ง
ข้อแนะนำ
ข้อควรระวังในการติดตั้งคือ ต้องทำตามทุกขั้นตอนห้ามข้ามและการตั้งค่าต่างๆต้องเป็นตามตัวอย่างเท่านั้นหากผู้ติดตั้งไม่มีประสบการณ์มาก่อน และถ้าหากข้ามขั้นตอนไปแล้วเกิดติดปัญหาจะต้องเริ่มการติดตั้งใหม่ทั้งหมดตั้งแต่เริ่มต้น
รายละเอียด Service ของ Control Node ประกอบไปด้วย Service ต่างๆดังนี้
- KeyStone:ทำหน้าที่จัดการ Service ต่างๆที่เกี่ยวกับ Identity Token Catalog และ Policy ของระบบ
- Glance:ทำหน้าที่ Discover Register และทำการ Retrieve ข้อมูลของ Virtual Machine Image
- Nova Service:จะเป็น Host ตัวหลักที่บริหารจัดการระบบ Cloud Computing ซึ่งจะเหมือนกับ Rackspace Cloud Service หรือ Amazon EC2 ที่มีให้ใช้อยู่ในปัจจุบัน
- Horizon:เป็นส่วนติดต่อกับผู้ใช้งานที่เป็น Web Based ที่จะทำงานกับ Service ต่างๆของ OpenStack ตัวอย่างเช่น Nava KeyStone และ Glance เป็นต้น
- Cinder:เป็น Block Storage ที่จะทำหน้าที่จัดการ Volume ต่างๆของ Virtual Machine หรือ อีกชื่อหนึ่งที่รู้จักกันคือ Nova-Volume
รายละเอียด Service ของ Compute Node ประกอบไปด้วย Service ต่างๆดังนี้
- Nova Compute:ทำหน้าที่เป็น Host และบริหารจัดการระบบร่วมกับ Control Node
- Nova Network:จะบริหารจัดการระบบเครือข่ายสื่อสารภายในระบบ เช่นการทำ DHCP VLAN และ Network Management
- KVM:หรือชื่อเต็มคือ Kernel-Based Virtual Machine เป็น Hypervisor ที่จัดการ Virtual Machine ต่างๆที่ถูกใช้ในระบบ
วิธีการติดตั้ง Control Node
1) การเตรียมระบบสำหรับ OpenStack
เราใช้ Ubuntu 12.10
เปิดใช้ Terminal และ Login เข้าสู้ root ด้วยคำสั่งนี้
$ sudo su
ข้อแนะนำ
ตัวอย่างนี้ติดตั้งใน MUC-Net จำเป็นจะต้องตั้งค่า Mahidol internet Proxy โดยใช้คำสั่งนี้
$ vim /etc/apt/apt.conf
และเข้าไปแก้ file โดยเพิ่มข้อมูลต่อไปนี้
Acquirehttpproxy "http://yourusername:yourpassword@proxy-phy.mahidol:8080/";
โดยใช้ yourusername และ yourpassword ที่ใช้ Login เข้า Internet ของมหาวิทยาลัยฯ
ทำการ Update OS ด้วยคำสั่งนี้
$ apt-get update
$ apt-get upgrade
$ apt-get dist-upgrade
ติดตั้ง NTP service ด้วยคำสั่ง
$ apt-get install ntp
ติดตั้ง VLAN, Bridge-Utils, และตั้งค่า IP Forwarding ด้วย
$ apt-get install -y vlan bridge-utils
$ sed -i 's/$ net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
$ sysctl net.ipv4.ip_forward=1
2) ติดตั้งและตั้งค่า Database (MySQL)
ติดตั้ง MySQL
$ apt-get install mysql-server python-mysqldb
ตั้งค่า mysql เพื่อรับ incoming requests ทั้งหมดและ restart service
$ sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
$ service mysql restart
ติดตั้ง RabbitMQ ด้วย
$ apt-get install -y rabbitmq-server
3) ติดตั้งและตั้งค่า Identity Service (Keystone)
ติดตั้ง Keystone service
$ apt-get install keystone
สร้างฐานข้อมูลสำหรับ Keystone
$ mysql –u root –p
และเมื่อเข้าไปในคำสั่ง mysql ให้ใช้
$ CREATE DATABASE keystone;
$ GRANT ALL ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass';
$ quit;
แก้ตัวแปร connection ใน /etc/keystone/keystone.conf ไปเป็น IP address ที่กำหนดไว้
$ vim /etc/keystone/keystone.conf
และแก้ข้อความในบรรทัดที่ขึ้นต้นด้วยตัวแปร connection ประมาณนี้
connection = mysql://keystoneUser:keystonePass@10. 0.2.15/keystone
***ต้องใช้ IP Address ของเครื่อง Control Node เท่านั้นและใช้เหมือนกันในทุกๆ Service
Restart the identity service และ synchronize database
$ service keystone restart
$ keystone-manage db_sync
ใช้ mseknibilel’s scripts จาก “nimbula github” โดย Download File คำสั่ง wget ตามนี้
$ wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_basic.sh
$ wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_endpoints_basic.sh
เปลี่ยนค่า mod ให้ File ทั้ง 2 ที่ Download มาคือ keystone_basic.sh และ keystone_endpoints_basic.sh ด้วยคำสั่ง
$ chmod +x keystone_basic.sh
$ chmod +x keystone_endpoints_basic.sh
ใน keystone_basic.sh script, เปลี่ยนค่า $HOST_IP ไปเป็น IP Address ที่กำหนดไว้ และใน keystone_endpoints_basic.sh script, เปลี่ยนค่า $HOST_IP, $EXT_HOST_IP, และ $MYSQL_HOST เป็น IP address ที่กำหนดไว้เช่นกัน
***การเปลี่ยนหรือแก้ File ผู้ติดตั้งสามารถเลือกแก้ด้วย editor ที่ถนัดในที่นี้ส่วนใหญ่จะใช้ vim ซึ่งเป็น CLI (Command Line Interface) หากไม่ถนัดสามารถแก้ File ด้วย Editor อื่นที่เป็น GUI (Graphic User Interface) เช่น gedit เป็นต้น แต่ต้องระวังเรื่องสิทธิ์การแก้ File ต้องใช้สิทธิ์ root เท่านั้น โดยผู้ติดตั้งสามารถเปิด gedit จาก Command Line
$ gedit /ตามด้วยตำแหน่งของ File ที่ต้องการแก้
จากนั้น execute scripts ทั้ง 2 ด้วยคำสั่งต่อไปนี้
$ ./keystone_basic.sh
$ ./keystone_endpoints_basic.sh
จะได้ผลของ keystone_endpoints_basic.sh ตามนี้ และถ้าอยากรู้ว่ามันทำอะไรบ้างเข้าไปดูใน file นะมีหลายอย่างเลย
สร้าง OpenStack credential file
$ vim credential
และใส่ข้อมูลต่อไปนี้ลงใน File credential
export OS_NO_CACHE=1
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin_pass
export OS_AUTH_URL="http://10.0.2.15:5000/v2.0/"
***ค่าของค่าตัวแปร OS_TENANT_NAME, OS_USERNAME, OS_PASSWORD, และ OS_AUTH_URL เป็นค่า Default ที่ใช้เป็นตัวอย่าง ซึ่งจะมีค่าเหมือนกันทั้งหมดในการติดตตั้งและอย่าลืมแก้IP Address ใน File credential ซึ่งตัวอย่างนี้คือ 10.0.2.15
และทำการ load ใช้งานค่า file credential
$ source credential
การทดสอบ Keystone, ด้วย cure
$ apt-get install curl openssl
$ curl http://10.0.2.15:35357/v2.0/endpoints -H 'x-auth-token: ADMIN' | python -m json.tool
***ตรวจสอบ IP Address ให้ตรงตามที่ใช้งาน ซึ่งตัวอย่างนี้คือ 10.0.2.15
4) ติดตั้งและตั้งค่า Image Storage Service (Glance)
ติดตั้ง Glance service
$ apt-get install glance
สร้าง MySQL database ใหม่ให้ Glance
$ mysql -u root -p
และเมื่อเข้าไปในคำสั่ง mysql
$ CREATE DATABASE glance;
$ GRANT ALL ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass';
$ quit;
เปลี่ยนค่า filter:authtoken ใน /etc/glance/glance-api-paste.ini
$ vim /etc/glance/glance-api-paste.ini
จากนั้นแก้ file ในส่วน [filter:authtoken] ให้ตรงตามข้อมูลต่อไปนี้
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
auth_host = 10.0.2.15
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = service_pass
อย่าลืมตรวจสอบ IP Address ให้ตรงตามที่ใช้งาน ซึ่งตัวอย่างนี้คือ 10.0.2.15
เปลี่ยนค่า filter:authtoken ใน /etc/glance/glance-registry-paste.ini
$ vi /etc/glance/glance-registry-paste.ini
จากนั้นแก้ file ในส่วน [filter:authtoken] ให้ตรงตามข้อมูล
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
auth_host = 10.0.2.15
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = service_pass
เปลี่ยนค่า /etc/glance/glance-api.conf
$ vi /etc/glance/glance-api.conf
โดยแก้ข้อมูลที่ตัวแปร sql_connection
sql_connection = mysql://glanceUser:glancePass@10.0.2.15/glance
***ตรวจสอบ IP Address ให้ตรงตามที่ใช้งาน ซึ่งตัวอย่างนี้คือ 10.0.2.15
และแก้ข้อมูลที่ตัวแปร flavor ตามนี้
[paste_deploy]
flavor = keystone
เปลี่ยนค่า /etc/glance/glance-registry.conf ด้วย
$ vi /etc/glance/glance-registry.conf
โดยแก้ข้อมูลที่ตัวแปร sql_connection
sql_connection = mysql://glanceUser:glancePass@10.0.2.15/glance
และแก้ข้อมูลที่ตัวแปร flavor
[paste_deploy]
flavor = keystone
จากนั้น restart glance-api และ glance-registry services
$ service glance-api restart
$ service glance-registry restart
Sync Glance databases
$ glance-manage db_sync
ทดสอบการติดตั้ง Glance ด้วยการติดตั้ง cirros cloud image จาก Launchpad mirror
$ wget https://launchpad.net/cirros/trunk/0.3.0/+download/ cirros-0.3.0-x86_64-disk.img
ถ้า Download ด้วยคำสั่ง wget ไม่ได้ก็ใช้ web browser แทนแล้วค่อยนำมาใช้งานได้
จากนั้นติดตั้ง cirros cloud image
$ glance image-create --name ImageTest --is-public true --container-format bare --disk-format qcow2 < cirros-0.3.0-x86_64-disk.img
ดูตำแหน่งของ File cirros-0.3.0-x86_64-disk.img ให้แน่นอน โดยใส่ข้อมูลที่เป็น full path เช่น /home/user1/cirros-0.3.0-x86_64-disk.img ตามตำแหน่ง file
ใช้ glance’s image list เพื่อดูว่า image นั้นได้ upload ไปแล้วหรือไม่
$ glance image-list
5) ติดตั้ง และตั้งค่า Compute Node Packages (Nova)
ติดตั้ง control node compute packages
$ apt-get install -y nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy nova-network
สร้าง MySQL database สำหรับ Nova
$ mysql -u root -p
และเมื่อเข้าไปในคำสั่ง mysql
$ CREATE DATABASE nova;
$ GRANT ALL ON nova.* TO 'novaUser'@'%' IDENTIFIED BY 'novaPass';
$ quit;
แก้ authtoken section ใน /etc/nova/api-paste.ini
$ vim /etc/nova/api-paste.ini
จากนั้นแก้ file ในส่วน [filter:authtoken] ให้ตรงตามนี้
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
auth_host = 10.0.2.15
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = service_pass
signing_dirname = /tmp/keystone-signing-nova
แก้ /etc/nova/nova.conf
$ vim /etc/nova/nova.conf
จากนั้นแก้ file
[DEFAULT]
logdir=/var/log/nova
state_path=/var/lib/nova
lock_path=/run/lock/nova
verbose=True
api_paste_config=/etc/nova/api-paste.ini
scheduler_driver=nova.scheduler.simple.SimpleScheduler
s3_host=10.0.2.15
ec2_host=10.0.2.15
ec2_dmz_host=10.0.2.15
rabbit_host=10.0.2.15
cc_host=10.0.2.15
metadata_host=10.0.2.15
metadata_listen=0.0.0.0
nova_url=http:// 10.0.2.15:8774/v1.1/
sql_connection=mysql://novaUser:novaPass@10.0.2.15/nova
ec2_url=http:// 10.0.2.15:8773/services/Cloud
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
# Auth
use_deprecated_auth=false
auth_strategy=keystone
keystone_ec2_url=http:// 10.0.2.15:5000/v2.0/ec2tokens
# Imaging service
glance_api_servers=10.0.2.15:9292
image_service=nova.image.glance.GlanceImageService
# Vnc configuration
novnc_enabled=true
novncproxy_base_url=http:// 10.0.2.15:6080/vnc_auto.html
novncproxy_port=6080
vncserver_proxyclient_address=10.0.2.15
vncserver_listen=0.0.0.0
# NETWORK
network_manager=nova.network.manager.FlatDHCPManager
force_dhcp_release=True
dhcpbridge_flagfile=/etc/nova/nova.conf
firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
# Change my_ip to match each host
my_ip=10.0.2.15
public_interface=br100
vlan_interface=eth0
flat_network_bridge=br100
flat_interface=eth0
# Note the different pool, this will be used for instance range
fixed_range=10.0.3.0/24
# Compute #
compute_driver=libvirt.LibvirtDriver
# Cinder #
volume_api_class=nova.volume.cinder.API
osapi_volume_listen_port=5900
Sync ค่า Nova database
$ nova-manage db sync
Restart nova-* services ทั้งหมด
$ cd /etc/init.d/; for i in $(ls nova-*); do sudo service $i restart; done
ทดสอบ Nova services
$ nova-manage service list
จะมีข้อมูลของ service ต่างๆประมาณนี้
6) ติดตั้งและตั้งค่า VM Volume Management (Cinder)
ติดตั้ง Cinder
$ apt-get install cinder-api cinder-scheduler cinder-volume iscsitarget iscsitarget-dkms
สร้าง MySQL database สำหรับ Cinder
$ mysql -u root -p
และเมื่อเข้าไปในคำสั่ง mysql
$ CREATE DATABASE cinder;
$ GRANT ALL ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY 'cinderPass';
$ quit;
ตั้งค่า api-paste.ini
$ vim /etc/cinder/api-paste.ini
จากนั้นแก้ file ในส่วน [filter:authtoken]
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host = 10.0.2.15
service_port = 5000
auth_host = 10.0.2.15
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = cinder
admin_password = service_pass
ตั้งค่า cinder.conf
$ vim /etc/cinder/cinder.conf
จากนั้นแก้ file
[DEFAULT]
rootwrap_config=/etc/cinder/rootwrap.conf
sql_connection = mysql://cinderUser:cinderPass@10.0.2.15/cinder
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper=ietadm
volume_name_template = volume-%s
volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
Synchronize ค่ากับ database
$ cinder-manage db sync
สร้าง volume group, ตั้งชื่อว่า cinder-volumes
$ dd if=/dev/zero of=cinder-volumes bs=1 count=0 seek=2G
$ losetup /dev/loop2 cinder-volumes
$ fdisk /dev/loop2
***ชื่อของ volume group ผู้ติดตั้งสามารถเปลี่ยนได้และหากการตั้งค่าสำเร็จ เมื่อ reboot เครื่องแล้ว volume ที่ชื่อ cinder-volumes จะยังคงมีอยู่หากไม่มี วิธีการแก้คือ เริ่มทำการสร้าง volume group ใหม่อีกครั้งและตรวจสอบการตั้งค่าจนจบ
ที่ fdisk prompt, ใส่ commands ตามลำดับต่อไปนี้
$ n
$ p
$ 1
$ ENTER
$ ENTER
$ t
$ 8e
$ w
สร้าง physical volume และ volume group
$ pvcreate /dev/loop2
$ vgcreate cinder-volumes /dev/loop2
ตั้งค่า /etc/rc.local โดยเพิ่มค่าก่อนบรรทัด exit 0
$ vim /etc/rc.local
เพิ่มการตั้งค่านี้หลังจาก exit 0
losetup /dev/loop2 <PATH_TO_VG>
7) ติดตั้งและตั้งค่า Dashboard (Horizon)
ติดตั้ง Horizon interface
$ apt-get install openstack-dashboard memcached
Disable default Ubuntu theme เพื่อใช้งาน theme ของ OpenStack
$ vim /etc/openstack-dashboard/local_settings.py
และแก้ข้อมูลโดยการ comment (เติมเครื่องหมาย # ไว้หน้าบรรทัด) ตามนี้
# Enable the Ubuntu theme if it is present.
# try:
# from ubuntu_theme import *
# except ImportError
# pass
จะต้อง reboot เครื่องหลังการตั้ง
$ reboot
และเมื่อเครื่องเปิดพร้อมใช้งานอีกครั้ง ให้ start nova ทุกๆ services
$ cd /etc/init.d/; for i in $(ls nova-*); do sudo service $i start; done
วิธีการติดตั้ง Compute Node
1) การเตรียมระบบสำหรับ OpenStack
ใช้ Ubuntu 12.10 64 bits เหมือนเดิม
ติดตั้ง NTP service
$ apt-get install ntp
เมื่อติดตั้งเสร็จตั้งค่าให้ NTP เชื่อมต่อกับเครื่อง Control Node และเริ่มการทำงานของ NTP ใหม่อีกครั้ง
$ sed -i 's/server ntp.ubuntu.com/server 10.0.2.15/' /etc/ntp.conf
$ service ntp restart
ติดตั้ง VLAN, Bridge-Utils, และตั้งค่า IP Forwarding
$ apt-get install -y vlan bridge-utils
$ sed -i 's/$ net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
$ sysctl net.ipv4.ip_forward=1
ตรวจสอบเครื่องรองรับการติดตั้ง KVM ด้วยคำสั่งต่อไปนี้
$ apt-get install cpu-checker
$ kvm-ok
***OpenStack รองรับการทำงานร่วมกับ Hypervisor หลายยี่ห้อเช่น KVM ESXi XEN อันนี้ใช้ KVM ชนิดเดียวเท่านั้น ถ้าจะใช้ร่วมกับ Hypervisor อื่นเข้าไปดูที่ openstack.org
ติดตั้ง kvm และตั้งค่า
$ apt-get install -y kvm libvirt-bin pm-utils
แก้ cgroup_device_acl array ใน qemu.conf
$ vim /etc/libvirt/qemu.conf
และแก้ข้อมูลใน parameter ที่ชื่อว่า cgroup_device_acl
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc", "/dev/hpet", "/dev/net/tun" ]
ตั้งค่า live migration, เปิด live migration โดย uncommenting listen_tls = 0, listen_tcp = 1, และ auth_tcp = “none” ใน libvirtd.conf file
$ vim /etc/libvirt/libvirtd.conf
และเพิ่มค่าต่อไปนี้ลงไปใน file
listen_tls = 0
listen_tcp = 1
auth_tcp = "none"
แก้ค่า libvirtd_opts ใน libvirt-bin.conf
$ vim /etc/init/libvirt-bin.con
และเพิ่มค่า parameter ลงใน file
env libvirtd_opts="-d -l"
แก้ค่าเดิมที่ /etc/default/libvirt-bin
$ vim /etc/default/libvirt-bin
และเพิ่มค่า parameterลงใน file
libvirtd_opts="-d -l"
Restart libvirt service เพื่อ Update ค่าที่แก้
$ service libvirt-bin restart
2) ติดตั้งและตั้งค่า Network (nova-network)
ติดตั้ง nova-network
$ apt-get install nova-network bridge-utils
ติดตั้งและตั้งค่า nova-api และ nova-compute
$ apt-get install nova-api-metadata nova-compute-kvm
แก้ค่า authtoke ใน api-paste.ini
$ vim /etc/nova/api-paste.ini
จากนั้นแก้ file ในส่วน [filter:authtoken]
[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
auth_host = 10.0.2.15
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = service_pass
signing_dirname = /tmp/keystone-signing-nova
แก้ nova-compute.conf
$ vim /etc/nova/nova-compute.conf
แก้ห้วข้อ DEFAULT
[DEFAULT]
libvirt_type=kvm
แก้ nova.conf
$ vim /etc/nova/nova.conf
แก้ข้อมูลของ file
[DEFAULT]
logdir=/var/log/nova
state_path=/var/lib/nova
lock_path=/run/lock/nova
verbose=True
api_paste_config=/etc/nova/api-paste.ini
scheduler_driver=nova.scheduler.simple.SimpleScheduler
s3_host=10.0.2.15
ec2_host=10.0.2.15
ec2_dmz_host=10.0.2.15
rabbit_host=10.0.2.15
cc_host=10.0.2.15
metadata_host=10.0.2.15
metadata_listen=0.0.0.0
nova_url=http:// 10.0.2.15:8774/v1.1/
sql_connection=mysql://novaUser:novaPass@10.0.2.15/nova
ec2_url=http:// 10.0.2.15:8773/services/Cloud
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
# Auth
use_deprecated_auth=false
auth_strategy=keystone
keystone_ec2_url=http:// 10.0.2.15:5000/v2.0/ec2tokens
# Imaging service
glance_api_servers=10.0.2.15:9292
image_service=nova.image.glance.GlanceImageService
# Vnc configuration
novnc_enabled=true
novncproxy_base_url=http:// 10.0.2.15:6080/vnc_auto.html
novncproxy_port=6080
vncserver_proxyclient_address=10.0.2.15
vncserver_listen=0.0.0.0
# NETWORK
network_manager=nova.network.manager.FlatDHCPManager
force_dhcp_release=True
dhcpbridge=/usr/bin/nova-dhcpbridge
dhcpbridge_flagfile=/etc/nova/nova.conf
firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
# Change my_ip to match each host
my_ip=10.0.2.15
public_interface=br100
vlan_interface=eth0
flat_network_bridge=br100
flat_interface=eth0
# Note the different pool, this will be used for instance range
fixed_range=10.0.2.0/24
# Compute
compute_driver=libvirt.LibvirtDriver
# Cinder
volume_api_class=nova.volume.cinder.API
osapi_volume_listen_port=5900
Resync databases ของ Nova
$ nova-manage db sync
Restart services เพื่อรับค่าใหม่
$ cd /etc/init.d/; for i in $(ls nova-*); do sudo service $i restart; done
ลองทดสอบสถานะของ services ได้โดย
$ nova-manage service list
เสร็จสิ้นการติดตั้ง และสามารถ Login เข้า OpenStack horizon โดยไปที่ web browser และเข้า URL: http://10.0.2.15/horizon
Account Login คือ admin
Password admin_pass ตามที่ตั้งไว้ใน configure file
พอ Login เข้าไปก็จะเห็นหน้า Dashboard ของ OpenStack Folsom แบบนี้