OpenStack iaas云平台双节点搭建

**

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

1、第一台虚拟机 作为控制节点
2CPU
3G以上内存
硬盘50G
网络适配器一个nat 一个仅主机
虚拟机分区情况
Boot 分区 200M
swap分区 是虚拟机内存大小的2倍
/ 分区 40G
在这里插入图片描述
第二台虚拟机 作为计算节点
2CPU
2G以上内存
硬盘三个:50G 20G 20G
网络适配器两个:一个nat 一个仅主机
虚拟机分区情况
Boot 分区 200M
swap分区 是虚拟机内存大小的2倍
/ 分区 40G
在这里插入图片描述
(或者不添加硬盘,用哪一块硬盘进行分区,分出两个空白盘也可以)
用fdisk /dev/硬盘名 进行分区

修改控制节点和计算节点的主机名称
#hostnamectl set-hostname controller
#hostnamectl set-hostname computer
ctrl+d 重启登录

修改网卡配置信息:
控制节点
# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.10
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
# vi /etc/sysconfig/network-scripts/ifcfg-eno33554960
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.200.10
NETMASK=255.255.255.0
重启网络
# systemctl restart network

计算节点
# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.20
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
# vi /etc/sysconfig/network-scripts/ifcfg-eno33554960
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.200.20
NETMASK=255.255.255.0
重启网络
# systemctl restart network
链接CRT
注意:做快照

上传镜像(只在控制节点)
连接xftp(上传镜像到boot目录下)
将镜像文件CentOS-7-x86_64-DVD-1511.iso和XianDian-IaaS-v2.2.iso传至控制节点虚拟机内(控制节点做)

域名解析(两节点都做)
# 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

关闭防火墙(两节点都做):centos7
#systemctl stop firewalld
设置开机不自动启动
#systemctl disable firewalld
修改selinux开机不启动

# vi /etc/selinux/config
把SELINUX=enforcing改成SELINUX=permissive
关闭selinux
# 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/centos
# cp -rvf /mnt/* /opt/centos/
# umount /mnt/

控制节点 配置yum源 (控制节点做)
# cd /etc/yum.repos.d/
# rm -rvf *
# vi local.repo
[centos]
name=centos
baseurl=file:///opt/centos/
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo/
gpgcheck=0
enabled=1

更新yum源
# yum clean all
# yum list

安装vsftpd
# yum install vsftpd -y

修改配置信息,使其共享
# vi /etc/vsftpd/vsftpd.conf
在最后一行添加:anon_root=/opt
保存退出

# systemctl restart vsftpd
#systemctl enable vsftpd
注意:做快照

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

# cd /etc/yum.repos.d/
# rm -rvf *
# vi local.repo
[centos]
name=centos
baseurl=ftp://controller/centos/
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)# vi /etc/xiandian/openrc.sh
(2)去除配置文件中每一行开头的#
(3)将密码全部设置为000000
编辑文件/etc/xiandian/openrc.sh,此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置。
##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10
##Controller Server hostname. example:controller
HOST_NAME=controller
##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20
##Compute Node hostname. example:compute
HOST_NAME_NODE=compute
##--------------------Rabbit Config ------------------##
##user for rabbit. example:openstack
RABBIT_USER=openstack
##Password for rabbit user .example:000000
RABBIT_PASS=000000
##--------------------MySQL Config---------------------##
##Password for MySQL root user . exmaple:000000
DB_PASS=000000
##--------------------Keystone Config------------------##
##Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000
##Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
##--------------------Glance Config--------------------##
##Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
##Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
##--------------------Nova Config----------------------##
##Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
##Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
##--------------------Neturon Config-------------------##
##Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
##Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
##metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
##External Network Interface. example:eno33554960
INTERFACE_NAME=eno33554960
##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
#minvlan=
##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
#maxvlan=
##--------------------Cinder Config--------------------##
##Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
##Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
##Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1
##--------------------Trove Config--------------------##
##Password for Mysql Trove User. exmaple:000000
TROVE_DBPASS=000000
##Password for Keystore Trove User. exmaple:000000
TROVE_PASS=000000
##--------------------Swift Config---------------------##
##Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
##The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdc2
##The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.100.20
##--------------------Heat Config----------------------##
##Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
##Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
##--------------------Ceilometer Config----------------##
##Password for Mysql ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
##Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
##--------------------AODH Config----------------##
##Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
##Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000

注意:做快照

[root@controller ~]# source /etc/keystone/admin-openrc.sh
//进行授权

通过脚本安装服务
基础配置操作命令已经编写成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节点
1111执行脚本iaas-install-neutron-compute.sh进行安装
通过脚本创建neutron网络(创建gre网络即可)
创建gre网络
#Controller节点
执行脚本iaas-install-neutron-controller-gre.sh进行安装

如果出现enabled这个错误
运行这行代码:systemctl enable neutron-lbaas-agent
#Compute节点
111执行脚本iaas-install-neutron-compute-gre.sh进行安装
通过脚本安装dashboard服务
#Controller
执行脚本iaas-install-dashboard.sh进行安装
注意:做快照
访问
打开浏览器访问Dashboard
http://controller(或本机内网ip)/dashboard
注:检查防火墙规则,确保允许http服务相关端口通行,或者关闭防火墙。
 
==登录云平台进行网络配置,创建子网,路由等==
(1)管理员 → 网络 → 创建网络(内外网) → 创建子网(外网填服务器的外网网段)
1.创建外网,创建子网
2.创建内网,创建子网
(2)项目 → 网络 → 路由 → 新建路由 → 添加网关和内网接口
(3)项目 → 计算 → 访问安全 → 管理规则 → 添加规则(ICMP、TCP、UDP)
所有的ICMP
定制的TCP,UDP,端口范围1~65535
(3)项目 → 计算 → 云主机 → 创建云主机 → 绑定浮动IP

通过脚本安装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进行安装

vi编辑器 G 跳到最后一行

发布了6 篇原创文章 · 获赞 0 · 访问量 205

猜你喜欢

转载自blog.csdn.net/weixin_45678149/article/details/104387342