范伟鹏
浅谈基于OpenStack构建高校私有云管理平台
范伟鹏
同济大学软件学院,上海 200000
随着高校信息化不断发展,计算和存储资源需求增多,服务器和存储资源较为分散,管理麻烦,资源不能充分利用,并且无法界面化为用户提供申请资源等。云计算与高校信息化的结合,对于建立高效敏捷的高校私有云管理平台,实现资源有效利用与共享有着重要意义。
OpenStack;云计算;私有云;管理平台
云计算管理平台能够实现对云中基础资源的管理并向用户提供云计算服务,是实现云计算商业模式的底层技术平台。它通过构建基础设施资源池、搭建企业级应用/开发/数据平台,以及通过SOA架构整合服务来为用户提供服务。
云计算管理平台可以提供一整套包括计算、网络、存储等在内的完整支持IaaS(基础设施即服务)组件框架。拥有以下6个特点:(1)运用虚拟化技术与大数据处理技术,对计算机的计算资源和存储资源虚拟化进行统一管理以节约成本;(2)通过运用SDN(软件自定义网络)思想实现对网络的管理,在接口设备之间提供网络连接,解决网络管理复杂、低效率等的问题;(3)对计算机资源进行统一管理,实现计算机资源的共享;(4)所有的云服务都提供身份验证与授权,保证安全性;(5)整合各种底层资源,为系统管理员提供Web 界面的控制面板以方便资源管理;(6)通过部署各个节点以实现对平台的多功能控制[1]。
OpenStack是由美国国家航空航天局(NASA)和Rackspace公司共同发起的开源项目[2]。OpenStack能够控制和管理数据中心的计算、存储和网络等资源,同时为管理员和用户提供一个Web访问接口和一个与Amazon EC2类似的API来动态按需获得所需的资源。OpenStack所有的模块子系统之间均是通过标准化的API来实现服务的调用。在虚拟化技术上,OpenStack能够支持包括KVM,VMware, Xen和QEMU等,并通过统一的虚拟化管理工具Libvirt来调用,实现对底层资源的透明使用[3]。
OpenStack的架构如图1所示[3]。
用户通过客户端请求虚拟机时,VMware虚拟机资源管理系统会立即响应用户的请求,按照用户的具体需求分配一台配置合理的虚拟机。通过维护一个动态变化的虚拟机资源池空间,对于虚拟机资源的各种请求做到了秒级响应。而且,为了保证虚拟机资源的动态伸缩,系统中还加入了时间管理模块。另外,虚拟机的正常运行工作通过状态管理模块来负责。全部的虚拟机资源都是通过底层的 OpenStack 云平台提供,VMware Server 以一定频率和 OpenStack 云平台进行通信,保证资源的可用性和请求的及时响应。
图1 云计算管理平台的特点
在私有云管理平台中创建虚拟机主要体现几个步骤:客户端发出请求;通过nova-api 接受用户请求;通nova-scheduler 进行调度;通过nova-network 进行网络配置;最后通过nova-computer 进行虚拟机的创建:
(1)在Web界面选择创建虚拟机,并确定所需要的计算资源、内存资源、网络资源等。在选择了需要的资源后,输入虚拟机名字,点击创建即可。
(2)获取可用的逻辑分区ID(LPARID)。获得使用的LPARID,并根据LPARID 规范计算得到一个可用的LPARID。
(3)检查instance、vcpu、ram的数量是否超过限制,并预留所需资源,由配额来管理。每个租户拥有的资源都是有限的。
lssyscfg -r lpar -F name,fan -m "Server-9131-52A-SN0671E0G" | grep Running
获得状态为"Running" 的LPAR 的CPU 个数:
lshwres -m "Server-9131-52A-SN0671E0G" --level lpar -rproc –F lpar_name,curr_proc_mode,run_procs,run_proc_units--filter""lpar_names=k-bcfb028a,vio1,vio2,vioc_test1_kt""
获得目前资源池中CPU 的总数:
lshwres -m "Server-9131-52A-SN0671E0G" --level sys -rproc -F configurable_sys_proc_units
获得状态为"Running" 的LPAR 的内存使用量:
lshwres -m "Server-9131-52A-SN0671E0G" --level lpar-r mem -F lpar_name,run_mem--filter""lpar_names=kbcfb028a,vio1,vio2,vioc_test1_kt""
获得目前资源池中的内存总量:
lshwres -m "Server-9131-52A-SN0671E0G" --level sys -rmem -F configurable_sys_mem,sys_firmware_mem,mem_region_size
(4)检查指定的network和fixed ip是否有效,如network是否存在,fixed ip是否属于该 network,fixed ip有没有被分配等。
(5)检查image、disk、ramdisk是否存在且可用,并判断flavor是否满足该image的最小配置需求,如内存、虚拟磁盘是否满足image的最小值。
viosvrcmd -m "Server-9131-52A-SN0671E0G" -p vio1 -c"lsmap -all -type disk " | grep "Backing device"
获得该VIOS 上已经挂接的磁盘PVID 列表:
viosvrcmd -m "Server-9131-52A-SN0671E0G" -p vio1 -c"lspv -fmt : "
(6)当所有资源充足,并且所有传参都有效时,更新数据库,新建一条instance记录, vm_states设为BUILDING,task_state设为SCHEDULING。
(7)通过rpc call,将所有参数传给nova-scheduler由它执行虚拟机调度。
(8)创建虚拟机。创建虚拟机的过程通过克隆镜像的方式实现,根据镜像大小以及磁盘读写性能不同,克隆镜像大概需要10~20 分钟;创建虚拟机完成后需要等待虚拟机完全启动之后配置网络,等待启动时间大概2 分钟左右。虚拟机创建时间共需15~20 分钟。
至此,一台AIX 平台的虚拟机创建完毕,可以提供给用户正常使用。
当一台虚拟机不再使用的时候,就需要回收它的资源,删除一台虚拟机,主要体现几个步骤进行:
(1)用户在私有云管理平台上提交删除虚拟机的申请后,OpenStack 同样调用Nova 组件,结合私有云管理控制平台对虚拟机进行相关删除操作。
(2)将LPAR 关闭并等待的状态变成“Inactive”。
chsysstate -o shutdown -r lpar -m "Server-9131-52A-SN0671E0G" -n k-bcfb028a –immedlssyscfg -r lpar -m "Server-9131-52A-SN0671E0G" –filter"lpar_names= k-bcfb028a" -F state
(3)对于每个vSCSI 来说,通过slot 号获得vhost 和vtd的信息,然后删除vhost 下的所有vtd,并删除vhost。随后用DLPAR 删除VIOS 上对应的vSCSI, 并更新数据库上VIOS的slot 列表信息。最后删除VIOS 和LPAR 的Profile 中的vSCSI。
(4)通过命令删除相对应的LPAR 并更新存储资源池的磁盘信息。
rmsyscfg -r lpar-m "Server-9131-52A-SN0671E0G" -n"k-bcfb028a"
(5)当完成上述操作后,可以通过HMC 观察到该已经从私有云管理控制平台上消失了,表明该虚拟机已经删除完毕。
本文着重介绍了基于OpenStack 私有云环境下,通过调用硬件管理控制平台,做到管理服务器,能够实现创建和删除虚拟机的功能。通过该方法,可根据学校需求完善其他相应的功能,例如虚拟机生命周期的管理、云硬盘的管理等等,满足通过OpenStack私有云管理PC服务器的需求,为高校智慧校园提供高可用的保障。
[1]袁梦雪,朱海燕,李永豪,等.基于OpenStack构建高校实验室云计算管理平台的实现[J].科技展望,2016,26(7):14-15.
[2]李小宁,李磊,金连文,等.基于OpenStack构建私有云计算平台[J].电信科学,2012, 28(9):1-8.
[3]OpenStack[EB/OL].http://www.openstack.org/.
Construction of Private Cloud Management Platform in Colleges and Universities Based on OpenStack
Fan Weipeng
School of Software Tongji University, Shanghai 200000
With the continuous development of information technology in Colleges and universities, the demand for computing and storage resources is increasing, servers and storage resources are scattered, management is troublesome, resources cannot be fully utilized, and interface resources cannot be provided to users. The combination of cloud computing and university informatization is of great significance for building an efficient and agile private cloud management platform in colleges and universities, and realizing the effective use and sharing of resources.
OpenStack; cloud computing; private cloud; management platform
TP393.09
A
1009-6434(2017)9-0059-03
范伟鹏(1981—),男,在福建省龙岩学院信息网络中心工作,同济大学软件学院软件工程硕士在读研究生。