1. 程式人生 > 其它 >雙節點部署open stack

雙節點部署open stack

IP 主機名 節點
192.168.200.30 controller 控制節點
192.168.200.40 compute 計算節點

一 基礎設施配置

(1)兩個節點虛擬機器設定(controller和compute)

(2)首先配置IP

controller節點

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT
=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno16777736 DEVICE=eno16777736 ONBOOT=yes IPADDR=192.168.200.30 NETMASK+255.255.255.0

compute節點

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE
=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno16777736 DEVICE=eno16777736 ONBOOT=yes IPADDR=192.168.200.40 NETMASK=255.255.255.0

(3)修改主機名

# 控制節點
[root@localhost ~]# hostnamectl set
-hostname controller [root@localhost ~]# bash [root@controller ~]# # 計算節點 [root@localhost ~]# hostnamectl set-hostname compute [root@localhost ~]# bash [root@compute ~]#

(4)上傳基礎映象

[root@controller ~]# ll
total 7025752
-rw-------. 1 root root       1083 Jun  4 04:19 anaconda-ks.cfg
-rw-r--r--. 1 root root 4329570304 Jun  4 04:56 CentOS-7-x86_64-DVD-1511.iso
-rw-r--r--. 1 root root   13287936 Jun  4 04:49 cirros-0.3.3-x86_64-disk.img
-rw-r--r--. 1 root root 2851502080 Jun  4 04:55 XianDian-IaaS-v2.2.iso

(5)配置yum源

(控制節點和計算節點)

[root@controller ~]# mkdir /opt/centos
[root@controller ~]# mkdir /opt/iaas
[root@controller ~]# mount CentOS-7-x86_64-DVD-1511.iso /opt/centos/
mount: /dev/loop0 is write-protected, mounting read-only
[root@controller ~]# mount XianDian-IaaS-v2.2.iso /opt/iaas/
mount: /dev/loop1 is write-protected, mounting read-only
[root@controller ~]# rm -rf /etc/yum.repos.d/*
[root@controller ~]# vi /etc/yum.repos.d/local.repo
[root@controller ~]# cat /etc/yum.repos.d/local.repo 
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# yum repolist
Loaded plugins: fastestmirror
centos                                     | 3.6 kB     00:00     
iaas                                       | 2.9 kB     00:00     
(1/3): centos/group_gz                       | 155 kB   00:00     
(2/3): centos/primary_db                     | 2.8 MB   00:00     
(3/3): iaas/primary_db                       | 2.3 MB   00:00     
Determining fastest mirrors
repo id                       repo name                     status
centos                        centos                        3,723
iaas                          iaas                          1,688
repolist: 5,411

# compute
[root@compute ~]# rm -rf /etc/yum.repos.d/*
[root@compute ~]# vi /etc/yum.repos.d/ftp.repo
[root@compute ~]# cat /etc/yum.repos.d/ftp.repo 
[centos]
name=centos
baseurl=ftp://192.168.200.30/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.200.40/iaas/iaas-repo
gpgcheck=0
enabled=1

(6)配置ftp防火牆

[root@controller ~]# yum install -y vsftpd
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf 
anon_root=/opt  ## 新增一行
[root@controller ~]# systemctl restart vsftpd
[root@controller ~]# setenforce 0
[root@controller ~]# vi /etc/selinux/config 
# 換成disabled
[root@controller ~]# systemctl stop firewalld
[root@controller ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@controller ~]# iptables -F
[root@controller ~]# iptables -X
[root@controller ~]# iptables -Z
[root@controller ~]# iptables-save 
# Generated by iptables-save v1.4.21 on Sun Jun  6 22:43:46 2021
*filter
:INPUT ACCEPT [16:1072]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9:956]
COMMIT
# Completed on Sun Jun  6 22:43:46 2021

# compute
[root@compute ~]# systemctl stop firewalld
[root@compute ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@compute ~]# setenforce 0
[root@compute ~]# vi /etc/selinux/config 
[root@compute ~]# iptables -F
[root@compute ~]# iptables -X
[root@compute ~]# iptables -Z
[root@compute ~]# iptables-save 
# Generated by iptables-save v1.4.21 on Sun Jun  6 22:45:39 2021
*filter
:INPUT ACCEPT [16:1072]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9:956]
COMMIT
# Completed on Sun Jun  6 22:45:39 2021


[root@compute ~]# yum repolist
Loaded plugins: fastestmirror
centos                                     | 3.6 kB     00:00     
iaas                                       | 2.9 kB     00:00     
(1/2): centos/group_gz                       | 155 kB   00:00     
(2/2): iaas/primary_db                       | 2.3 MB   00:00     
Determining fastest mirrors
repo id                       repo name                     status
centos                        centos                        3,723
iaas                          iaas                          1,688
repolist: 5,411

(7)安裝iaas-xiandian服務

兩個節點都要安裝

[root@controller ~]# yum install iaas-xiandian -y
[root@compute ~]# yum install iaas-xiandian -y

修改配置檔案,完成後操作:(刪除多餘的#)

# 第一條,將檔案中的##換成@
# 第二條,將檔案中的#去掉
# 第三條,將檔案中的@換回##
sed -i s/##/@/g /etc/xiandian/openrc.sh
sed -i s/#//g /etc/xiandian/openrc.sh
sed -i s/@/##/g /etc/xiandian/openrc.sh

或者用 :%s/^#//g來刪除多餘的#

然後新增修改配置檔案

[root@controller ~]# vi /etc/xiandian/openrc.sh
HOST_IP=192.168.200.30
HOST_NAME=controller
HOST_IP_NODE=192.168.200.40
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000
KEYSTONE_DBPASS=000000
GLANCE_DBPASS=000000
GLANCE_PASS=000000
NOVA_DBPASS=000000
NOVA_PASS=000000
NEUTRON_DBPASS=000000
NEUTRON_PASS=000000
METADATA_SECRET=000000
INTERFACE_NAME=eno33554960
minvlan=
maxvlan=
CINDER_DBPASS=000000
CINDER_PASS=000000
# 根據自己硬碟分割槽情況
BLOCK_DISK=sdb1
TROVE_DBPASS=000000
TROVE_PASS=000000
SWIFT_PASS=000000
# 根據自己硬碟分割槽情況
OBJECT_DISK=sdc1
STORAGE_LOCAL_NET_IP=192.168.200.40
HEAT_DBPASS=
HEAT_PASS=
CEILOMETER_DBPASS=
CEILOMETER_PASS=
AODH_DBPASS=
AODH_PASS=

二 開始跑指令碼

(1)安裝基礎服務

兩個節點都跑

[root@localhost ~]# iaas-pre-host.sh

斷開重新連線一下

(2)安裝MySQL資料庫服務

[root@controller~]# iaas-install-mysql.sh

(3)安裝Keystone服務

[root@controller ~]# iaas-install-keystone.sh

(4)安裝Glance映象服務

[root@controller ~]# iaas-install-glance.sh

(5)安裝Nova計算服務

[root@controller ~]# iaas-install-nova-controller.sh
[root@compute~]# iaas-install-nova-compute.sh

(6)安裝Neutron服務

[root@controller ~]# iaas-install-neutron-controller.sh
[root@controller ~]# iaas-install-neutron-controller-gre.sh
[root@compute~]# iaas-install-neutron-compute.sh
[root@compute~]# iaas-install-neutron-compute-gre.sh

(7)安裝Dashboard服務

[root@controller ~]# iaas-install-dashboard.sh

(8)安裝Cinder塊儲存服務

[root@controller ~]# iaas-install-cinder-controller.sh
[root@compute~]# iaas-install-cinder-compute.sh

(9)安裝Swift物件儲存服務

[root@controller ~]# iaas-install-swift-controller.sh
[root@compute ~]# iaas-install-swift-compute.sh

(10)訪問Dashboard服務

在瀏覽器中訪問http;//192.168.200.30/dashboard地址,域名:demo ,使用者名稱:admin ,密碼:000000 ,然後“連線