openstack多节点部署运维

本文详细介绍了Openstack的多节点部署过程,包括packstack单点部署、国赛双节点部署的步骤,如虚拟机网络配置、镜像挂载、yum源设置等。在部署完成后,还阐述了Openstack平台的使用,如创建镜像、虚拟机,以及Keystone服务和Nova组件的运维。此外,还涉及到了网络Neutron的管理。
摘要由CSDN通过智能技术生成

一、packstack单点部署

1、配置虚拟机NAT网络连接

查看vmware的NAT网络默认配置

vmwarestation软件点击 上方“编辑”,选择“虚拟网络编辑器”
找到vmnet10,是NAT模式,子网地址是172.25.2.0,子网掩码是:255.255.255.0.
再点击“NAT设置”,可看到它的网关:172.25.2.2

配置当前虚拟机的网络配置

vmwarestation软件点击 上方“虚拟机”,选择“设置”;
首先没有NAT网卡的,点击“添加”,添加一个新的网络适配器。
已经创建号NAT网卡的,进行如下配置:
网络连接模式改为:"自定义(U):特定虚拟网络"
在下拉选项中,选中“VMnet10(NAT模式)”

配置linux网络
# 进入网络配置目录
cd /etc/sysconfig/network-scripts
# 编辑nat网卡的配置
vi ifcfg-ens33
# 修改或添加如下信息:
BOOTPROTO=static
ONBOOT=yes
IPADDR=172.25.2.101
NETMASK=255.255.255.0
GATEWAY=172.25.2.2
DNS=8.8.8.8

# 在vi编辑器中,输入:wq进行保存退出
vi /etc/resolv.conf
加入:
nameserver 8.8.8.8
输入:wq进行保存退出

# 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

# 重启网络
systemctl restart network

# 测试
ping www.baidu.com

2、yum源配置

# 关闭网络管理
systemctl disable NetworkManager
# 关闭selinux,修改文件为disabled
sed  -i 's/SELINUX=enforcing/SELINUX=disabled/g'  /etc/selinux/config
# selinux修改生效
setenforce 0

##################################更新yum源#################################
# 将官方的yum源备份到一个新目录:
mkdir /etc/yum.repos.d/repo.bak/
mv /etc/yum.repos.d/*.repo repo.bak/

# 更新下载阿里源
curl -o /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

# 清理yum
yum clean all
yum makecache

# 更新yum信息
yum update -y

# 查看当前存在的openstack版本安装源
yum list | grep openstack

# 安装安装源
yum install -y centos-release-openstack-queens

# 调整仓库配置文件
vi /etc/yum.repos.d/CentOS-QEMU-EV.repo
# 将文件中/$contentdir/改为/centos-7/

# 添加epel-repo源
curl -o /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo

# 添加openstack.queens.repo文件信息
cat > /etc/yum.repos.d/openstack-queens.repo << EOF
[queens]
name=queens
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-queens/
enabled=1
gpgcheck=0
EOF

# 调整repo文件只保留
CentOS-Base.repo  CentOS-QEMU-EV.repo  epel-7.repo  openstack-queens.repo

# 更新源
yum clean all && yum makecache

# 安装openstack-packstack软件包
yum install -y openstack-packstack

# 安装预备
yum -y install  python-pip


# 一键部署openstack
packstack --allinone


# 1.出现error while loading shared libraries: leatherman_curl.so.1.3.0: cannot open shared object file: No such file or directory报错。
# 这种错误是因为,leatherman rpm包版本问题,现有是1.10,实际需要1.3
# 回退leatherman版本
yum downgrade leatherman
yum list | grep leatherman
leatherman.x86_64                        1.3.0-9.el7                   @queens  
leatherman.x86_64                        1.10.0-1.el7                  epel     
leatherman-devel.x86_64                  1.10.0-1.el7                  epel

二、国赛双节点部署

1、准备虚拟机

创建虚拟机前,创建好vmnet2(仅主机模式),vmnet10(NAT模式)网卡,检查对应的适配器是否创建成功。
准备两台vmware虚拟机,手动最小化安装2台Centos7.2系统,第一个网卡为仅主机模式,第二个网卡为NAT模式,配置CPU虚拟机,4G以上内存,50G以上硬盘。

master节点网卡:

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
UUID=f34abd2e-89c9-4daf-a28c-54765164d59d
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.16.10
NETMASK=255.255.255.0

Node节点网卡:

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
UUID=8bbcc106-d60f-48cc-aafd-2bde0154fa2e
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.16.20
NETMASK=255.255.255.0

2、镜像挂载

镜像上传到master节点,然后完成挂载即可。

# 挂载linux镜像
cd /root/;
mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/;
mkdir /opt/centos7.2;
cp -rvf /mnt/* /opt/centos7.2/
umount /mnt/;

# 挂载iaas镜像
cd /root/;
mount -o loop XianDian-IaaS-v2.2.iso /mnt/;
mkdir /opt/iaas;
cp -rvf /mnt/* /opt/iaas;
umount /mnt/;

3、本地yum配置

分别配置控制节点和计算节点的yum

# 控制节点:
rm -rf /etc/yum.repos.d/CentOS-*;
cat > /etc/yum.repos.d/local.repo <<EOF
[centos]
name=centos
baseurl=file:///opt/centos7.2
gpgcheck=0
enabled=1
[iaas]
name=iass
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF
# 计算节点:(如果没有可以后面再配)
rm -rf /etc/yum.repos.d/CentOS-*;
cat > /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=ftp://192.168.16.10/centos7.2
gpgcheck=0
enabled=1
[iaas]
name=iass
baseurl=ftp://192.168.16.10/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF

为计算节点提供ftp访问方式

# 控制节点——yum缓存清理
yum clean all
yum makecache

# 控制节点——安装vsftpd和ftp
yum install -y vsftpd
yum install -y ftp
rpm -qa| grep vsftpd

# 控制节点——修改vsftpd配置文件
在/etc/vsftpd/vsftpd.conf中添加一行代码:
anon_root=/opt

# 控制节点——安装网络工具包
yum install net-tools

# 重启vsftpd服务
systemctl restart vsftpd
# 开机启动vsftpd
systemctl enable vsftpd

# 控制节点、计算节点——关闭防火墙
setenforce 0;
iptables -F;
iptables -X;
iptables -Z;
systemctl stop firewalld;
systemctl disable firewalld;

# 计算节点
yum clean all
yum makecache

4、给计算节点(node)添加新磁盘并分区

在vmware上给计算节点虚拟机添加一个新磁盘。
虚拟机——》设置——》添加——》硬盘——》scsi模式——》创建新虚拟磁盘——》20G,拆分为多个文件——》完成

# 重启计算节点虚拟机
reboot

# 查看当前虚拟机的磁盘情况
fdisk -l
# 可以看到Disk /dev/sdb: 21.5 GB是完全空闲的

# 创建两个空白磁盘空间
fdisk /dev/sdb
     n,p,回车,回车,+10G
	 n,p,回车,回车,回车
	 w

5、在controller和compute节点安装iaas-xiandian包

# 控制节点、计算节点分别执行,安装软件包
yum install -y  iaas-xiandian

控制节点、计算节点编辑修改配置文件/etc/xiandian/openrc.sh

##--------------------system Config--------------------##
##Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.16.10

##Controller HOST Password. example:000000 
HOST_PASS=000000

##Controller Server hostname. example:controller
HOST_NAME=controller

##Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.16.20

##Compute HOST Password. example:000000 
HOST_PASS_NODE=000000

##Compute Node hostname. example:compute
HOST_NAME_NODE=compute

##--------------------Chrony Config-------------------##
##Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=192.168.16.0/24

##--------------------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

##Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.16.10/192.168.16.20

##External Network Interface. example:eth1   第二张网卡
INTERFACE_NAME=eno33554960

##External Network The Physical Adapter. example:provider
Physical_NAME=provider

##First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=1

##Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=2000

##--------------------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

##--------------------Swift Config---------------------##
##Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000

##The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2

##The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.16.20

##--------------------Heat Config----------------------##
##Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000

##Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000

##--------------------Zun Config-----------------------##
##Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000

##Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000

##Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000

##Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000

##--------------------Ceilometer Config----------------##
##Password for Gnocchi 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

##--------------------Barbican Config----------------##
##Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000

##Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000

6、脚本安装openstack平台

控制节点、计算节点分别执行如下脚本安装基础服务:
iaas-pre-host.sh

控制节点部署mysql数据库服务:
iaas-install-mysql.sh

控制节点部署keystone服务:
iaas-install-keystore.sh

控制节点部署glance服务:
iaas-install-glance.sh

控制节点部署nova服务:
iaas-install-nova-controller.sh
计算节点部署nova服务
iaas-install-nova-compute.sh

控制节点部署neutron
iaas-install-neutron-controller.sh
错误处理——修改脚本:
vi /usr/local/bin/iaas-install-neutron-controller-gre.sh
将最后一行的
systemctl enabled neutron-lbaas-agent 改为 systemctl enable neutron-lbaas-agent
再执行下面的脚本:
iaas-install-neutron-controller-gre.sh

计算节点部署neutron
iaas-install-neutron-compute.sh
iaas-install-neutron-compute-gre.sh

控制节点部署dashboard
iaas-install-dashboard.sh

三、Openstack平台使用

两节点部署,19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值