私有云管理平台的设计分析实现

上传人:仙*** 文档编号:99763255 上传时间:2022-06-01 格式:DOC 页数:114 大小:2.94MB
返回 下载 相关 举报
私有云管理平台的设计分析实现_第1页
第1页 / 共114页
私有云管理平台的设计分析实现_第2页
第2页 / 共114页
私有云管理平台的设计分析实现_第3页
第3页 / 共114页
点击查看更多>>
资源描述
中图分类号:TP3论文编号:10006GS112138C专业硕士学位论文私有云管理平台的设计与实现作者姓名何福康学科专业软件工程指导教师邵兵 副教授王健 高 工培养院系软件学院The Design and Implementation of Private Clouds Management Platform A Dissertation Submitted for the Degree of MasterCandidate:He FukangSupervisor:Assistant Prof. Shao BingSchool of SoftwareBeihang University, Beijing, China中图分类号:TP3论文编号:10006GS112138C硕 士 学 位 论 文私有云管理平台的设计与实现作者姓名 何福康 申请学位级别 工程硕士指导教师姓名 邵兵 职 称 副教授学科专业 软件工程 研究方向 移动云计算 学习时间自 2011 年 9 月 20 日 起至 2013 年 12 月 30 日止论文提交日期 2013 年 11 月 15 日 论文答辩日期 2013 年 12 月 15 日学位授予单位 北京航空航天大学 学位授予日期 年 月 日关于学位论文的独创性声明本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外,本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得北京航空航天大学或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志对研究所做的任何贡献均已在论文中作出了明确的说明。若有不实之处,本人愿意承担相关法律责任。学位论文作者签名: 日期: 年 月 日学位论文使用授权书本人完全同意北京航空航天大学有权使用本学位论文(包括但不限于其印刷版和电子版),使用方式包括但不限于:保留学位论文,按规定向国家有关部门(机构)送交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被查阅、借阅和复印,将学位论文的全部或部分内容编入有关数据库进行检索,采用影印、缩印或其他复制手段保存学位论文。保密学位论文在解密后的使用授权同上。 学位论文作者签名: 日期: 年 月 日指导教师签名: 日期: 年 月 日 摘 要随着企业IT系统的日益庞大和复杂化,服务器硬件资源的浪费显得越来越严重。通过建设私有云管理平台,企业可以很方便地根据各种业务应用系统的特性来综合调整资源的分配。本文将依据软件工程的科学管理手段,深入研究一个实用化的私有云平台的开发,解决基础设施资源复用、通用业务能力开放、终端适配、业务承载等一系列问题。该平台架构的特色,是一个自顶向下,以服务为主线来贯穿整个产品,是从用户和业务的实际需求出发,通过服务统一的组织和调度底层的一些资源。在整个的平台设计里,首先是从业务需求出发,分析用户的业务需求,为用户提供简单、统一的管理平台,内置丰富的资源管理与交互功能,将原本静态分配的IT基础设施抽象为可管理、易于调度、按需分配的资源;再把资源封装对外提供按需灵活使用各类IT资源的服务,满足各种业务的运营。该平台分为资源管理平台、运营管理平台和用户自服务门户三个子系统。最底层为资源管理平台,对多种基础资源进行统一管理;中间层为运营管理平台,对业务相关内容进行管理;最上层为用户自服务门户,为用户购买和使用服务提供入口。每个子系统有单独的登录URL,由不同角色的用户登录进行操作。论文详细的从几个典型的核心需求展开分析,遵循标准的软件工程管理,采用成熟可靠的MVC设计模式,选择Spring+Struts的框架,以CloudStack为虚拟化基础管理软件,结合一些大型Web平台实际运行中积累的难点解决思路,逐步实现了一个私有云管理平台的开发,而且简单介绍了云计算的虚拟化技术,以及本项目中资源管理所使用的解决方案。关键词: 云计算,云平台,虚拟化,Spring,Struts ,CloudStack ABSTRACTAlong with the enterprise IT systems become larger and more complicated, the server hardware resources waste is becoming more and more serious. Enterprise through the construction of private cloud management platform, distribution according to the characteristics of various business application system to adjust resources.According to scientific management methods of Software Engineering,this article research deeply on praticle service private cloud platform,to solve the problems of reuse on Infrastructure, general service, terminal adapter and service loading. The characteristic for this platform is top-down design, service-centered in entire product, started from the real service requirement of users, to arrange and manage underlying resource by the service in unify.In the entire plat design system,the first is from service requirement, to analyse the business needs of users, providing a simple, unified management platform, and built in rich resource management and interactive function, the original static allocation of IT infrastructure management, easy abstraction for resource scheduling, distribution according to need; then the resource encapsulation provide on-demand flexible use of various types of IT resource service, to meet a variety of business operation.The platform is divided into resource management platform, management platform and user self service portal three subsystems. The bottom layer is resource management platform, unified management of various resources; the middle layer is the operation management platform, to manage the business related content; the top layer is the user self service portal, providing entrance for users to purchase and use of services. Each subsystem has a separate login URL, operated by users in different roles login.This article analyses from some typical critical requirement, based on standard soft engineering managment, adopting reliable MVC design mole,choosing Spring+Struts framework, combined with difficulties solution from some large Web platforms, and Gradually realizes a development of cloud platform gradually.Also, it introduces simplely virtualization technology of cloud computing and solution of resource manage. Keywords: Cloud computing, cloud platform, virtual machine,Spring,Struts,CloudStack目 录摘 要IABSTRACTII目 录III第一章 绪论11.1 课题背景与意义11.2 国内外研究现状11.3 总体研究工作21.4 论文结构说明31.5 本章小结3第二章 系统需求42.1 系统概述42.2 需求分析42.3 功能性需求分析42.3.1 系统主要模块用例图42.3.2 用户管理52.3.3 服务管理62.3.4 订单管理82.3.5 资源管理92.4 非功能性需求102.4.1 性能需求102.4.2 可扩展性要求102.5 本章小结11第三章 项目开发中涉及的相关技术123.1 云平台实现技术123.1.1 CloudStack 简介123.1.2 MVC架构实现153.1.3 异步JOB模式163.1.4 jQuery简介173.1.5 MySQL数据库183.2 虚拟环境安装183.2.1 存储准备193.2.2 VMware vSphere 安装和配置193.2.3 CloudStack安装203.3 各平台与CloudStack交互213.3.1 常用API简介223.3.2 编码实现223.4 本章小结24第四章 系统设计254.1 系统总体设计方案254.1.1 系统设计目标254.1.2 系统设计原则254.1.3 系统总体架构254.2 数据库的设计274.2.1 领域建模274.2.2 模板管理284.2.3 订单管理304.2.4 用户管理314.2.5 服务实例管理324.3 功能模块的设计354.3.1 服务模板管理364.3.2 服务目录管理384.3.3 订单管理404.3.4 用户信息管理414.3.5 服务使用424.4 本章小结46第五章 系统实现475.1 服务模板管理的实现475.1.1 操作流程475.1.2 服务模板生命周期管理状态图485.1.3 服务模板创建时序图485.1.4 服务模板定义495.1.5 服务模板审核505.1.6 服务模板发布515.2 服务目录管理515.2.1 服务目录定义时序图525.2.2 服务目录定义535.2.3 服务目录审核545.2.4 服务目录发布545.3 订单管理545.3.1 订单提交时序图555.3.2 订单人工审核时序图555.3.3 订单申请和处理流程575.3.4 订单审核585.3.5 订单查询585.3.6 订单到期提醒585.4 用户管理585.4.1 用户管理595.4.2 用户组管理605.4.3 角色管理615.5 服务实例管理625.5.1 服务生命周期管理625.5.2 服务操作时序图625.5.3 服务状态变迁图635.5.4 服务申请645.5.5 服务查看665.5.6 服务操作665.5.7 服务变更675.5.8 服务续订685.5.9 服务退订685.6 本章小结69第六章 系统测试和部署706.1 系统测试706.1.1 测试目标706.1.2 测试环境706.1.3 系统功能测试726.1.4 系统性能测试736.2 系统测试分析746.2.1 Bug分析756.2.2 测试结论756.3 系统部署756.3.1 部署方案概述756.4 本章小结77总结与展望78总结78个人工作78展望78参考文献79致谢81图目录图 1 私有云管理平台核心模块用例图5图 2 CloudStack系统架构12图 3 管理服务器机群架构14图 4 虚拟机、卷、快照、模板的关系图14图 5 云平台自服务门户逻辑视图15图 6 MVC流程示意图16图 7 用VC添加主机20图 8 CloudStack API返回结果22图 9 API调用代码23图 10 查询用户及域的API调用结果24图 11 私有云计算平台系统架构26图 12 领域建模28图 13 资源模板E-R图29图 14 订单管理E-R图30图 15 用户管理E-R图32图 16 服务实例E-R图33图 17 功能模块分解图35图 18 服务模板主界面47图 19 服务模板操作流程48图 20 服务模板生命周期管理状态图48图 21 服务模板创建时序图49图 22 虚拟机服务模板创建时序图49图 23 服务目录管理主界面52图 24 服务目录定义时序图52图 25 订单管理主界面55图 26 订单提交时序图55图 27 订单人工审核时序图56图 28 订单处理流程57图 29 用户生命周期时序图59图 30 添加用户界面60图 31 添加用户组界面61图 32 添加角色界面61图 33 服务实例生命周期图62图 34 服务申请时序图63图 35 服务实例状态变迁图64图 36 服务申请界面65图 37 测试环境的网络结构图硬件环境71图 38 不同测试阶段的Bug数量趋势图75图 39 部署后的服务模板主界面76图 40 服务申请主界面76图 41 部署后的订单处理页面77图 42 重启虚拟机77表目录表1 CloudStack功能13表2 jQuery的基础选择器表17表3 资源池物理机配指表18表4 模板相关数据库表28表5 资源模板主表结构说明29表6 订单管理相关数据库表30表7 订单表结构说明31表8 用户管理相关数据库表31表9 用户表结构说明32表14 服务实例相关数据库表33表15 资源实例表结构说明(资源模板实例化)34表16 服务实例表结构说明34表17 硬件测试环境71表18 软件测试环境71表19 功能测试72表20 性能测试74表21 私有云管理平台BUG汇总74 第一章 绪论 1.1 课题背景与意义随着企业IT系统的日益庞大和复杂化,服务器硬件资源的浪费显得越来越严重。企业通过建设私有云管理平台,可以根据各种业务应用系统的特性来综合调整资源的分配。本课题通过论文需求与设计实现相结合的形式,对企业规划和部署私有云管理平台提供理论依据和相应的解决方案。一、 课题背景传统的IDC业务,随着应用企业规模增加,数据规模增加,费用成本也在不断增加。并且其资源利用率低下、负载难以预测、业务需求响应缓慢、运营管理日趋复杂,占用了企业大量的时间和精力。云计算所带来的基础设施服务产品云主机,通过按需付费模式、规模化和自动化、为客户在降低成本的同时提供了资源的按需弹性供应、快速支配和部署等功能,通过屏蔽基础设施的复杂性,大大简化了运营管理成本。当我们想到云中的计算机资源时,我们通常想到的是公共云,如 Google 或 Amazon以及国内的阿里云所提供的产品,其基础架构或应用程序通过 Internet 与世界各地客户共享。但安全性和可用性仍然是需要解决的问题。这就是为什么越来越多企业选择使用私有云。云计算已经被证明是企业的一个不错的选择,因为它可以降低成本,并产生灵活性。成本节约由服务或 IT 计算机资源的标准化或自动化推动。标准化和自动化可以降低运营成本,并解放 IT 人员,使他们更多地专注于为客户提供服务,而不是将精力花在较少或没有增值的活动上,如分配磁盘空间或配置软件。二、 选择私有云的意义企业用户可以在公司内部尝试使用云计算来替代使用互联网交付的服务。私有云就是你可以得到公有云服务所具有的扩展性和响应及时等优势,又无需将控制权,安全性和恢复的成本交给服务提供商。1.2 国内外研究现状近几两年,各大企业对于云计算的兴趣高涨。 ForresterResearch的年度调查中也显示出,企业对于私有云的兴趣正在增长,该项调查是在北美和欧洲进行的,有一千家企业参与,2012年,36%对私有云感兴趣,而2013年数字则涨到了46%。这个数字在这项调查的其他分类中可谓是一次大的飞跃了,相比较而言公有云则是从31%增加到了35%。出现这种情况的主要原因是因为企业发现私有云能够很好地平衡企业的IT需求,提供了公有云的按需灵活性,还确保了私有环境的安全性,一切都保存在企业的防火墙之后。而公有云的安全性仍旧是市场上讨论的比较热火朝天的话题,对大多数用户来说,安全性可是个不小的问题。虽然降低成本是私有云计算发展的最大动力,但业内对于私有云计算价值的态度也正在发生着转变。有不少企业把速度和灵活性作为私有云计算的主要红利。这个信号并不仅仅意味着企业思想上的成熟,而且也是对业务需求更好的理解。中国云计算产业生态链的构建正在进行中,在政府的监管下,云计算服务提供商与软硬件、网络基础设施服务商以及云计算咨询规划、交付、运维、集成服务商、终端设备厂商等一同构成了云计算的产业生态链,为政府、企业和个人用户提供服务。从目前中国的实际应用情况来看,私有云占有主导地位,混合云次之,公有云市场占有率最低。私有云在一定程度上具有安全性、服务质量、资源管理等方面的优势,同时还可以和现有的IT系统进行无缝集成,从基于局域网的本地系统向云计算平台迁移,让企业在拓展业务的同时,逐步引入和体验云计算应用,不仅投入产出比高,而且没有任何风险。因此,本课题选择私有云作为研究对象,设计和实现一个为企业提供方便、快捷、可靠性服务的私有云管理平台。1.3 总体研究工作根据大型企业的业务需求,本课题的总体研究工作是设计和实现一个私有云管理平台。研究目标:将企业内部原本静态分配的IT基础设施抽象为可管理、易于调度、按需分配的资源;把资源封装对外提供按需灵活使用各类IT资源的服务,满足各种业务的运营;为用户提供简单、统一的管理平台,内置丰富的资源管理与交互功能。研究内容:设计和实现基于异构的X86服务器、物理机、小型机的私有云管理平台。该平台面向内部IT支撑系统和业务平台的资源需求,为用户提供物理机、虚拟机、小型机、FC-SAN存储、分布式文件存储、日志详单类数据存储、公网IP地址、带宽、防火墙、负载均衡等资源服务。该平台负责私有云计算服务的运营,并对私有云计算资源池系统以及其中的各类资源进行集中管理。1.4 论文结构说明本论文分为七章,具体内容如下:第一章 绪论本章介绍了私有云管理平台的课题来源与背景以及国内外研究现状的进展。第二章 系统需求本章介绍了私有云管理平台的基本业务需求,以及在项目中需要克服的关键性问题。第三章 相关技术介绍本章介绍了私有云管理平台开发环境的具体情况,以及相关的技术。第四章 系统设计 本章围绕着需求分析,对系统进行设计,包括系统框架的设计和各子系统的设计。第五章 系统实现本章介绍了私有云管理平台框架和各个子系统的实现结果。第六章 系统测试与部署本章介绍了私有云管理平台测试的目标、测试环境、测试方法、测试结果。第七章 总结与展望本章对整个项目的工作进行了总结,介绍了本人的工作内容,及私有云管理平台的发展的展望。1.5 本章小结本章首先介绍了项目的课题来源以及背景,论述了运营商及电商对云平台功能定制系统的迫切需求。运营商及电商面对日新月异的业务需求,提出随机应变的互联网规划和发展战略,目前国内外的云计算平台难以满足特定运营商及电商的特殊需要。在这样的背景下,本章对私有云管理平台的功能和市场进行了分析。最后阐述了本论文的目标,主要工作内容和全文的总体结构。第二章 系统需求本章将介绍本系统的用户需求,根据需求分析的结果,提出了系统的总体框架。本章还重点论述了要实现系统的功能所需要解决的关键技术问题。2.1 系统概述中国移动私有云资源池将IT基础设施作为服务对外提供,通过硬件虚拟化、安全隔离、集中管理和弹性资源调度等技术,将原本静态分配的IT基础设施抽象为可管理、易于调度、按需分配的资源,提供按需灵活使用各类IT资源的服务。要求支持多租户,不同的应用通过本平台提供的计算资源、存储资源和网络安全方面支持,实现逻辑隔离资源共享。云平台运维人员,通过云管理平台软件,实现对云平台资源的调配和监控。外部用户,通过云管理平台软件提供的自助门户,了解服务使用情况,并进行自助操作。2.2 需求分析通常从项目开发角度,软件需求被分为功能性需求和非功能性需求两大类。其中,功能性需求为了解决客户实际的问题,属于项目首要解决的问题,一切程序功能模块的设计都将围绕着功能性需求展开。本项目中需求的获取是通过对准客户的调研并经过市场分析人员的调查报告以及公司近年来对国内云计算行业专业知识的积累综合制定的。而非功能性需求在目前阶段主要考虑到的是系统安全性、稳定性、面对灾难情况的数据备份及恢复、系统运行效率等,这些需求不影响系统的使用功能,却对系统运行的流畅程度,用户体验以及系统扩展和维护有着很大的影响。这往往也是提高软件公司形象,在客户面前证明自己核心竞争力的关键。像很多软件公司一样,本系统的开发是以项目为起点,着重对国内的移动、电信行业的有关公司的相关部门人员进行拜访咨询,并初步达成软件合作协议,在此基础上逐步将该项目完善为产品。系统用户角色主要有:运营管理员、运维管理人员、普通用户、部门管理人员等。随着合作的进一步深入,这些需求还将进一步扩大完善。2.3 功能性需求分析2.3.1 系统主要模块用例图图 1 私有云管理平台核心模块用例图私有管理平台核心要解决的问题是动态数据中心解决方案,企业可以基于该方案快速构建面向内部使用的私有云管理平台,服务提供商也可以基于该方案在短时间内搭建云计算服务平台对外提供服务。即:服务模板管理、订单管理、服务订购管理、服务操作、用户权限管理。其他功能均围绕着这些主题进行。本论文着重对其中的用户管理(包括用户、用户组、角色的管理及功能模块的分配)、服务管理(创建服务模板、发布标准服务)、订单管理(包括订单审核、订单查询)、资源管理(资源开通、资源操作),用例图如图1所示。下面是这四部分的需求详细描述。2.3.2 用户管理用户管理模块主要功能包括用户新增、用户注销、用户信息修改、密码修改、密码重置、设置用户状态、用户信息查询等。私有云平台的用户指中国移动公司内部用户。n 用户新增根据私有云在中国移动范围的实际运用,所有用户的新增由该用户的运营管理员进行新增。当管理员新增用户完成后,将相关账号、密码信息通过Email、短信方式通知给对应用户。用户密码支持静态密码、动态密码等方式。用户属性应包括:用户编号、用户名、用户密码、用户角色、用户组、用户状态、部门、联系人、联系方式、地址等。n 用户注销用户可通过云管理平台进行用户信息的注销。用户注销时,系统应确认该用户已退订所有资源。如该用户有订购业务,则提醒用户先退订当前资源,再进行用户注销。用户注销后,系统用Email或短信的方式通知用户注销结果。n 设置用户状态运营管理员可对用户的状态进行设置。可将用户状态设为挂起,禁止用户在平台上进行业务申请等操作,并暂停其账户下的所有资源使用。用户挂起后也可将其状态恢复为正常。n 用户组管理用户组管理是指对用户按照级别进行分层次维护和管理的功能。用户组管理实现对云管理平台中的用户分类并分层管理,运营平台支持将操作员划分为多个用户组,不同用户组的用户拥有不同的资源权限。n 角色管理角色管理是指权限的集合分类。用户可以将权限添加到角色中,用于方便权限的分配。n 权限管理权限管理是指对云管理平台中的功能进行分层、统一访问控制。2.3.3 服务管理服务管理是指根据服务目录类别对资源服务进行分级管理和显示。主要功能包括:(1) 支持资源服务的定义、修改、删除和查询。(2) 支持服务目录的生成、发布、修改、删除、查询和导入导出,支持分级目录管理。1. 资源服务管理资源服务管理支持资源服务的定义、修改、删除和查询。(1) 资源服务定义资源服务定义主要功能包括:设置资源服务信息,资源服务信息包括服务名称、服务编号、服务等级和服务描述等。资源服务不分层次,例如虚拟机、X86物理机、小型机等。(2) 资源服务修改可对已有的资源服务进行修改。如资源服务包含在已发布的服务目录中,修改后自动更新服务目录中相关信息。(3) 资源服务删除可对已有的资源服务进行删除。如资源服务包含在已发布的服务目录中,给出警告提示,由操作人员确定是否删除。如被删除,系统自动将服务目录中相应的资源服务删除。如该资源服务下包含用户在用资源,则系统禁止删除该资源服务。如该资源服务下包含资源模版,则系统禁止删除该资源服务。(4) 资源服务查询运营管理人员可对资源服务进行查询。支持在搜索框通过检索语法进行关键字查询;支持对关键字的精确查询和模糊查询。2. 目录管理服务目录管理支持服务目录的生成、发布、修改、删除、查询和导入导出,支持分级目录管理。 服务目录创建服务目录创建主要功能包括:(1) 服务目录信息添加,包括目录编号、目录名称、目录级别等。(2) 生成服务目录树形列表。系统根据预定义的目录级别,生成相应的服务目录树形列表,并以图形的方式展现给目录创建者。(3) 将服务目录和资源服务进行关联。系统自动更新服务目录树形列表,将已关联的资源服务添加到服务目录中。(4) 支持按用户的权限级别进行对应资源服务级别的服务目录展示; 服务目录修改服务目录设计者可对服务目录的信息进行修改,修改过程中生成相应的系统日志信息。 服务目录删除运营管理人员可将已有服务目录删除。主要功能要求如下:(1) 在删除服务目录时,系统自动检查是否有用户正在申请资源模板。如有用户正在进行申请操作,系统给出告警提示,由操作人员决定是否继续删除;服务目录删除后,自动向门户模块发送删除信息;(2) 在删除过程中能够生成相应的系统日志信息。 服务目录查询服务目录管理模块支持服务设计者、服务审批者和终端用户查询服务目录及其相关属性。2.3.4 订单管理订单管理功能处理用户的资源订购请求。用户的资源订购请求通过审批流程进行审批,审批结果自动通过电子邮件或短信等形式通知用户。审批通过后系统将用户订单分解为定单,并传送给资源池系统,由资源池系统按定单资源描述进行实例化,生成用户所订购的资源,并通过电子邮件或短信等形式将资源信息(如IP地址,管理员口令等)通知用户。订单管理功能应能够对审批流程进行全局的启用或停用设置,以控制用户的资源订单必须通过审批或者可不通过审批来获得所需资源。订单管理应包含以下功能模块:1. 订单申请:订购申请包括“新增订单”和“撤回订单”两个功能。 新增订单用户可通过云管理平台的自服务门户,根据需求选择所需资源,并确定相关属性(订购数量,订购有效期),系统进行资源可用性检查和资源依赖关系检查后,提交订单。支持选择已有的资源模板、用户自定义模板等方式; 撤回订单2. 订单查询订单查询是对订单相关信息进行查询的功能。用户可通过订单查询功能,查询已申请的资源订单信息及状态。3. 订单到期提醒:对于将要到期的订单,系统应提前对用户通过邮件或短信发送提醒。提醒提前时间和次数可由系统进行设置,如提前一个月提醒一次,提前一周再提醒一次;4. 续订订单用户收到订单到期提醒后,可对此订单进行续订,设置新的有效期;5. 订单取消对于已申请的资源,用户可通过订单管理功能,取消已申请的资源;或者由云管理平台管理员进行手工取消;6. 订单审批:订单管理应包含审批功能,用以处理用户申请,并且此审批流程应可以全局启用或禁用。订单审批包含以下功能: 订单批复:对新增或者修改的订单申请进行审批,管理人员应对用户订单进行可用资源检查,如果未通过审批,审批人员提供审批意见,并通过系统通知用户。 审批结果通知:系统应把审批结果自动通过电子邮件或短信方式通知用户,如审批时间,是否通过审批,审批意见(如果未通过审批)。 审批流程启用/停用:审批流程应能够全局的启用或者禁用,以使系统可适应不同的应用场景,使用户的资源订购必须通过审批或者不通过审批即可自动获得所需资源。 可用资源检查:检查现有资源空闲状态,判断其能否满足新增订购申请对资源的需求,如果能满足,则进行后续处理,否则返回给用户错误信息,可用资源检查基于资源池系统上报的资源数据决定资源是否可被分配。2.3.5 资源管理1. 资源开通管理资源开通管理根据用户订单或变更单实现资源申请、更改以及取消等功能。资源开通管理功能将用户订单或变更单分解为定单,通过资源管理接口发送给资源池系统,并将执行结果返回给调用模块。资源的开通、变更、取消需用支持智能的联动判断和向导支持。2. 资源操作管理资源操作管理根据用户对资源的操作请求实现资源操作功能。资源操作管理功能将用户资源操作请求解析为资源池系统可执行的原子操作流,生成相应的资源池指令消息,通过资源管理接口向资源池系统发送指令,并将执行结果返回给调用模块。3. 资源模板管理提供创建、修改、删除、查询资源模板等功能,并提供设置资源模板的状态的功能。不允运营管理人员删除正在使用中(指存在由该资源模板生成的资源)的资源模板。资源池系统也保存与云管理平台一致的资源模板信息。当云管理平台收到申请资源的请求时,只需将资源模板编号在接口中传送给资源池系统,资源池系统即可根据资源模板编号和资源申请参数来创建资源。4. 资源容量管理资源容量管理对用户资源使用情况进行管理,包含资源已经使用容量,可使用容量情况。2.4 非功能性需求2.4.1 性能需求为了保证私有云管理平台能够满足业务和服务质量的需要以及能够可靠地运行,应具有以下的性能指标:1) 私有云管理平台的处理能力不小于500次/秒;2) 从收到请求消息到发出响应消息的时间应小于5s。2.4.2 可扩展性要求随着对性能要求不断提高,私有云管理平台要满足各功能模块的扩展,以提高系统的处理性能。私有云管理平台的扩展要求支持处理能力的动态在线扩容,以节点为单位实施扩容,并且要求在动态扩容期间服务不中断。私有云管理平台的系统级可扩展性应满足电信级要求:l 软件架构的可扩展性:在软件架构设计上需要从接口兼容性设计、功能特性兼容性上保证软件的可扩展性;l 数据库的可扩展性:在大数据量表设计、表和字段设计、SQL 语句设计规范上保证数据库设计的可扩展性l 业务处理能力的扩展性:私有云管理平台可通过增加相关的硬件等方式增加业务容量;l 业务存储能力的扩展性:私有云管理平台存储能力可扩容,且不影响业务运行;l 业务功能的扩展性:私有云管理平台可通过升级软件、系统扩充、增加外部连接设备等方式进行业务功能的增加,要求业务功能增加的同时不影响已有业务功能的使用,如果需要私有云管理平台的重启,则重启时间不得超过1小时。2.5 本章小结本章主要阐述了私有云管理平台具体功能和业务的需求,根据需求初步形成了系统的总体框架,并详细分析了系统在设计与实现过程中将要解决的关键技术问题,即解决网络负载过高、脆弱性和低可扩展性等三个问题。通过详细的需求分析,本章为系统的设计奠定基础。第三章 项目开发中涉及的相关技术本章将详细介绍项目开发过程中涉及到的技术,主要包括云平台实现技术,虚拟化环境安装,各平台与CloudStack交互。3.1 云平台实现技术本课题的技术选型方面主要考虑开源,跨平台和稳定性三个方面。3.1.1 CloudStack 简介私有云从逻辑架构上可以大致划分为四个层次,分别是:虚拟化Hypervisor 层、虚拟化基础设施管控接口层、虚拟化基础设施管理和云接口层。虚拟化Hypervisor 层和虚拟化基础设施管控接口层目前已经比较成熟。虚拟化基础设施管理层目前比较成熟的开源产品主要有CloudStack和OpenStack。CloudStack的平台成熟度要优于OpenStack,CloudStack的用户体验及安装容易度也都比OpenStack要好,并已在更具生产实际的环境中得到了充分验证。因此资源管理平台选择开源软件CloudStack系统,用于对主机,网络,存储等物理资源的整合和管理,并向运营管理平台提供虚拟化管理的接口。图 2 CloudStack系统架构CloudStack是一个开源的基础设施即服务(IaaS)技术解决方案,并且采用Java语言编写。采用了“框架 插件”的系统构架,通过不同的插件来提供对不同虚拟化技术的支持。比如对于标准的Xen / KVM 计算节点,CloudStack可以在计算节点上安装Agent 与控制节点进行交互;对于XenServer / VMWare 计算节点,CloudStack则通过XenServer / VMWare 所提供的XML-RPC 远程调用接口与计算节点进行交互。表1 CloudStack功能名称CloudStack服务层次IaaS授权协议Apache 2.0许可证不需要动态资源调配主机Maintainance模式下自动迁移VMVM模板支持VM Console支持开发语言Java用户界面Web Console,功能较完善负载均衡软件负载均衡(Virtual Router)、硬件负载均衡虚拟化技术XenServer, vCenter,KVM,Bare Metal最小化部署一管理节点,一主机节点支持数据库MySQL组件Console Proxy VM,Second Storage VM,Virtual Router VM,Host Agent,Management Server网络形式Isolation(VLAN),Share版本问题版本发布稳定,不存在兼容性问题VLAN不能VLAN间互访在CloudStack的系统架构中,硬件设备是指服务器、网络、存储。虚拟化层指的是hypervisor, ESXi,Xenserver,KVM等。CloudStack包含两类节点: 一类称作CloudStack管理服务器:此类节点中的服务器在系统中充当资源管理者的角色。它控制着每个资源节点上的虚拟机资源分配,管理着每个帐户的公网和内网IP地址分配,虚拟硬盘镜像的存储空间分配。提供了管理员和用户访问的web界面,CloudStack平台对外的API接口,是整个云环境配置的中心。下图是一个典型的管理服务器机群架构图 3 管理服务器机群架构另一类节点称作CloudStack资源主机:此类节点是提供虚拟机资源的服务器,包括虚拟机需要的所有CPU,内存,存储和网络资源。各资源主机可以位于不同地理位置的不同数据中心,之间通过高速网络互联互通,可以具有不同的规格(如不同的CPU速度,不同的内存大小等等),一般采用高性能通用的x86服务器,自身相对可靠。服务器需要被分组成资源域(Zones)、机柜(Pods)和集群(Clusters)。图 4 虚拟机、卷、快照、模板的关系图结合图说明一下虚拟机、卷、快照、,模板之间的关系。卷是一个虚拟机的存储单元,可存放虚拟机镜像或数据。卷需要存放于主存储设备上,卷的快照就是对当前卷的拷贝。一个虚拟机必须有一个系统卷,可以附加一个或多个数据卷(类似于EBS),而且不同的Hypervisor的卷格式不同。快照是卷(虚拟机磁盘)的某一事件点的备份,CloudStack只支持卷的快照,还不支持内存和CPU快照。进行快照时不需要停止虚拟机,存放在二级存储上。目前版本的CloudStack提供两种方法恢复快照:一用快照创建卷,挂载到虚拟机上;二用快照创建模板,再用这个模板创建虚拟机。模板是指一种虚拟机磁盘镜像,可以根据它来实例化出一个虚拟机。模板可以预装各种不同的操作系统或应用程序。模板可以从卷创建,也可以从ISO镜像创建,模板存放在二级存储上,并且不同的Hypervisor的模板格式也不相同。3.1.2 MVC架构实现私有云管理平台通过逻辑视图自下而上划分概念分层模型为:“数据库、云操作系统接口层、数据访问层(持久层和适配接口)、业务逻辑层、表现层以及业务支持框架(Struts+Spring)”多层结构:图 5 云平台自服务门户逻辑视图在表现层的页面中,大量运用Ajax和JSON技术。Ajax是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过 Ajax,客户端的JavaScript 能够使用 JavaScript的 XMLHttpRequest 对象来直接与服务器进行通信。因此客户端的JavaScript 可在不重载页面的情况与 Web 服务器之间使用异步数据传输(HTTP请求)交换数据,因而可使网页从服务器请求少量的信息,而不是整个页面,可使Web应用程序更小、更快,更友好。新近热门的JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人类阅读和编写,同时也易于机器解析和生成,它相对于XML的复杂和庞大,因此很容易作为一种理想的数据交换格式,被频繁的应用在客户端与服务器的通信过程中。JSON数据在传递过程中,其实就是传递一个普通的符合JSON语法格式的字符串而已,所谓的“JSON对象”是指对这个JSON字符串解析和包装后的结果。图 6 MVC流程示意图在Struts+Spring的MVC模型中,Struts的Action担当了Model和部分Controller角色。当Struts返回JSON数据到客户端,和传统的WEB应用一样,存在两种方式:在Action中输出JSON数据;在视图资源中输出JSON数据。其中在Action中输出JSON数据又可以细分为两种方式:一是使用传统方式输出自己包装后的JSON数据,二是使用Struts自带的JSON数据封装功能来自动包装并返回JSON数据。本系统所使用的另一个开源框架Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。从大小与开销两方面而言Spring都是轻量的。通过控制反转(IoC)的技术促进了松耦合 。Spring可以方便的在一个XML文件里将简单的组件配置、组合成为复杂的应用。这些特征使开发者能够编写更干净、更可管理、并且更易于测试的代码。Spring+Struts组合是目前成熟度很高的软件框架,尤其适用于开发大型可扩展的Web应用,是MVC这些框架中的佼佼者。Struts2提供了一种非常简单的方式来实现与Spring的整合。在本项目中,采用将Action实例交给Spring容器来负责生成、管理,通过这种方式,可以充分利用Spring容器的IOC特性,提供更好的解耦。3.1.3 异步JOB模式在本项目设计中,有很多的环节会出现当客户作出动作(如创建虚拟机,虚拟机启动、停止,虚拟机快照,小型机启动、停止,服务配置变更,服务退订,资源销毁等等),发出请求后,服务器需要进行一系列大量耗时的处理工作,如果在这些地方采用同步模式,用户会在该环节进行较长时间的等待,直到后台返回此次请求的响应,用户才可以进行后续操作。这种单线程方式的软件在如今会很不人性化,用户体验感也很糟糕,而且一旦出现大规模用户并发请求,对于Web类服务软件,将是一个致命的灾难。因此,为解决此类功能的操作性,出于缓解系统并发压力,提高效率考虑,在本项目中决定采用异步JOB模式处理。对于JAVA而言,异步就意味着多线程。当主线程接收到用户的一个事务请求,只需要另产生一个子线程,该请求就交由子线程去继续完成,而主线程可以继续面对用户,响应用户的下一个请求。如果子线程在运行中发现该功能仍旧很耗时,也同样可以再产生一个自己的下级子线程,如此这般层层嵌套,完全可以由多个线程共同完成用户的一个复杂耗时的事务。3.1.4 jQuery简介云平台的用户界面主要考虑交互的友好性、开源性、开发方便等要素。而jQuery 是一个快速、简单的JavaScript library,它是轻量级的js库,简化了HTML 文件的traversing、事件处理、动画、Ajax 互动,兼容CSS3,还兼容各种浏览器 (IE 6.0+, FireFox 1.5+, Safari 2.0+, Opera 9.0+)。完全能满足本平台的需要,因此选择jQuery作为前端支持库。另外,jQuery可以让开发者使用从CSS 1到CSS 3几乎所有的选择器,以及jQuery独创的高级而复杂的选择器。由于jQuery支持选择器这一特性,所以有一定CSS经验的开发人员可以很容易地切入到jQuery的学习中来。表2 jQuery的基础选择器表名称说明举例#id根据元素Id选择$(divId)element根据元素的名称选择,$(a).class根据元素的css类选择$(.bgRed)*选择所有元素$(*)选择页面所有元素selector1,selector2,selectorN可以将几个选择器用,分隔开然后再拼成一个选择器字符串.会同时选中这几个选择器匹配的内容.$(#divId, a, .bgRed)jQuery的书写特色的莫过于它的链式操作方式即对发生在同一个jQuery对象上的一组动作,可直接连写而无需重复获取对象。如$(#id). attr(selected, true).attr(disabled,disabled)。我们可以使用jQuery选择器选中元素,然后直接给元素添加事件。这种将行为层与结构层完全分离的思想,可以使得jQuery开发人员和HTML或其它页面开发人员各司其职,摆脱过去开发冲突或个人单干的手工作坊式的开发模式。同时,后期维护起来也是非常方便,不需要去HTML代码中去寻找某些函数和重复修改HTML。3.1.5 MySQL数据库作者在选择数据库时,重点考虑到开源、跨平台、功能强大、操作简单等要素,MySQL数据库能满足所有这些要素,因此本系统采用MySQL数据库,MySQL数据库还有如下特征:MySQL 是一个能够提供多用户访问和服务的SQL数据库服务器,它是一个客户机/服务器(C/S)结构的实现。MySQL是最流行的关系数据库之一,与其它数据库管理系统相比,MySQL具有小巧、功能齐全、查询迅捷等优点。MySQL 主要目标是快速、健壮和易用。关键的是它是免费的,可以在Internet上免费下载到,并可免费使用。因此可以节省企业的部署和开发成本。MySQL 能够胜任中小型的企业应用。MySQL可以很好地满足企业应用需求,提供数据库可靠性、安全性、集成性和高性能的支持。3.2 虚拟环境安装在安装前,应选定物理主机并安装上架, 所使用的架构取决于部署的规模和目的。表3 资源池物理机配指表描述最低要求管理服务器 CloudStack3.0.6管理服务器的主机64-bit x86 CPU (多核性能更好)2GB内存
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!