CentOS 6.4下安裝部署OpenStack云計算平臺的方法
前言
OpenStack 是一個開源的 IaaS(基礎設施及服務)云計算平臺,讓任何人都可以自行建立和提供云端運算服務。
OpenStack 由一系列相互關聯(lián)的項目提供云基礎設施解決方案的各個組件,核心項目(9 個):
1、計算 (Compute) - Nova;
2、網(wǎng)絡和地址管理 - Neutron;
3、對象存儲 (Object) - Swift;
4、塊存儲 (Block) - Cinder;
5、身份 (Identity) - keystone;
6、鏡像 (Image) - Glance;
7、UI 界面 (Dashboard) - Horizon;
8、測量 (Metering) - Ceilometer;
9、編配 (Orchestration) – Heat;
相關的配置如下:
系統(tǒng)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.rpm
安裝openstack組件及依賴包:不要害怕,按照步驟來吧;你看的別的文章肯定沒這么快一下安裝這么多的包;
yum --enablerepo=epel-testing install openstack-nova openstack-glance openstack-keystone openstack-quantum openstack-swift openstack-dashboard openstack-utils memcached qpid-cpp-server mysql-server avahi
這個這幾天用epel-testin會報錯說quantum-2013.1找不到,安裝的時候把--enablerepo=epel-testing
去掉就可以了!
消息服務器是必須的,OpenStack默認采用qpid作為消息服務器,因此此處安裝的是qpid。
安全現(xiàn)在
vim /etc/qpidd.conf auth=yes----->auth=no
:x保存退出;
selinux設置:
vim /etc/selinux/config
SELINUX=permissive 此模式為自由模式;
設置DNS控制:
yum install -y dnsmasq-utils
數(shù)據(jù)庫相關的配置:
開啟mysql,并設置開機自啟
service mysqld start && chkconfig mysqld on Starting mysqld: [ OK ]
初始化nova相關數(shù)據(jù)庫
openstack-db --init --service nova
MySQL user:是登陸數(shù)據(jù)庫的密碼,即為數(shù)據(jù)庫管理員密碼;
初始化glance相關數(shù)據(jù)庫
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 , 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=20k count=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
以下兩點很重要,如果不做會導致創(chuàng)建volume失?。?br />
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_type kvm ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64
重啟系統(tǒng)
reboot
重啟libvirt
service libvirtd restart
啟動nova的所有服務:
for svc in api objectstore compute network volume scheduler cert; do service openstack-nova-$svc start; chkconfig openstack-nova-$svc on; done
啟動服務后,使用ps -aux | grep nova看看是否所有的服務都起來,這些服務包括nova-objectstore、nova-network、nova-volume、nova-scheduler、nova-cert、nova-api、nova-compute。為了進一步確認服務都正常,務必查看/var/log/nova下的各個服務的日志文件,看看是否有錯誤或者警告。
注意:此處特別強調(diào)一下nova-voluem服務,每次重啟系統(tǒng)后nova-volumes卷都會丟失(具體原因待查),因此,上面執(zhí)行的命令可能會在啟動volume服務時失敗,具體看日志。如果確實是這種情況,可以再運行一次:
vgcreate nova-volumes $(losetup --show -f /var/lib/nova/nova-volumes.img)
并重啟一次volume服務,若果有提示錯誤,則再嘗試一次:
service openstack-nova-volume restart
初始化keystone服務:
初始化keystone相關的數(shù)據(jù)庫
openstack-db --init --service keystone
vi創(chuàng)建一個keystonerc的文件,并寫入如下內(nèi)容用于環(huán)境變量:
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/
保存并退出,然后執(zhí)行:
source ./keystonerc
注意:以上文件的內(nèi)容,最好添加到~/.bashrc中,否則每次重啟系統(tǒng)后,如果通過命令行進行相關操作需找到keystonerc文件,且執(zhí)行source ./keystonerc
設置配置文件中的admin_token值
openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN
啟動keystone服務
service openstack-keystone start && chkconfig openstack-keystone on
創(chuàng)建簡單的tenant、user、roles、service
ADMIN_PASSWORD=$OS_PASSWORD SERVICE_PASSWORD=servicepass openstack-keystone-sample-data
測試keystone服務是否工作正常
keystone user-list
配置nova使用keystone認證服務:
openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_tenant_name service openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_user nova openstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password servicepass openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
重啟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_deploy flavor keystone openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name service openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glance openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepass openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name service openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glance openstack-config --set /etc/glance/glance-registry-paste.ini filter: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可以訪問其他的網(wǎng)絡服務(dashboard需要與OpenStack其他服務的http API通信)
setsebool -P httpd_can_network_connect=on
至此,我們可以通過 http://192.168.1.195/dashboard 訪問openstack,用戶名為:nova 密碼為:servicepass 也就是我們在keystone中設置的密碼
在防火墻中開啟對http服務的訪問許可:
lokkit -p http:tcp lokkit -p https:tcp
以上這些是我做過后寫上去的;
總結(jié)
以上就是在CentOS 6.4下安裝部署OpenStack云計算平臺的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關文章
OpenStack云計算快速入門教程(1)之OpenStack及其構(gòu)成簡介
該教程基于Ubuntu12.04版,它將幫助讀者建立起一份OpenStack最小化安裝。這篇文章主要介紹了OpenStack云計算快速入門教程(1)之OpenStack及其構(gòu)成簡介 ,需要的朋友可以參考下2016-11-11OpenStack手動分布式部署Keystone(Queens版)
這篇文章主要介紹了OpenStack手動分布式部署Keystone(Queens版),Keystone是OpenStack框架中負責管理身份驗證服務訪問規(guī)則和服務令牌功能的組件,需要的朋友可以參考下2023-03-03詳解OpenStack云平臺的網(wǎng)絡模式及其工作機制
這篇文章主要介紹了詳解OpenStack云平臺的網(wǎng)絡模式及其工作機制,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-12-12Openstack 創(chuàng)建項目和虛擬機詳細介紹
這篇文章主要介紹了Openstack 創(chuàng)建項目和虛擬機詳細介紹的相關資料,這里舉例說明如何實現(xiàn),圖文教程,需要的朋友可以參考下2016-11-11OpenStack Ceilometer用MongoDB解決占用磁盤空間過大問題
這篇文章主要介紹了OpenStack Ceilometer用MongoDB解決占用磁盤空間過大問題的相關資料,Ceilometer使用MongoDB作為數(shù)據(jù)庫,不斷進行采樣,導致數(shù)據(jù)量膨脹,占用過多的磁盤空間,這里提供解決辦法,需要的朋友可以參考下2016-12-12