OpenStack iaas云平台双节点搭建

Hana ·
更新时间:2024-11-10
· 991 次阅读

**

在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 跳到最后一行


作者:齐白白



openstack iaas

需要 登录 后方可回复, 如果你还没有账号请 注册新账号