搭建OpenStack先电云平台

时间:2022-06-23 18:43:30

实际操作示意图

搭建OpenStack先电云平台

 

在VMware里面创建两台centos7的虚拟机作为搭建云平台的两节点配置如下:

1、第一台虚拟机   作为控制节点

2CPU

 3G以上内存

硬盘50G

网络适配器一个nat 一个仅主机

 

虚拟机分区情况

Boot 分区 200M

swap分区 是虚拟机内存大小的2倍

/ 分区  40G

搭建OpenStack先电云平台

第二台虚拟机   作为计算节点

2CPU

 2G以上内存

硬盘三个:50G 20G 20G

网络适配器两个:一个nat 一个仅主机

 

虚拟机分区情况

Boot 分区 200M

swap分区 是虚拟机内存大小的2倍

/ 分区  40G

搭建OpenStack先电云平台

修改控制节点和计算节点的主机名称

配置文件

#vi /etc/hostname

重新登录生效

#login

 

修改网卡信息

 

控制节点

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:07:A6:62

TYPE=Ethernet

UUID=b9d869dd-c7dd-4949-9604-b3d7d31f7bf2

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.100.10

NETMASK=255.255.255.0

GATEWAY=192.168.100.2

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.200.10

NETMASK=255.255.255.0

重启网络

#service network restart

 

计算节点

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:07:A6:62

TYPE=Ethernet

UUID=b9d869dd-c7dd-4949-9604-b3d7d31f7bf2

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.100.20

NETMASK=255.255.255.0

GATEWAY=192.168.100.2

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.200.20

NETMASK=255.255.255.0

 

重启网络

#service network restart

 

将镜像文件CentOS-7-x86_64-DVD-1511.iso和XianDian-IaaS-v2.2.iso传至控制节点虚拟机内(控制节点做)

搭建OpenStack先电云平台

搭建OpenStack先电云平台

 

域名解析(两节点都做)

#  vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.100.10 controller

192.168.100.20 compute

验证:互ping

计算节点 # ping controller

# ping 192.168.100.10

控制节点 # ping compute

# ping 192.168.100.20

 

关防火墙(两节点都做)

centos6.5

# iptables –F

# iptables –X

# iptables –Z

# service iptables save

# iptables –L

centos7

#systemctl stop firewalld

#service firewalld save

设置开机不自动启动

#systemctl disable firewalld

 

 

 

# vi /etc/selinux/config

把SELINUX=enforcing改成SELINUX=permissive

# setenforce 0

 

 

查看镜像文件,对镜像文件做挂载,做镜像源(控制节点做)

# mount -o loop XianDian-IaaS-v2.2.iso /mnt/

# cp -rvf /mnt/* /opt/

# umount /mnt/

# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/

# mkdir /opt/centos7

# cp -rvf /mnt/* /opt/centos7/

# umount /mnt/

 

控制节点 配置yum源  (控制节点做)

# cd /etc/yum.repos.d/

# rm -rvf *

# vi local.repo

[centos]

name=centos

baseurl=file:///opt/centos7/

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=file:///opt/iaas-repo/

gpgcheck=0

enabled=1

# yum clean all

# yum list

 

控制节点安装ftp  (控制节点做)

# yum install vsftpd -y

修改配置信息

# vi /etc/vsftpd/vsftpd.conf

在最后一行添加anon_root=/opt

保存退出

#  service vsftpd restart

#  chkconfig vsftpd on

验证:本地搜索ftp://192.168.100.10/

搭建OpenStack先电云平台

 

# yum install httpd

# service httpd restart

http://192.168.100.10/

搭建OpenStack先电云平台

计算节点 配置yum源  (计算节点做)

# cd /etc/yum.repos.d/

# rm -rvf *

# vi local.repo

[centos]

name=centos

baseurl=ftp://controller/centos7/

gpgcheck=0

enabled=1

[iaas]

name=iaas

baseurl=ftp://controller/iaas-repo/

gpgcheck=0

enabled=1

# yum clean all

# yum list

 

 

安装部署云平台

编辑环境变量

controller和compute节点

# yum install iaas-xiandian -y

(1)# cd /etc/xiandian/

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

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

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

# vi openrc.sh

:%s/^.//g

(3)将密码全部设置为000000

# vi openrc.sh

:%s/PASS=/PASS=000000/g

 修改剩余配置

编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置。

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=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=enp9s0     //(外网网卡名)[仅主机网卡]

CINDER_DBPASS=000000

CINDER_PASS=000000

TROVE_DBPASS=000000

TROVE_PASS=000000

BLOCK_DISK=md126p4     //(空白分区名)

SWIFT_PASS=000000

OBJECT_DISK=md126p5    //(空白分区名)

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

 

通过脚本安装服务

基础配置操作命令已经编写成shell脚本,通过脚本进行一键安装。如下:

# Controller节点和Compute节点

执行脚本iaas-pre-host.sh进行安装

# 安装完成后同时重启

[root@controller ~]# reboot

 

# Controller节点

执行脚本iaas-install-mysql.sh进行安装

 

通过脚本安装keystone服务

# Controller节点

执行脚本iaas-install-keystone.sh进行安装。

 

通过脚本安装glance服务

# Controller 节点

执行脚本iaas-install-glance.sh进行安装

 

通过脚本安装nova服务

#Controller节点

执行脚本iaas-install-nova-controller.sh进行安装

#Compute节点

执行脚本iaas-install-nova-compute.sh进行安装

 

通过脚本安装neutron服务

#Controller节点

执行脚本iaas-install-neutron-controller.sh进行安装

#Compute节点

执行脚本iaas-install-neutron-compute.sh进行安装

 

通过脚本创建neutron网络(创建gre网络即可)

创建flat网络

#Controller节点

执行脚本iaas-install-neutron-controller-flat.sh进行安装

#Compute节点

执行脚本iaas-install-neutron-compute-flat.sh进行安装

 

创建gre网络

#Controller节点

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

#Compute节点

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

 

创建vlan网络

#Controller节点

执行脚本iaas-install-neutron-controller-vlan.sh进行安装

#Compute节点

执行脚本iaas-install-neutron-compute-vlan.sh进行安装

 

通过脚本安装dashboard服务

#Controller

执行脚本iaas-install-dashboard.sh进行安装

 

访问

打开浏览器访问Dashboard

http://controller(或本机内网ip)/dashboard

注:检查防火墙规则,确保允许http服务相关端口通行,或者关闭防火墙。

搭建OpenStack先电云平台

 

 

通过脚本安装Cinder服务

#Controller

执行脚本iaas-install-cinder-controller.sh进行安装

#Compute节点

执行脚本iaas-install-cinder-compute.sh进行安装

 

 

安装Swift对象存储服务

#Controller节点

# source admin-openrc.sh

通过脚本安装Swift服务

#Controller

执行脚本iaas-install-swift-controller.sh进行安装

#Compute节点

执行脚本iaas-install-swift-compute.sh进行安装

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

 

 

安装Trove服务

执行脚本进行安装

#Controller节点

执行脚本iaas-install-trove.sh进行安装

需注意安装Trove服务之前需要配置好网络(flat或gre),创建好子网,并确认系统已经安装swift和cinder两个服务,否则安装会失败。

 

 

安装Heat编配服务

# Controller节点

通过脚本安装heat服务

#Controller节点

执行脚本iaas-install-heat.sh进行安装

 

 

安装Ceilometer监控服务

通过脚本安装Ceilometer服务

#Controller节点

执行脚本iaas-install-ceilometer-controller.sh进行安装

#Compute节点

执行脚本iaas-install-ceilometer-compute.sh进行安装

 

通过脚本安装alarm服务

#Controller节点

执行脚本iaas-install-alarm.sh进行安装