某企业拟使用OpenStack搭建一个企业云平台,以实现资源池化弹性管理、 企业应用集中管理、统一安全认证和授权等管理。
系统架构如图1所示,IP地址规划如表1所示。
说明:
1.表中的 x 为考位号;
2.根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
3.考试所需要的资源包与附件均在考位信息表中给出;
4.竞赛过程中,请不要修改服务器系统的密码,否则可能导致竞赛系统不能正常检测评分,责任由参赛者自己承担。
1.根据表1中的IP地址规划,设置各服务器节点的IP地址,确保网络正常通信,设置云服务器1主机名为Controller,云服务器2主机名为Compute,并修改hosts文件将IP地址映射为主机名,关闭防火墙并设置为开机不启动,设置SELinux为Permissive 模式。
2.将提供的CentOS-7-x86_64-DVD-1804.iso和OpenStackQueens.iso光盘镜像上传到Compute节点的/root目录下,然后在/opt目录下分别创建centos目录和openstack目录,并将镜像文件CentOS-7-x86_64-DVD-1804.iso挂载到centos目录下,将镜像文件OpenStackQueens.iso挂载到openstack目录下。
3.在Compute节点上利用centos目录中的软件包安装httpd服务器并设置开机自启动,提供yum仓库服务,并分别设置controller节点和compute节点的yum源文件http.repo,其中节点的地址使用IP形式。
4.在Controller节点上部署chrony服务器,允许其他节点同步时间,启动服务并设置为开机启动;并在compute节点上指定controller节点为上游NTP服务器,重启服务并设为开机启动。
5.在compute节点上查看分区情况,并利用空白分区划分2个100G分区。
1.在控制节点和计算节点上分别安装quickinstall软件包,根据表2配置脚本文件中基本变量(配置脚本文件为/etc/cloudconfig/openrc.sh)。
2.在controller点上使用 /usr/local/bin/openstack-install-mysql.sh 脚本安装Mariadb、Memcached、etcd服务。
3.在controller节点上使用 /usr/local/bin/openstack-install-keystone.sh 脚本安装Keystone 服务。
4.在controller节点上使用/usr/local/bin/openstack-install-glance.sh脚本安装 glance 服务。
5.在controller节点和compute节点上分别使用/usr/local/bin/openstack-install-nova -controller.sh脚本、/usr/local/bin/openstack-install-nova-compute.sh脚本安装Nova 服务。
6.在controller节点和compute节点上分别修改/usr/local/bin/openstack-install-neutron -controller.sh脚本、/usr/local/bin/openstack-install-neutron-compute.sh脚本分别安装 Neutron 服务,网络选用vlan模式。
7.在controller节点上使用 /usr/local/bin/openstack-install-heat.sh 脚本dashboad服务。
8.在controller节点和compute节点上分别修改/usr/local/bin/openstack-install-swift -controller.sh脚本、/usr/local/bin/openstack-install-swift -controller.sh脚本安装 swift服务。
1.在openstack私有云平台上,基于cirrors.qcow2镜像用命令创建一个名为cirros的镜像。
2.在openstack私有云平台上,编写模板server.yml,创建名为“m1.flavor”、 ID 为 1234、 内存为 1024MB、硬盘为 20GB、 vcpu数量为 2的云主机类型。
3.在openstack私有云平台上,通过使用命令创建云主机外部网络extnet,子网extsubnet,虚拟机浮动 IP 网段为172.18.x.0/24(其中x是考位号), 网关为172.18.x.1,网络使用vlan模式;创建云主机内网intnet,子网intsubnet,虚拟机子网 IP 网段为192.168.x.0/24(其中x是考位号),网关为192.168.x.1;完成内网子网intsubnet和外部网络extnet的连通。
4.在openstack私有云平台上,基于“cirros” 镜像、m1.flavor、 intsubnet的网络,绑定浮动IP,通过使用命令创建一台云主机VM1,启动VM1,并使用PC机能远程登录到VM1。
5.在Controller节点中编写名为modvm.sh的shell脚本查看云主机VM1的内存大小,如果内存小于2G,调整云主机VM1的内存为2G。
6. 在openstack私有云平台上,将云主机VM1保存为qcow2格式的快照并保存到controller节点/root/cloudsave目录下。
7.在controller节点上新建名为Chinaskill的容器,并获取该容器的存放路径;将 centos7_5.qcow2 镜像上传到chinaskill容器中,并设置分段存放, 每一段大小为 10M。
8. 登录172.17.x.10/dashboard,使用centos7镜像创建三台云主机来搭建rabbitmq集群。使用普通集群模式,其中一台做磁盘节点,另外两台做内存节点,配置完毕后启动rabbitmq服务。
9.使用镜像 centos7,创建两台云主机master和slave,并分别绑定浮动IP;在这2台云主机上安装mysql据库系统并配置为主从数据库(master为主节点、slave为从节点);并mater云主机的数据库中创建ChinaSkilldb库,在ChinaSkilldb库中创建表testable (id int not null primary key,Teamname varchar(50), remarks varchar(255)),在表中插入记录(1,“Cloud”,“ChinaSkill”)。
10. 使用镜像 Openstack-error-2 重建云主机“all-in-one”(账号: root 密码: 000000)。重建后的云主机后,安装swift对象存储服务完成后,使用swift stat查看状态时发现报错,请结合错误信息排查错误,使swift对象存储功能可以正常使用。
此任务包含2-4个子任务,内容涉及编写Python脚本调用OpenStack API对Openstack云平台进行管理和运维。使用自动化运维工具ansible对云主机进行批量系统配置、批量程序部署、批量运行命令等运维操作。