双节点部署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 ,然后“连接

 

posted @ 2021-12-22 16:05  年年哎  阅读(272)  评论(0)    收藏  举报