CentOS 6.5系統部署OpenStack雲計算平臺

系統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


啓動nova的全部服務:
for svc in api objectstore compute network volume scheduler cert;do service openstack-nova-$svc start; chkconfig openstack-nova-$svcon;  done


啓動服務後,使用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


初始化keystone服務:
初始化keystone相關的數據庫
openstack-db --init --service keystone


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使用keystone認證服務:
openstack-config --set /etc/nova/api-paste.ini filter:authtokenadmin_tenant_name service
openstack-config --set /etc/nova/api-paste.ini filter:authtokenadmin_user nova
openstack-config --set /etc/nova/api-paste.ini filter:authtokenadmin_password servicepass
openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategykeystone


重啓nova的api和compute服務
for svc in api compute; do service openstack-nova-$svc restart;done

驗證nova、keystone是否可連通
nova flavor-list


配置glance使用keystone認證服務:
openstack-config --set /etc/glance/glance-api.conf paste_deployflavor keystone
openstack-config --set /etc/glance/glance-registry.confpaste_deploy flavor keystone
openstack-config --set /etc/glance/glance-api-paste.inifilter:authtoken admin_tenant_name service
openstack-config --set /etc/glance/glance-api-paste.inifilter:authtoken admin_user glance
openstack-config --set /etc/glance/glance-api-paste.inifilter:authtoken admin_password servicepass
openstack-config --set /etc/glance/glance-registry-paste.inifilter:authtoken admin_tenant_name service
openstack-config --set /etc/glance/glance-registry-paste.inifilter:authtoken admin_user glance
openstack-config --set /etc/glance/glance-registry-paste.inifilter:authtoken admin_password servicepass


重啓glance的兩個服務
service openstack-glance-api restart
service openstack-glance-registry restart

驗證glance、keystone是否連通
glance index


配置dashboard服務:
啓動httpd服務
service httpd restart && chkconfig httpd on


若是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

相關文章
相關標籤/搜索