OpenStack部署(基于先电云)
写在前面(基础知识)
参考资料1:https://blog.csdn.net/weixin_42758707/article/details/100054578
参考资料2:https://www.cnblogs.com/shuaiyin/p/10953323.html
参考资料3(知乎):https://www.zhihu.com/question/62985699/answer/1285850477
写在前面(安装步骤)
参考资料2:https://blog.csdn.net/qq_41614928/article/details/102473743
参考资料3:https://www.jianshu.com/p/d3295421aca0?tdsourcetag=s_pcqq_aiomsg
一般情况下,OpenStack至少需要两个物理机器,或者称之为两个节点,即控制节点和计算节点。控制节点不需要过高的硬件资源,计算节点需要比较高的硬件资源
1. 基本环境配置
本次搭建使用双节点,即controller node控制节点和compute node控制节点。每个节点分别设置两块网课(ens33为外部网络管理,需设置静态ip;而ens34位内部管理网络,不用设置ip)。搭建ftp服务器作为搭建云平台的yum源。配置文件中密码需要根据实际环境进行配置。
1.1 设置VMware网卡说明
1.2 设置DHCP地址池
1.2.1 网卡一:
1.2.2 网卡二:
1.2 配置网络、主机名
修改和添加/etc/sysconfig/network-scripts/ifcfg-ens*(具体的网口,每台机器的情况不太一样,这里以我安装的物理机为例)
(1) controller节点
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ifcfg-ens33
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.1
第二块不用设置,设置完成后输入:
# systemctl restart network
然后配置主机名,命令如下:
# hostnamectl set-hostname controller
# bash
完成
(2) compute节点
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ifcfg-ens33
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.100.20
PREFIX=24
GATEWAY=192.168.100.1
第二块不用设置,设置完成后输入:
# systemctl restart network
然后配置主机名,命令如下:
# hostnamectl set-hostname compute
# bash
完成
1.3 配置yum源
controller与compute均需要完成:
(1) yum备份
# mv /etc/yum.repos.d/* /tmp
(2.1) 创建repo文件(controller)
#vi /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
(2.2) 创建repo文件(compute)
#vi /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
(2.3) 把镜像拖入/opt文件夹中
(3) 挂载iso文件(这里也已我自己下载的iso名称为例,各位挂载时需更改下路径及名称)
【挂载CentOS】(这里我把centOS和Xiandian的iso都下载到了/opt/下)
# mount -o loop /opt/CentOS-7-x86_64-DVD-2009.iso /mnt/
# mkdir /opt/centos/
# cp -rvf /mnt/* /opt/centos/
# umount /mnt/
【挂载XianDian】(这里我把centOS和Xiandian的iso都下载到了/opt/下)
# mount -o loop /opt/XianDian-Iaas-v.2.2.iso /mnt/
# cp -rvf /mnt/* /opt/
# umount /mnt/
(4) 搭建ftp服务器,开启服务器并设置开机自启(controller)
# yum install vsftp -y
# vi /etc/vsftp/vsftpd.conf
在最后一行添加: anon_root=/opt/
保存退出,输入以下命令:
# systemctl start vsftpd
# systemctl enable vsftpd
可以在windows文件管理系统中搜索ftp://192.168.100.10,若能看到centos、iaas-repo等文件则说明ftp设置成功
(5) 关闭防火墙并设置开机不自启(controller & compute)
# systemctl stop firewalld
# systemctl disable firewalld
(6) 清除缓存,验证yum源(controller & compute)
# yum clean all
# yum list
1.4 编辑环境变量
(1) 安装xian-dian(controller & compute)
# yum install iass-xiandian -y
(2) 编辑文件 /etc/xiandian/openrc.sh 此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置(尤其是网卡部分)
# vi /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=ifcfg-ens34 (没有设置IP地址的网卡名)
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
1.5 通过脚本安装服务
(1) 直接运行如下命令(controller & compute)
# iaas-pre-host.sh
(2) 安装Mysql数据库服务(controller)
# iaas-install-mysql.sh
2 安装 Keystone认证服务
通过脚本安装(controller):
# iaas-install-keystone.sh
3 安装 Glance 镜像服务
(1) 通过脚本安装(controller):
# iaas-install-glance.sh
(2) 上传镜像:
#source admin-openrc.sh
#glance image-create --name “CentOS7.0” --disk-format qcow2 --container-format bare --progress < /opt/images/centos_7-x86_64_xiandian.qcow2
4 安装 Nova 计算服务
(1.1) 通过脚本安装(controller):
# iaas-install-nova-controller.sh
(1.2) 通过脚本安装(compute):
# iaas-install-nova-compute.sh
5 安装 Neutron 网络服务
(1.1) 通过脚本安装(controller):
# iaas-install-neutron-controller.sh
(1.2) 通过脚本安装(compute):
# iaas-install-neutron-compute.sh
(2) 若碰到如下问题:
错误:软件包:libxslt-python-1.1.28-5.e17.x86_64(iaas)....
我们可以输入如下命令:
# yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables openstack-neutron-openvswitch --skip-broken
然后再运行脚本即可
(2.1) 通过脚本创建 neutron 网络(controller,这里使用gre网络)
# iass-install-neutron-controller-gre.sh
(2.2) 通过脚本创建 neutron 网络(compute,这里使用gre网络)
# iass-install-neutron-compute-gre.sh
6 安装 Cinder 块存储服务
(1.1) 通过脚本安装(controller):
# iaas-install-cinder-controller.sh
(1.2) 通过脚本安装(compute):
# iaas-install-cinder-compute.sh
7 安装 Dashboard 服务
(1) 通过脚本安装(controller):
# iaas-install-dashboard.sh
(2) 访问:在浏览器输入:http://192.168.100.10/dashboard
后话: 遇到的问题
(1) 镜像安装失败(待解决)
(2) neutron网络服务失败(待解决)