雲計算基礎架構平臺IAAS搭建

Iaas雲基礎平臺搭建html

分別安裝兩臺最小化的centos 6.5系統。要求配置雙網卡,打開虛擬化。前端

wKioL1O-q4-Dzx3CAAL44qoiwNs378.jpg

 

安裝系統node

wKioL1O-q5iDdb4FAAQk1AITD5U749.jpg

 

安裝過程python

wKiom1O-q8-Qd-TpAASvi2oFLqg363.jpg

 

 

正在安裝包mysql

wKioL1O-q6SC-JETAAIircDpdYo659.jpg

 

在安裝的過程當中,將計算機名分別改成controllercomputelinux

wKioL1O-q6XQ391yAABN64vfjxw128.jpg

wKiom1O-q9Xyr1QLAABKkraCXQM943.jpg

 

設置controllereth010.0.0.10   255.0.0.0   10.0.0.1git

wKioL1O-q6exJpydAAEA0q96SlY221.jpg

 

Controler eth1 爲 192.168.0.10    255.255.255.0    192.168.0.1web

wKiom1O-q9eCFtRxAAD_kL58P_I381.jpg

 

Computeeth0 10.0.0.11     255.0.0.0   10.0.0.1sql

wKioL1O-q6mRN1E6AADyJAwPJz0951.jpg

 

 

Compute eth1192.168.0.11    255.255.255.0    192.168.0.1數據庫

wKiom1O-q9qRNIZiAADnLfTiyo0394.jpg

 

 

作計算機名解析

wKioL1O-q6zBtR9SAACb5FVqook965.jpg

 

測試控制節點和計算節點直接的通訊

wKioL1O-q67RdCoCAAHNgyfMOOI000.jpg

 

centos 光盤裏的內容複製到/opt 目錄下,此外還要複製腳本scriptrepo p_w_picpaths,咱們可使用工具傳輸

wKioL1O-q7LATGnkAAG_B4zCFtE059.jpg

 

接下來將傳輸過來的光盤裏面的文件,製做一個本地yum源,而後搭建一個ftp服務,用於後期咱們的計算節點和控制節點之間的文件傳輸。

刪除/etc/yum.repos.d/ 下原有的yum 倉庫。新建一個basebase.repo文件

切換到/opt/centos 6.5/Packages 目錄下,手動安裝createrepo-0.9.9-18.el6.noarch.rpm 

[root@controller Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm 

warning: createrepo-0.9.9-18.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

error: Failed dependencies:

libxml2-python is needed by createrepo-0.9.9-18.el6.noarch

python-deltarpm is needed by createrepo-0.9.9-18.el6.noarch

 

根據提示,咱們須要安裝它的依賴包,因此要手動安裝依賴包

[root@controller Packages]# rpm -ivh libxml2-python-2.7.6-14.el6.x86_64.rpm 

warning: libxml2-python-2.7.6-14.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

Preparing...                ########################################### [100%]

   1:libxml2-python         ########################################### [100%]

[root@controller Packages]# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm 

warning: python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY

error: Failed dependencies:

deltarpm = 3.5-0.5.20090913git.el6 is needed by python-deltarpm-3.5-0.5.20090913git.el6.x86_64

[root@controller Packages]# rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm 

warning: deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY

Preparing...                ########################################### [100%]

   1:deltarpm               ########################################### [100%]

[root@controller Packages]# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm 

warning: python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY

Preparing...                ########################################### [100%]

   1:python-deltarpm        ########################################### [100%]

[root@controller Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm 

warning: createrepo-0.9.9-18.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

Preparing...                ########################################### [100%]

   1:createrepo             ########################################### [100%]

[root@controller Packages]# 

 

到此爲止,咱們已經安裝好了依賴包。

 

執行命令

[root@controller Packages]# createrepo -v /opt/centos

連接庫文件

wKiom1O-q-GQPSgHAATUGeJrvSg936.jpg

 

 

 

庫文件連接過程

 

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Starting other db creation: Thu Jul 10 23:55:11 2014

Ending other db creation: Thu Jul 10 23:55:13 2014

Starting filelists db creation: Thu Jul 10 23:55:14 2014

Ending filelists db creation: Thu Jul 10 23:55:21 2014

Starting primary db creation: Thu Jul 10 23:55:21 2014

Ending primary db creation: Thu Jul 10 23:55:26 2014

Sqlite DBs complete

 

 

庫文件連接完成。

 

配置base.repo內容以下:

[base]

name=centos

baseurl=file:///opt/centos/

enabled=1

gpgcheck=0

 

這樣本地yum就配好了,安裝vsftpd 服務,在編輯vsftpd.conf 配置文件,在末尾加入anon_root=/opt

[root@controller yum.repos.d]# yum install vsftpd -y

wKiom1O-rUuQ4cWsAAF2g1p5KZk229.jpg

 

重啓服務,設置開機啓動。

這裏還要修改一下base.repo文件,改爲從ftp 獲取,以下如

wKioL1O-rRyCA5b7AABX9da9fhs587.jpg

 

 

由於計算機點還要從控制節點獲包。

 

 

接下來就開始配置另外幾個yum倉庫了。

全部的倉庫配置文件能夠參考下面的文件:

[root@controller yum.repos.d]# cat *.repo

[base]

name=centos

baseurl=ftp://10.0.0.10/centos/

enabled=1

gpgcheck=0

[centos]

name=centos

baseurl=ftp://10.0.0.10/repo/centos6.5/

enabled=1

gpgcheck=0

[epel]

name=epel

baseurl=ftp://10.0.0.10/repo/epel6/mirrors.hustunique.com/epel/6/x86_64/

enabled=1

gpgcheck=0

[foreman]

name=foreman

baseurl=ftp://10.0.0.10/repo/foreman/yum.theforeman.org/release/1.3/el6/x86_64/

enabled=1

gpgcheck=0

[openstack]

name=openstack

baseurl=ftp://10.0.0.10/repo/openstack-havana/

enabled=1

gpgcheck=0

[puppetlabs]

name=puppetlabs

baseurl=ftp://10.0.0.10/repo/puppetlabs/yum.puppetlabs.com/el/6/products/x86_64/

enabled=1

gpgcheck=0

 

 

編輯openrc.sh 設置環境變量

export OS_USERNAME=admin

export OS_PASSWORD=secrete

export OS_TENANT_NAME=admin

export OS_AUTH_URL=http://controller:35357/v2.0

export HOST_IP=10.0.0.10

export HOST_EXT_IP=192.168.1.10

export FIX_RANGE=192.168.1.129/25

export IMAGES_DIR=/var/lig/glance/p_w_picpaths

export FTP_IMAGES_URL=ftp://10.0.0.10/p_w_picpaths

export IMAGE_NAME_LINUX=centos-6.5-20140117.0x86_64.qcow2

export LINUX_IMAGE_LABEL=centos

export LINUX_IAMGE_FILE_FORMAT=qcow2

export KEYSTONE_DBPASS=keystone

export DB_PASS=openstack

export ADMIN_PASS=secrete

export GLANCE_DBPASS=glance

export GLANCE_PASS=service

export NOVA_DBPASS=nova

export NOVA_PASS=service

export DASH_DBPASS=service

export CINDER_DBPASS=service

export CINDER_PASS=service

export DEMO_PASS=demo

export MAIL_ADMIN_ADDR=admin@example.com

export MAIL_DEMO_ADDR=demo@example.com

export MAIL_GLANCE_ADDR=admin@example.com

export MAIL_NOVA_ADDR=admin@example.com

 

 

配置完成後追加至/root/.bash_profile

[root@controller script]# cat openrc.sh > /root/.bash_profile 

 

執行 source /root/.bash_profile 生效

[root@controller script]# source /root/.bash_profile 

 

[root@controller script]# echo $DB_PASS

Openstack

查看是否生效

 

接下啦安裝ntp時鐘服務,咱們能夠調用寫好的腳本文件

首先咱們看一下,有哪些腳本文件

[root@controller script]# ll

total 100

-rw-r--r--. 1 root root 16320 Apr  3 17:49 dnsmasq-utils-2.48-13.el6.x86_64.rpm

-rw-r--r--. 1 root root  2496 Apr  3 08:05 iaas-config-glance.sh

-rw-r--r--. 1 root root  1070 Apr  3 17:18 iaas-config-node.sh

-rw-r--r--. 1 root root  2127 Apr  3 08:58 iaas-config-nova.sh

-rw-r--r--. 1 root root   359 Apr  3 07:58 iaas-config-stone.sh

-rw-r--r--. 1 root root   138 Apr  3 09:06 iaas-create-network.sh

-rw-r--r--. 1 root root  1088 Apr  3 07:43 iaas-define-stone.sh

-rw-r--r--. 1 root root   195 Apr  3 07:55 iaas-install-db.sh

-rw-r--r--. 1 root root   342 Apr  3 08:03 iaas-install-glance.sh

-rw-r--r--. 1 root root  2183 Apr  3 17:20 iaas-install-node.sh

-rw-r--r--. 1 root root   288 Apr  3 08:42 iaas-install-nova.sh

-rw-r--r--. 1 root root   242 Apr  3 07:39 iaas-install-stone.sh

-rw-r--r--. 1 root root   284 Apr  3 07:28 iaas-pre-controller.sh

-rw-r--r--. 1 root root   363 Apr  3 16:42 iaas-pre-node.sh

-rw-r--r--. 1 root root   245 Apr  3 08:40 iaas-verify-glance.sh

-rw-r--r--. 1 root root    16 Apr  3 08:59 iaas-verify-nova.sh

-rw-r--r--. 1 root root   278 Apr  3 07:47 iaas-verify-stone.sh

-rw-r--r--. 1 root root   394 Apr  3 18:08 noderc.sh

-rw-r--r--. 1 root root   886 Jul 11 01:03 openrc.sh

-rw-r--r--. 1 root root   101 Apr  3 08:02 source

-rw-r--r--. 1 root root   101 Apr  3 08:02 sourcecon

-rw-r--r--. 1 root root   139 Apr  3 16:39 sourcenode

 

首先執行腳本iaas-pre-controller.sh 

看一下腳本內容:

[root@controller script]# cat iaas-pre-controller.sh 

yum install -y ntp

service ntpd restart

chkconfig ntpd on

yum install -y qpid-cpp-server memcached

service qpidd restart

chkconfig qpidd on

yum install -y openstack-utils

yum install -y openstack-selinux

sed -i '/^SELINUX=/s/enforcing/permissive/g' /etc/selinux/config

yum -y upgrade

 

 

執行腳本

[root@controller script]# sh iaas-pre-controller.sh 

 

成功的標誌

Updated:

  ca-certificates.noarch 0:2013.1.95-65.1.el6_5  centos-release.x86_64 0:6-5.el6.centos.11.2  coreutils.x86_64 0:8.4-31.el6_5.1           coreutils-libs.x86_64 0:8.4-31.el6_5.1              

  dracut.noarch 0:004-336.el6_5.2                dracut-kernel.noarch 0:004-336.el6_5.2       ethtool.x86_64 2:3.5-1.2.el6_5              glib2.x86_64 0:2.26.1-7.el6_5                       

  grep.x86_64 0:2.6.3-4.el6_5.1                  initscripts.x86_64 0:9.03.40-2.el6.centos.1  iproute.x86_64 0:2.6.32-130.el6ost.netns.2  kernel-firmware.noarch 0:2.6.32-431.11.2.el6        

  mysql-libs.x86_64 0:5.1.73-3.el6_5             nspr.x86_64 0:4.10.2-1.el6_5                 nss.x86_64 0:3.15.3-6.el6_5                 nss-sysinit.x86_64 0:3.15.3-6.el6_5                 

  nss-tools.x86_64 0:3.15.3-6.el6_5              nss-util.x86_64 0:3.15.3-1.el6_5             openldap.x86_64 0:2.4.23-34.el6_5.1         openssl.x86_64 0:1.0.1e-16.el6_5.4                  

  p11-kit.x86_64 0:0.18.5-2.el6_5.2              p11-kit-trust.x86_64 0:0.18.5-2.el6_5.2      postfix.x86_64 2:2.6.6-6.el6_5              psmisc.x86_64 0:22.6-19.el6_5                       

  python.x86_64 0:2.6.6-52.el6                   python-libs.x86_64 0:2.6.6-52.el6            selinux-policy.noarch 0:3.7.19-231.el6_5.1  selinux-policy-targeted.noarch 0:3.7.19-231.el6_5.1 

  tzdata.noarch 0:2014b-1.el6                    upstart.x86_64 0:0.6.5-13.el6_5.3            yum.noarch 0:3.2.29-43.el6.centos           yum-plugin-fastestmirror.noarch 0:1.1.30-17.el6_5   

 

Complete!

 

 

 

接下來手動重啓

 

這時候你會發現一個問題,/etc/yum.repo 下又多了幾個文件,這是升級內核致使的,因此要將多餘的.repo文件刪除

 

第二步就是安裝數據庫服務端

執行腳本iaas-install-db.sh 

腳本內容:

yum install -y mysql mysql-server MySQL-python

sed -i "/^symbolic-links/a\bind-address=$HOST_IP" /etc/my.cnf

service mysqld restart

chkconfig mysqld on

mysql_install_db

mysql_secure_installation

 

安裝過程當中會提示

Enter current password for root (enter for none):    //直接回車

Set root password? [Y/n]

New password: 

Re-enter new password: 

這裏的密碼是openrc.sh 中的DB_PASS中的參數

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] n

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y

 

 

接下來就是身份服務安裝與配置

 

執行腳本iaas-install-stone.sh 

腳本內容:

yum install -y openstack-keystone python-keystoneclient

openstack-config --set /etc/keystone/keystone.conf sql connection mysql://keystone:$KEYSTONE_DBPASS@$HOSTNAME/keystone

openstack-db --init --service keystone --password $KEYSTONE_DBPASS

 

 

提示輸入密碼,級前面輸的密碼

Please enter the password for the 'root' MySQL user:

 

 

 

配置身份服務,執行腳本 iaas-config-stone.sh

腳本內容:

ADMIN_TOKEN=$(openssl rand -hex 10) 

echo $ADMIN_TOKEN

openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN

keystone-manage pki_setup --keystone-user keystone --keystone-group keystone

chown -R keystone:keystone /etc/keystone/* /var/log/keystone/keystone.log 

service openstack-keystone restart 

chkconfig openstack-keystone on

 

 

結果:

wKioL1O-rR3DCXYGAAMdMYbBjS4066.jpg

 

 

接下來定義身份用戶

執行腳本: iaas-define-stone.sh 

腳本內容:

export ADMIN_TOKEN=`openstack-config --get /etc/keystone/keystone.conf DEFAULT admin_token`

export OS_SERVICE_TOKEN=$ADMIN_TOKEN

export OS_SERVICE_ENDPOINT=http://$HOSTNAME:35357/v2.0 

keystone user-create --name=admin --pass=$ADMIN_PASS --email=$MAIL_ADMIN_ADDR 

keystone role-create --name=admin 

keystone tenant-create --name=admin --description="Admin Tenant" 

keystone user-role-add --user=admin --tenant=admin --role=admin 

keystone user-role-add --user=admin --role=_member_ --tenant=admin 

keystone user-create --name=demo --pass=$DEMO_PASS --email=$MAIL_DEMO_ADDR 

keystone tenant-create --name=demo --description="Demo Tenant" 

keystone user-role-add --user=demo --role=_member_ --tenant=demo 

keystone tenant-create --name=service --description="Service Tenant" 

keystone service-create --name=keystone --type=identity --description="OpenStack Identity Service" 

keystone endpoint-create --service-id=$(keystone service-list | awk '/ identity / {print $2}') --publicurl=http://$HOSTNAME:5000/v2.0 --internalurl=http://$HOSTNAME:5000/v2.0 --adminurl=http://$HOSTNAME:35357/v2.0

 

 

 

結果:

wKiom1O-rU3AE5ruAAPz83YJE2M414.jpg

 

 

接下來驗證身份服務

執行腳本:iaas-verify-stone.sh 

 

腳本內容:

keystone --os-username=admin --os-password=$ADMIN_PASS --os-auth-url=http://$HOSTNAME:35357/v2.0 token-get 

keystone --os-username=admin --os-password=$ADMIN_PASS --os-tenant-name=admin --os-auth-url=http://$HOSTNAME:35357/v2.0 token-get 

keystone token-get

keystone user-list 

 

結果:

wKioL1O-rR7SxO3uAADtxT8-a_c342.jpg

 

 

 

glance 服務安裝於配置

安裝glance服務

執行安裝腳本:iaas-install-glance.sh 

腳本內容:

yum install -y openstack-glance

openstack-config --set /etc/glance/glance-api.conf DEFAULT sql_connection mysql://glance:$GLANCE_DBPASS@$HOSTNAME/glance

openstack-config --set /etc/glance/glance-registry.conf DEFAULT sql_connection mysql://glance:$GLANCE_DBPASS@$HOSTNAME/glance

openstack-db --init --service glance --password $GLANCE_DBPASS

 

 

提示輸密碼:

Please enter the password for the 'root' MySQL user:

 

 

成功的標誌:

wKiom1O-rU7T3QgeAAWHQ5N4dUo084.jpg

 

 

接下來配置glance服務

 

執行腳本:iaas-config-glance.sh 

 

腳本內容:

keystone user-create --name=glance --pass=$GLANCE_PASS --email=$MAIL_GLANCE_ADDR

keystone user-role-add --user=glance --tenant=service --role=admin

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://$HOSTNAME:5000

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_host $HOSTNAME

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_tenant_name service

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_user glance

openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_password $GLANCE_PASS

openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone

openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_uri http://$HOSTNAME:5000

openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_host $HOSTNAME

openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_tenant_name service

openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_user glance

cp /usr/share/glance/glance-api-dist-paste.ini /etc/glance/glance-api-paste.ini

cp /usr/share/glance/glance-registry-dist-paste.ini /etc/glance/glance-registry-paste.ini

openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken auth_host $HOSTNAME

openstack-config --set /etc/glance/glance-registry-paste.ini filter:authtoken admin_password $GLANCE_PASS

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_tenant_name service

openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken auth_host $HOSTNAME

openstack-config --set /etc/glance/glance-api-paste.ini filter:authtoken admin_password $GLANCE_PASS

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_tenant_name service 

keystone service-create --name=glance --type=p_w_picpath --description="Glance Image Service" 

keystone endpoint-create --service-id=$(keystone service-list | awk '/ p_w_picpath / {print $2}') --publicurl=http://controller:9292 --internalurl=http://controller:9292 --adminurl=http://controller:9292

service openstack-glance-api restart

service openstack-glance-registry restart 

chkconfig openstack-glance-api on 

chkconfig openstack-glance-registry on

   

結果:

wKiom1O-rU_B_GNJAALkMeBg1cc611.jpg

 

 

驗證glance服務

執行腳本: iaas-verify-glance.sh 

腳本內容:

yum install -y wget

wget ftp://10.0.0.120/p_w_picpaths/centos-6.5-20140117.0.x86_64.qcow2

glance p_w_picpath-create --name=CentOS-6.5-x86_64 --disk-format=qcow2 --container-format=bare --is-public=true < centos-6.5-20140117.0.x86_64.qcow2

glance p_w_picpath-list

 

結果:

wKioL1O-rSCBz-gSAAI78hZtRNs537.jpg

因爲尚未上傳鏡像,因此提示沒有

  

接下來就是安裝nova計算服務。不過在安裝以前先要手動安裝dnsmasq-utils-2.48-13.el6.x86_64.rpm  

 

執行腳本:iaas-install-nova.sh 

腳本內容:

yum install -y openstack-nova python-novaclient

openstack-config --set /etc/nova/nova.conf database connection mysql://nova:$NOVA_DBPASS@$HOSTNAME/nova 

openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname $HOSTNAME 

openstack-db --init --service nova --password $NOVA_DBPASS

 

結果,要輸入密碼

wKioL1O-rSGi271QAACzmWQeiT0346.jpg

 

計算服務配置

執行腳本:iaas-config-nova.sh 

腳本內容:

keystone user-create --name=nova --pass=$NOVA_PASS --email=$MAIL_NOVA_ADDR 

openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone 

openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host $HOSTNAME 

openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http 

openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357 

openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova 

openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service 

openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password $NOVA_PASS

openstack-config --set /etc/nova/api-paste.ini filter:authtoken auth_host $HOSTNAME 

openstack-config --set /etc/nova/api-paste.ini filter:authtoken auth_port 35357 

openstack-config --set /etc/nova/api-paste.ini filter:authtoken auth_protocol http 

openstack-config --set /etc/nova/api-paste.ini filter:authtoken auth_uri $OS_AUTH_URL 

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 $NOVA_PASS

keystone user-role-add --user=nova --tenant=service --role=admin

keystone service-create --name=nova --type=compute --description="Nova Compute service" 

keystone endpoint-create --service-id=$(keystone service-list | awk '/ compute / {print $2}') --publicurl=http://$HOSTNAME:8774/v2/%\(tenant_id\)s --internalurl=http://$HOSTNAME:8774/v2/%\(tenant_id\)s --adminurl=http://$HOSTNAME:8774/v2/%\(tenant_id\)s 

service openstack-nova-api restart 

service openstack-nova-cert restart 

service openstack-nova-consoleauth restart 

service openstack-nova-scheduler restart 

service openstack-nova-conductor restart 

service openstack-nova-novncproxy restart 

chkconfig openstack-nova-api on 

chkconfig openstack-nova-cert on 

chkconfig openstack-nova-consoleauth on

chkconfig openstack-nova-scheduler on 

chkconfig openstack-nova-conductor on 

chkconfig openstack-nova-novncproxy on

 

 

結果:

wKiom1O-rVHiCYXFAANvlYktTNY588.jpg

 

 

驗證nova的配置:

執行腳本:iaas-verify-nova.sh 

腳本內容:

nova p_w_picpath-list

 

由於沒有上傳鏡像,因此如今沒法驗證。等到後面,能夠手動上傳鏡像。

 

 

 

 

 

 

 

 

 

 

接下來進入計算節點,配置計算節點的yum 客戶端。參考以下

[root@compute ~]# cd /etc/yum.repos.d/ ;cat *.repo

[base]

name=centos

baseurl=ftp://10.0.0.10/centos/

enabled=1

gpgcheck=0

[centos]

name=centos

baseurl=ftp://10.0.0.10/repo/centos6.5/

enabled=1

gpgcheck=0

[epel]

name=epel

baseurl=ftp://10.0.0.10/repo/epel6/mirrors.hustunique.com/epel/6/x86_64/

enabled=1

gpgcheck=0

[foreman]

name=foreman

baseurl=ftp://10.0.0.10/repo/foreman/yum.theforeman.org/release/1.3/el6/x86_64/

enabled=1

gpgcheck=0

[openstack]

name=openstack

baseurl=ftp://10.0.0.10/repo/openstack-havana/

enabled=1

gpgcheck=0

[puppetlabs]

name=puppetlabs

baseurl=ftp://10.0.0.10/repo/puppetlabs/yum.puppetlabs.com/el/6/products/x86_64/

enabled=1

gpgcheck=0

 

 

 

接下來編輯noderc.sh 文件

export HOSTNAME_CONT=controller

export NOVA_DBPASS=nova

export NOVA_PASS=service

export HOST_IP_NODE1=10.0.0.11

export EXTERNAL_NIC=eth0

export FIX_RANGE=192.168.1.129/25

export OS_USERNAME=admin

export OS_TENANT_NAME=admin

export OS_PASSWORD=secrete

export OS_AUTH_URL=http://10.0.0.10:5000/v2.0

export SERVICE_ENDPOINT=http://10.0.0.10:35357/v2.0

export SERVICE_TOKEN=87dbbbe96a346d6bcf31

 

 

 

保存並將文件追加至/root/.bash_profile 

[root@compute script]# cat noderc.sh > /root/.bash_profile 

 

生效

[root@compute script]# source /root/.bash_profile 

 

查看一下

[root@compute script]# echo $OS_PASSWORD

Secrete

能夠看到已經生效

 

 

接下來執行預安裝腳本

執行腳本:iaas-pre-node.sh 

腳本內容:

service NetworkManager stop

service network start

chkconfig NetworkManager off

chkconfig network on

service firewalld stop

service iptables start

chkconfig firewalld off

chkconfig iptables on

yum install -y ntp

service ntpd restart

chkconfig ntpd on

yum install -y mysql MySQL-python

yum install -y openstack-utils

yum install -y openstack-selinux

yum -y upgrade

 

 

成功標誌:

wKioL1O-rSLi9QgnAALenEKCkzg881.jpg

 

手動重啓服務器

 

 

也要注意刪除多餘的.repo文件

 

 

接下來安裝計算節點服務

執行腳本:iaas-install-node.sh 

腳本內容:

yum install -y openstack-nova-compute

openstack-config --set /etc/nova/nova.conf database connection mysql://nova:$NOVA_DBPASS@$HOSTNAME_CONT/nova 

openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone 

openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host $HOSTNAME_CONT 

openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http 

openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357 

openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova 

openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service 

openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password $NOVA_PASS 

openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend nova.openstack.common.rpc.impl_qpid 

openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname $HOSTNAME_CONT 

openstack-config --set /etc/nova/nova.conf DEFAULT my_ip $HOST_IP_NODE1 

openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled True 

openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0

openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address $HOST_IP_NODE1 

openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_base_url http://$HOSTNAME_CONT:6080/vnc_auto.html 

openstack-config --set /etc/nova/nova.conf DEFAULT glance_host $HOSTNAME_CONT

openstack-config --set /etc/nova/api-paste.ini filter:authtoken auth_host $HOSTNAME_CONT 

openstack-config --set /etc/nova/api-paste.ini filter:authtoken auth_port 35357 

openstack-config --set /etc/nova/api-paste.ini filter:authtoken auth_protocol http  

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 $NOVA_PASS 

service libvirtd restart 

service messagebus restart 

chkconfig libvirtd on 

chkconfig messagebus on 

service openstack-nova-compute start

chkconfig openstack-nova-compute on 

yum install -y openstack-nova-network

yum install -y openstack-nova-api

 

在此以前,要先安裝dnsmasq-utils-2.48-13.el6.x86_64.rpm

 

以後再執行腳本

 

 

結果:

wKiom1O-rVKASFlBAAF4aL3xtOE240.jpg

 

接下來就是配置計算節點服務

執行腳本:iaas-config-node.sh 

腳本內容:

openstack-config --set /etc/nova/nova.conf DEFAULT network_manager nova.network.manager.FlatDHCPManager 

openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.libvirt.firewall.IptablesFirewallDriver 

openstack-config --set /etc/nova/nova.conf DEFAULT network_size 254 

openstack-config --set /etc/nova/nova.conf DEFAULT allow_same_net_traffic False 

openstack-config --set /etc/nova/nova.conf DEFAULT multi_host True 

openstack-config --set /etc/nova/nova.conf DEFAULT send_arp_for_ha True 

openstack-config --set /etc/nova/nova.conf DEFAULT share_dhcp_address True 

openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release True 

openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface $EXTERNAL_NIC 

openstack-config --set /etc/nova/nova.conf DEFAULT flat_network_bridge br100

openstack-config --set /etc/nova/nova.conf DEFAULT public_interface $EXTERNAL_NIC 

service openstack-nova-metadata-api restart 

chkconfig openstack-nova-metadata-api on

service openstack-nova-network restart 

chkconfig openstack-nova-network on 

 

 

 

結果:

wKiom1O-rVLSNy_jAACZbj_XpSI421.jpg

 

接下來咱們要回到控制節點建立網絡

 

執行腳本; iaas-create-network.sh 

腳本內容:

yum install -y bridge-utils

echo fix_range=$FIX_RANGE

nova network-create vmnet --fixed-range-v4=$FIX_RANGE --bridge=br100 --multi-host=T

 

 

接下來安裝dashboard web前端控制檯

執行命令:

yum install -y memcached python-memcached mod_wsgi openstack-dashboard

 

編輯/etc/openstack-dashboard/local_settings

CACHES = {

    'default': {

        'BACKEND' : 'django.core.cache.backends.memcached.MemcachedCache',

        'LOCATION' : '127.0.0.1:11211',

    }

}

打開註釋。修改

ALLOWED_HOSTS = ['horizon.example.com', 'localhost']ALLOWED_HOSTS = ['10.0.0.10', 'localhost']

 

 

修改127.0.0.1controller 

OPENSTACK_HOST = "127.0.0.1"   OPENSTACK_HOST = "controller"

 

重啓httpd 服務 memcached 服務  並設置開機啓動

 

到此爲止,雲平臺基礎架構服務平臺搭建告一段落,接下來就能夠用瀏覽器訪問了。

地址爲:http://10.0.0.1/dashboard

界面以下:

wKioL1O-rSOBzDw9AAE8E3xRkms665.jpg

 

用戶名爲nova  密碼爲service

 

 

登錄後界面以下:

wKiom1O-rVSTw0uEAAK7kdW4eHY434.jpg

 

 

本身就能夠建立雲主機類型並啓動雲主機了。

wKioL1O-rSXhGb8tAAJvXO0119Y834.jpg

相關文章
相關標籤/搜索