1 前言
1.1 文档编号
版本号 |
撰写日期 |
撰写成员 |
备注 |
v1.0 |
2021/10/11 |
吴雪 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.2 项目概述
随着计算科学和商业计算的发展,使得软件模型和架构越来越快地发生变化,同时促进网格计算、并行计算、分布式计算迅速发展成为云计算。作为一种新的计算模型,云计算凭借其低成本、高效率得到了快速发展,也促进了近几年开源云计算架构的不断发展和完善。某计算机学院按照“数据汇聚、教学增效”的理念设计,决定建一个良好的师生教学云平台项目。整个项目是通过对学院各专业的需求进行调研,并分析实验环境迁云的可行性。在此基础上搭建基于OpenStack的教学云平台实验环境,包括其系统环境设计和系统搭建的基础安装工作。
OpenStack是一个开放源的云计算项目和工具集,并且提供了关于基础设施即服务(laaS) 的解决方案。OpenStack不仅可以快速部署全虚拟化环境,而且可以通过此环境来建立多个互联的虚拟服务器,并能够使用户快速部署应用在虚拟机上。
1.3 项目目标
以OpenStack作为底层框架以云存储技术和虚拟化技术作为技术支撑搭建一个学院教学云平台。平台以教学服务为中心,结合学院的一些具体应用,充分考虑学院环境与需求,为高校师生提供两大服务:一是教学存储服务,为师生提供一个庞大的可扩展的存储引擎,师生获得授权后可自主对存储资源进行再分配,按课程存储相关课件或提交作业等从而实现优质教学资源的普及与共享,降低重复建设数据库的成本;二是虚拟云机房服务,为师生提供按需分配的虚拟计算资源。教师可以根据自己的课程需要定制具有合适配置的虚拟机学生在上机实验时只需按要求启动相应的虚拟机即可进行操作,并且可以很方便地在不同上机实验环境间进行切换,从而实现对资源的集中管理,有利于硬件资源的优化配置,降低系统维护成本。
2 需求分析
2.1 现状分析
计算机学院各个专业的需求都不同,所搭建的子平台也相继不同,现基于云计算技术与应用专业的需求进行分析,其课程有程序设计基础、Python语言与应用、web前端应用开发、云计算系统linux、数据库原理与应用、云计算组网与维护、云计算技术与应用等。其个课程都需要相应的实验环境,所有实验环境都是在个人笔记本上自行搭建的,在个人笔记本搭建实验环境的过程中遇到了各种各样的问题:网卡不兼容、内存不够、实例创建不成功、控制台出错等等,部分同学都因为内存不够都卡在了第一步部署OpenStack的环境,越到后面的创建实例和多节点配置时,问题突出,进展不下去。
2.2 可行性分析
搭建的学院教学云平台,通过对云计算专业的需求调查,云计算技术与应用专业的课程需要在OpenStack云平台部署的环境有: MySQL数据库服务器、Java开发环境、Python开发环境、C开发环境。搭建好了环境后,教师可以根据自己的课程需要定制具有合适配置的虚拟机,使学生在上机实验时只需按要求进入并启动OpenStack平台中相应的虚拟机即可进行操作,并且可以很方便地在不同上机实验环境间进行切换,解决了自己部署配置上存在的问题。
此云平台环境非常适用于师生教学,并提供相对良好的教学环境。实验环境是很需要硬件的支持,主机、存储、网络及其他硬件在内的硬件设备是实现云服务的最基础资源。并且在OpenStack云平台环境的基础上,还可以通过增加节点的方式使实验环境的用户数不断翻倍。在不同上机实验环境间可以进行切换,从而实现对资源的集中管理,系统资源利用率相对较高,有利于硬件资源的优化配置,降低系统维护成本,使其系统的使用周期相对较长。实验环境迁移上云也会存在一定的技术难点,以下是部分难点:
(1) 端口管控:出于安全考虑,与云端的所有连接都要经过端口管控。考虑学院的网络架构和内外网隔离,需设定好各个端口的ip地址,其网卡和端口配置都需要进行严格统一管理,不然一个端口问题可能出现很大问题。
(2)防火墙设置:信息系统上云后,所有数据将通过学院内的防火墙和云端的防火墙,防火墙的型号、支持的功能都有不同,很难做到统一。
(3)操作系统的安装:整体进行迁移时会在云端重新安装操作系统、重新部署应用和安装数据库,这样在迁移至云端就存在很多问题。
(4)数据的迁移:能够保证迁移数据完整性和一致性的整机迁移需要通过停机后才可以迁移,而因为平时教学的特殊性,业务系统的运行最好不能中断,使得整体迁移并不能通过短暂停机来实现,相对来说也有一定困难。
2.3 用户需求分析
通过对云计算专业的实际需求的分析,进行配置:
云计算技术与应用专业的用户有51人;
云环境:操作系统:centos7、Windows10
应用程序:MySQL-8.0.13、java-eclipse-2020、Python3.8、Dev C++
用户划分:老师和学生
云平台:CPU:4核心
内存:8GB
硬盘:100GB
物理服务器型号:华为FusionServer Pro 5885H V5
物理服务器配置:
产品类别:机架式;产品类型:企业级;CPU型号:Intel Xeon Gold 5115 2.4GHz;标配CPU数量:2颗;内存容量:64GB DDR4;内部硬盘架数:最大支持8块2.5英寸硬盘;网络控制器:2*GE电口+2*10GE光口;产品结构:4U;
物理服务器需要10台
3 云平台规划设计
经过云计算专业的调查,采用开源的OpenStack云平台搭建学院私有云,Iaas云服务 :
(1)云平台的拓扑结构:
(2)部署过程:
老师:控制节点 学生:计算节点
1、部署OpenStack云平台环境
2、在OpenStack平台上网络环境配置
3、在OpenStack平台上租户配置
4、在OpenStack平台上镜像制作
5、在OpenStack平台上创建实例
6、在OpenStack平台上迁移
(3)权限管理:
老师:管理员 学生:普通用户
(4)网络规划(举其中一个计算节点)
(5)高可用性表现为部署云平台的物理节点服务器,控制节点和实例节点。
1、控制节点:存放系统数据库、中间件服务,实际为云平台系统的大脑和控制中心。
2、实例节点:具备存放虚拟机的服务器,支持处理器虚拟化功能,运行虚拟机管理程序管理虚拟机主机。
物理服务器或虚拟机停机如何恢复:
1、在物理器或虚拟机停机前进行快照备份处理
2、可以通过控制节点将镜像迁移到计算节点,重新配置
4 仿真验证
OpenStack云平台部署:
1.安装前部署
2.修改节点ip:
IPADDR=192.168.43.2(192.168.43.3)
NETMASK=255.255.255.0
3.配置yum源
4.本地主机映射
vi /etc/hosts
192.168.43.2 ct
192.168.43.3 c1
5.重启系统
reboot
6. 安装OpenStack-packstack
yum install -y openstack-packstack
7.时钟同步(控制节点)
8.时钟同步(计算节点)
9.控制节点的环境部署:
规划节点:
Config_controller_host=192.168.43.2
Config_compute_hosts=192.168.43.3,192.168.43.2
Config_network_hosts=192.168.43.3,192.168.43.2
开始部署
Packstack –answer-file=deploy.conf
10.安装完成
可能遇到的问题:
控制台出错,解决方法:
OpenStack网络管理:
1、子网的创建:网络拓扑->创建网络->填写网络名称->下一步填写子网的名称、网络地址和网关ip->子网详情->创建成功。
2、路由器创建:路由->新建路由->填写路由名称->选择网络pubic->创建成功
3、子网通过路由器连接外网:网络拓扑中点击接口->添加接口->填写创建的子网->提交->连接成功
4、安全组及规则的配置:安全组->新建安全组->填写安全组名称->创建成功点击创建安全组的管理规则->可以管理出入口、ip协议、端口范围、远端ip前缀、远端安全组。
OpenStack租户配置
一、创建项目:
1身份管理-项目-创建项目
二、创建用户账号:
1通过界面为学生和老师创建用户,设置密码
2进入界面找到管理员选项;
3打开认证面板,选中“用户”;
4选择“创建用户”;
三、创建租户、用户并赋权:
绑定用户权限
1将学生绑定普通用户权限;将老师用户绑定管理员和普通用户权限。
OpenStack镜像制作
1)上传一个已经安装好操作系统的qcow2格式镜像,并用此镜像创建虚拟机
实例,并启动;
点击项目->计算->镜像->创建镜像->填写镜像名称->镜像源(文件浏览)->镜像格式(QCOW2)->选择最小磁盘10G->最低内存256MB->创建镜像成功。
点击管理员->实例类型->创建实例类型->填写实例类型名称->vcp数量1->内存256MB->根磁盘1GB->实例类型创建成功
2)新建一个未安装操作系统的虚拟机实例,安装操作系统。
项目->创建实例->填写实例名称->选择源->选择实类型->选择网络->创建实例成功。
开启实例->安装操作系统
OpenStack创建实例
1、 查看实例-启动实例
2、关闭实例
3、 重启实例
4、创建快照
5、暂停实例-恢复实例
6、挂起实例
OpenStack迁移
1.冷迁移:关闭实例->点击动作下方的迁移实例->冷迁移成功。
冷迁移需要关闭电源,业务中断。
2.热迁移:开启实例->点击动作下方实例热迁移->出现热迁移界面->选择迁移的目标主机->点击提交->热迁移成功。
热迁移过程中不可中断,操作相对复杂。
5 经验总结
通过一学期对OpenStack,了解OpenStack的基本结构、部署、配置、操作、迁移。收获颇多,学习氛围也很好,学习上很轻松,也遇到了很多问题,但都慢慢解决了。非常感谢罗老师的带领,熟悉了云计算应用。