系統Centos6.4
主機名是:openstack.lisys.cn
IP地址是:192.168.1.195(eth0)
安裝必要工具:
yum -y install vim wget make gcc automake yum-utils unzip
想安裝openstack必要的源:
rpm-ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpmmysql
安裝openstack組件及依賴包:不要懼怕,按照步驟來吧;你看的別的文章確定沒這麼快一下安裝這麼多的包;
yum --enablerepo=epel-testing install openstack-novaopenstack-glance openstack-keystone openstack-quantumopenstack-swift openstack-dashboard openstack-utils memcachedqpid-cpp-server mysql-server avahi
這個這幾天用epel-testin會報錯說quantum-2013.1找不到,安裝的時候把--enablerepo=epel-testing去掉就能夠了!
消息服務器是必須的,OpenStack默認採用qpid做爲消息服務器,所以此處安裝的是qpid。
安全如今
vim /etc/qpidd.conf
auth=yes----->auth=no
:x保存退出;
selinux設置:
vim /etc/selinux/config
SELINUX=permissive 此模式爲自由模式;
設置DNS控制:
yum install -y dnsmasq-utils
數據庫相關的配置:
開啓mysql,並設置開機自啓
service mysqld start && chkconfig mysqld on
Starting mysqld: [ OK ]
初始化nova相關數據庫
openstack-db --init --service nova
linux
MySQL user:是登錄數據庫的密碼,即爲數據庫管理員密碼;
初始化glance相關數據庫
openstack-db --init --service glance
開啓AMQP消息功能:
service qpidd start && chkconfig qpidd on
Starting Qpid AMQP daemon: [ OK ]
開啓libvirt功能:
service libvirtd restart ; chkconfig libvirtd on
Stopping libvirtd daemon: [ OK ]
Starting libvirtd daemon: 2013-05-21 17:20:23.433+0000: 23858: info: libvirt version: 0.10.2, package: 18.el6_4.5 (CentOS BuildSystem<http://bugs.centos.org>, 2013-05-16-14:53:18,c6b7.bsys.dev.centos.org)
2013-05-21 17:20:23.433+0000: 23858: warning : virGetHostname:2265: getaddrinfo failed for 'openstack': Name or service not known
[ OK ]
啓動glance-api、glance-registry功能:
for svc in api registry ; do service openstack-glance-$svc start;chkconfig openstack-glance-$svc on ;done
Starting openstack-glance-api: [ OK ]
Starting openstack-glance-registry: [ OK ]
dd if=/dev/zero of=/var/lib/nova/nova-volumes.img bs=1M seek=20kcount=0
0+0 records in
0+0 records out
0 bytes (0 B) copied, 1.8741e-05 s, 0.0 kB/s
vgcreate nova-volumes $(losetup --show -f/var/lib/nova/nova-volumes.img)
No physical volume label read from /dev/loop0
Physical volume "/dev/loop0" successfully created
Volume group "nova-volumes" successfully created
如下兩點很重要,若是不作會致使建立volume失敗!
vim /etc/tgt/targets.conf
include /etc/nova/volumes/*
service tgtd start ; chkconfig tgtd on
Starting SCSI target daemon: [ OK ]
service tgtd start ; chkconfig tgtd on
Starting SCSI target daemon: [ OK ]
openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_typekvm
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64sql
重啓系統數據庫
rebootswift
重啓libvirtvim
service libvirtd restartcentos
啓動服務後,使用ps -aux | grepnova看看是否全部的服務都起來,這些服務包括nova-objectstore、nova-network、nova-volume、nova-scheduler、nova-cert、nova-api、nova-compute。爲了進一步確認服務都正常,務必查看/var/log/nova下的各個服務的日誌文件,看看是否有錯誤或者警告。api
注意:此處特別強調一下nova-voluem服務,每次重啓系統後nova-volumes卷都會丟失(具體緣由待查),所以,上面執行的命令可能會在啓動volume服務時失敗,具體看日誌。若是確實是這種狀況,能夠再運行一次:安全
vgcreate nova-volumes $(losetup --show -f/var/lib/nova/nova-volumes.img)bash
並重啓一次volume服務,若果有提示錯誤,則再嘗試一次:
service openstack-nova-volume restart
vi建立一個keystonerc的文件,並寫入以下內容用於環境變量:
vim keystonerc
export ADMIN_TOKEN=$(openssl rand -hex 10)
export OS_USERNAME=admin
export OS_PASSWORD=verybadpass
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/
保存並退出,而後執行:
source ./keystonerc
注意:以上文件的內容,最好添加到~/.bashrc中,不然每次重啓系統後,若是經過命令行進行相關操做需找到keystonerc文件,且執行source./keystonerc
設置配置文件中的admin_token值
openstack-config --set /etc/keystone/keystone.conf DEFAULTadmin_token $ADMIN_TOKEN
啓動keystone服務
service openstack-keystone start && chkconfigopenstack-keystone on
建立簡單的tenant、user、roles、service
ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepassopenstack-keystone-sample-data
測試keystone服務是否工做正常
keystone user-list
重啓nova的api和compute服務
for svc in api compute; do service openstack-nova-$svc restart;done
驗證nova、keystone是否可連通
nova flavor-list
重啓glance的兩個服務
service openstack-glance-api restart
service openstack-glance-registry restart
驗證glance、keystone是否連通
glance index
若是selinux是打開的,咱們須要必須作以下設置,以便保證httpd能夠訪問其餘的網絡服務(dashboard須要與OpenStack其餘服務的httpAPI通訊)
setsebool -P httpd_can_network_connect=on
至此,咱們能夠經過 http://192.168.1.195/dashboard 訪問openstack,用戶名爲:nova 密碼爲:servicepass 也就是咱們在keystone中設置的密碼
在防火牆中開啓對http服務的訪問許可:lokkit -p http:tcplokkit -p https:tcp