Iaas雲基礎平臺搭建html
分別安裝兩臺最小化的centos 6.5系統。要求配置雙網卡,打開虛擬化。前端
安裝系統node
安裝過程python
正在安裝包mysql
在安裝的過程當中,將計算機名分別改成controller和computelinux
設置controller的eth0爲10.0.0.10 255.0.0.0 10.0.0.1git
Controler 的eth1 爲 192.168.0.10 255.255.255.0 192.168.0.1web
Compute的eth0 爲10.0.0.11 255.0.0.0 10.0.0.1sql
Compute 的eth1爲192.168.0.11 255.255.255.0 192.168.0.1數據庫
作計算機名解析
測試控制節點和計算節點直接的通訊
將centos 光盤裏的內容複製到/opt 目錄下,此外還要複製腳本script和repo p_w_picpaths,咱們可使用工具傳輸
接下來將傳輸過來的光盤裏面的文件,製做一個本地yum源,而後搭建一個ftp服務,用於後期咱們的計算節點和控制節點之間的文件傳輸。
刪除/etc/yum.repos.d/ 下原有的yum 倉庫。新建一個base的base.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
連接庫文件
庫文件連接過程
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
重啓服務,設置開機啓動。
這裏還要修改一下base.repo文件,改爲從ftp 獲取,以下如
由於計算機點還要從控制節點獲包。
接下來就開始配置另外幾個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
結果:
接下來定義身份用戶
執行腳本: 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
結果:
接下來驗證身份服務
執行腳本: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
結果:
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:
成功的標誌:
接下來配置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
結果:
驗證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
結果:
因爲尚未上傳鏡像,因此提示沒有
接下來就是安裝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
結果,要輸入密碼
計算服務配置
執行腳本: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
結果:
驗證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
成功標誌:
手動重啓服務器
也要注意刪除多餘的.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
以後再執行腳本
結果:
接下來就是配置計算節點服務
執行腳本: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
結果:
接下來咱們要回到控制節點建立網絡
執行腳本; 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.1爲controller
OPENSTACK_HOST = "127.0.0.1" OPENSTACK_HOST = "controller"
重啓httpd 服務 memcached 服務 並設置開機啓動
到此爲止,雲平臺基礎架構服務平臺搭建告一段落,接下來就能夠用瀏覽器訪問了。
界面以下:
用戶名爲nova 密碼爲service
登錄後界面以下:
本身就能夠建立雲主機類型並啓動雲主機了。