使用脚本部署OpenStack平台--刘飞

来自CloudWiki
跳转至: 导航搜索

基本环境配置

安装虚拟机

我们这次安装采用双节点搭建,首先创建两台虚拟机,一台controller节点,另一台compute节点。

手动最小化安装2台CentOS 7.2 系统,作为OpenStack节点,第一张网卡为仅主机模式,第二张网

卡为NAT模式,以及配置CPU虚拟化,计算节点至少使用4 GB内存,硬盘不小于50GB。第一张网卡网

段为192.168.100.0/24, 第二张网卡网段为192.168.200.0/24。 并对compute节点分两个区为

sdb1与sdb2。

双节点配置

Controller节点:4G内存,处理器4个,硬盘50G,添加两张网卡,第一张网卡为仅主机模式地址为192.168.100.10,

第二张网卡为NAT模式地址为192.168.200.10。

Compute节点:4G内存,处理器4个,硬盘100G+30G,添加两张网卡,第一张网卡为仅主机模式地址为192.168.100.20,

第二张网卡为NAT模式地址为192.168.200.20。并对第二块硬盘划分sdb1和sdb2两个分区。

配置网络、主机名

主机名

# hostnamectl set-hostname controller
# hostnamectl set-hostname compute

网络配置

Controller节点:

仅主机网卡


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=eno16777728
UID=8caf5c12-eb68-4c21-a0f0-7d9a6b3dbe24
DEVICE=eno16777728
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0

NAT网卡

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=eno16777728
UID=c74a9810-e056-4a17-9d96-fa81d9dbcd47
DEVICE=eno16777728
ONBOOT=yes
IPADDR=192.168.200.10
NETMASK=255.255.255.0
GATEWAY=192.168.200.2
DNS1=8.8.8.8
Compute节点:

仅主机网卡

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=eno16777728
UID=8caf5c12-eb68-4c21-a0f0-7d9a6b3dbe24
DEVICE=eno16777728
ONBOOT=yes
IPADDR=192.168.100.20
NETMASK=255.255.255.0
NAT网卡
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=eno16777728
UID=c74a9810-e056-4a17-9d96-fa81d9dbcd47
DEVICE=eno16777728
ONBOOT=yes
IPADDR=192.168.200.20
NETMASK=255.255.255.0
GATEWAY=192.168.200.2
DNS1=8.8.8.8

配置yum源

注意:controller节点yum采用本地yum compute节点的yum采用controller节点搭建的ftp服务的yum。

上传基础镜像:

上传XianDian-IaaS-v2.2.iso 和CentOS-7-x86_ 64-DVD-1511.iso两个镜像包至controller节点/root目录中,并将ISO文件挂载至/opt/目录中。

yum源备份

cd /etc/yum.repo.d/
mkdir repo
mv Centos-* repo

创建repo文件

【controller】

在/etc/yum.repos.d创建centos.repo源文件

[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1

Controlleyum.jpg

【compute】

在/etc/yum.repos.d创建centos.repo源文件

[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1

[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas-repo
gpgcheck=0
enabled=1

Computeyum.jpg

挂载iso文件

【挂载CentOS-7-x86_64-DVD-1511.iso】

[root@controller ~]# mount  CentOS-7-x86_64-DVD-1511.iso  /mnt/
[root@controller ~]# mkdir /opt/centos
[root@controller ~]# cp -rvf /mnt/* /opt/centos/
[root@controller ~]# umount  /mnt/

【挂载XianDian-IaaS-v2.2.iso】

[root@controller ~]# mount  XianDian-IaaS-v2.2.iso  /mnt/
[root@controller ~]# cp -rvf /mnt/* /opt/
[root@controller ~]# umount  /mnt/

搭建ftp服务器,开启并设置自启

【controller】

[root@controller ~]# yum install vsftpd –y
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf

添加anon_root=/opt/ //指定匿名用户登陆的家目录

保存退出

Controlleftp.jpg

关闭防火墙并设置开机不自启

【controller/compute】

systemctl stop firewalld
systemctl disable firewalld

selinux关闭

【controller/compute】

setenforce 0  //暂时关闭

修改配置文件

/etc/selinux/conf  //永久关闭

Selinuxtu.jpg

清除缓存,验证yum源

# yum clean all
# yum  repolist  all

Controll源.jpg

Compute源.jpg

配置域名解析

修改/etc/hosts添加以下内容

controller 节点

192.168.100.10   controller

192.168.100.20   compute

compute 节点

192.168.100.10   controller

192.168.100.20   compute

Hosts.jpg

compute硬盘分区

代码:

fdisk /dev/sdb

分为sdb1和sdb2两个分区,分别提供cinder服务使用空分区和计算节点swift 服务使用空分区。

硬盘2.jpg

安装iaas-xiandian服务

安装软件包

在控制节点和计算节点安装iaas-xiandian软件包。

注意:安装前先确保yum源正常

yum install iaas-xiandian -y

Iaas-1.jpg

Iaas-2.jpg

修改配置文件

编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,

根据每项参数上一行的说明及服务器实际情况进行配置.

去除配置文件中每一行开头的#

sed -i 's/^#//g' /etc/xiandian/openrc.sh

将密码全部设置为000000

%s/PASS=/PASS=000000/g

【controller/compute】

修改内容:

HOST_IP=192.168.100.10
HOST_NAME=controller
HOST_IP_NODE=192.168.100.20
HOST_NAME_NODE=compute
RABBIT_USER=openstack
RABBIT_PASS=000000
DB_PASS=000000
DOMAIN_NAME=xiandian(自定义)
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= eno33554952(外网网卡名)
CINDER_DBPASS=000000
CINDER_PASS=000000
TROVE_DBPASS=000000
TROVE_PASS=000000
BLOCK_DISK=sdb1(空白分区名) 提供cinder服务使用空分区
SWIFT_PASS=000000
OBJECT_DISK=sdb2(空白分区名) swift 服务使用空分区
STORAGE_LOCAL_NET_IP=192.168.100.20
HEAT_DBPASS=000000
HEAT_PASS=000000
CEILOMETER_DBPASS=000000
CEILOMETER_PASS=000000
AODH_DBPASS=000000
AODH_PASS=000000

使用脚本安装

安装基础服务

首先执行下面脚本

【controller/compute】

iaas-pre-host.sh

安装MySQL数据库服务

控制节点通过脚本安装MySQL数据库服务:

  1. Controller节点
执行脚本iaas-install-mysql.sh进行安装

Mysql2.jpg

安装Keystone认证服务

  1. Controller节点
执行脚本iaas-install-keystone.sh进行安装。

Keystone.jpg

安装Glance镜像服务

  1. Controller 节点
执行脚本iaas-install-glance.sh进行安装

Glance.jpg

安装Nova计算服务

  1. Controller节点
执行脚本iaas-install-nova-controller.sh进行安装

Nova-controller.jpg

  1. Compute节点
执行脚本iaas-install-nova-compute.sh进行安装

Nova-compute.jpg

安装Neutron网络服务

  1. Controller节点

通过脚本安装网络服务:

执行脚本ias-install-neutron-controller.sh

Neutron-controller.jpg

执行脚本iaas-install-neutron-controller-gre.sh

脚本里最后一行有错 enabled 改为enable

文件在/usr/local/bin

更改.jpg

QQ截图20201021093341.jpg

  1. Compute节点:

通过脚本安装网络服务:

执行脚本ias-install-neutron-compute.sh

Neutron-compute.jpg

执行脚本iaas-install-neutron-compute-gre.sh

QQ截图20201021094325.jpg

安装Dashboard服务

  1. controller节点

通过脚本安装Dashboard服务:

执行脚本iaas-install-dashboard.sh

Dashboard.jpg

安装Cinder块存储服务

  1. controller节点

通过脚本安装块存储服务:

执行脚本iaas-install-cinder-controller.sh

Cinder-controller.jpg

  1. compute节点

通过脚本安装块存储服务:

执行脚本 iaas-install-cinder-compute.sh

Cindrt-compute.jpg

安装Swift对象存储服务

  1. controller节点

通过脚本安装对象存储服务:

执行脚本 iaas-install-swif-controller.sh

Swif-controller.jpg

  1. compute节点

通过脚本安装对象存储服务:

执行过程中需要确认登录controller节点和输入controller节点root用户密码。

执行脚本iaas-install-swif-compute.sh

Swif-compute.jpg

访问

访问Dashboard服务

打开浏览器,访问http://192.168.100.10/dashboard地址,输入环境变量文件中填写的密码,

域为xiandian、用户名为admin、密码为00000,然后单击“连接”按钮,如图

Dashboard访问.jpg