CentOS 6.4下安裝部署OpenStack雲端運算平台的方法_OpenStack

來源:互聯網
上載者:User

前言

OpenStack 是一個開源的 IaaS(基礎設施及服務)雲端運算平台,讓任何人都可以自行建立和提供雲端運算服務。

OpenStack 由一系列相互關聯的項目提供雲基礎設施解決方案的各個組件,核心項目(9 個):

      1、計算 (Compute) - Nova;

      2、網路和地址管理 - Neutron;

      3、Object Storage Service (Object) - Swift;

      4、Block Storage (Block) - Cinder;

      5、身份 (Identity) - keystone;

      6、鏡像 (Image) - Glance;

      7、UI 介面 (Dashboard) - Horizon;

      8、測量 (Metering) - Ceilometer;

      9、編配 (Orchestration) – Heat;

相關的配置如下:

      系統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去掉就可以了!

Message Service器是必須的,OpenStack預設採用qpid作為Message Service器,因此此處安裝的是qpid。

安全現在

vim /etc/qpidd.confauth=yes----->auth=no

:x儲存退出;

selinux設定:

vim /etc/selinux/config

SELINUX=permissive  此模式為自由模式;

設定DNS控制:

yum install -y dnsmasq-utils

資料庫相關的配置:

開啟mysql,並設定開機自啟

service mysqld start && chkconfig mysqld onStarting mysqld:                      [ OK ]

初始化nova相關資料庫

openstack-db --init --service nova

MySQL user:是登陸資料庫的密碼,即為資料庫管理員密碼;

初始化glance相關資料庫

openstack-db --init --service glance

開啟AMQP訊息功能:

service qpidd start && chkconfig qpidd onStarting Qpid AMQP daemon:                 [ OK ]

開啟libvirt功能:

service libvirtd restart ; chkconfig libvirtd onStopping 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 ;doneStarting 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=00+0 records in0+0 records out0 bytes (0 B) copied, 1.8741e-05 s, 0.0 kB/svgcreate 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.confinclude /etc/nova/volumes/*service tgtd start ; chkconfig tgtd onStarting SCSI target daemon:                [ OK ]service tgtd start ; chkconfig tgtd onStarting SCSI target daemon:                [ OK ]openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_type kvmln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64

重啟系統

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下的各個服務的記錄檔,看看是否有錯誤或者警告。

注意:此處特彆強調一下nova-voluem服務,每次重啟系統後nova-volumes卷都會丟失(具體原因待查),因此,上面執行的命令可能會在啟動volume服務時失敗,具體看日誌。如果確實是這種情況,可以再運行一次:

vgcreate nova-volumes $(losetup --show -f /var/lib/nova/nova-volumes.img)

並重啟一次volume服務,若果有提示錯誤,則再嘗試一次:

service openstack-nova-volume restart

初始化keystone服務:

初始化keystone相關的資料庫

openstack-db --init --service keystone

vi建立一個keystonerc的檔案,並寫入如下內容用於環境變數:

vim keystonercexport ADMIN_TOKEN=$(openssl rand -hex 10)export OS_USERNAME=adminexport OS_PASSWORD=verybadpassexport OS_TENANT_NAME=adminexport 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 DEFAULT admin_token $ADMIN_TOKEN

啟動keystone服務

service openstack-keystone start && chkconfig openstack-keystone on

建立簡單的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 serviceopenstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_user novaopenstack-config --set /etc/nova/api-paste.ini filter:authtoken admin_password servicepassopenstack-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 keystoneopenstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystoneopenstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_tenant_name serviceopenstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_user glanceopenstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password servicepassopenstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_tenant_name serviceopenstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_user glanceopenstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password servicepass

重啟glance的兩個服務

service openstack-glance-api restartservice openstack-glance-registry restart

驗證glance、keystone是否連通

glance index

配置dashboard服務:

啟動httpd服務

service httpd restart && chkconfig httpd on

如果selinux是開啟的,我們需要必須做如下設定,以便保證httpd可以訪問其他的網路服務(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:tcplokkit -p https:tcp

以上這些是我做過後寫上去的;

總結

以上就是在CentOS 6.4下安裝部署OpenStack雲端運算平台的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.