弹性自动伸缩设计文档--信息科技有限公司.docx_第1页
弹性自动伸缩设计文档--信息科技有限公司.docx_第2页
弹性自动伸缩设计文档--信息科技有限公司.docx_第3页
弹性自动伸缩设计文档--信息科技有限公司.docx_第4页
弹性自动伸缩设计文档--信息科技有限公司.docx_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

此文档收集于网络,如有侵权,请联系网站删除自动弹性伸缩设计文档信息科技有限公司文档密级:普通文档状态: 草案 正式发布 正在修订序号版本变更描述修订人审核/日期批准/日期1、1.02、1.13、1.2此文档仅供学习与交流第1章 引言1.1 编写目的 用于描述业务系统应用虚拟机负载的相关功能的设计逻辑及步骤。1.2 名词解析自动弹性伸缩: 为指定的业务系统或者需要弹性资源伸缩的虚拟机组按照既定的伸缩策略和伸缩配置横向添加或者移除虚拟机,以满足业务系统/小组的业务运行。第2章 需求概述2.1 功能描述用户可以为业务系统启动自动弹性伸缩服务,并设置弹性伸缩的触发条件,以及条件触发后弹性伸缩的实现形式。例如:选课系统开启自动弹性伸缩的功能,触发条件为:业务系统平均CPU利用率高于60%(可自定义),若条件被触发,则自动向选课系统中添加B配置的虚拟机N台,并完成IP配置、系统配置、数据库和加入负载均衡等工作,使被添加入的虚拟机能完全自动化的加入到业务系统中承载工作。第3章 自动伸缩设计3.1 自动伸缩策略管理对自动伸缩策略进行管理,增,删,改,查,自动伸缩策略为应用服务器会根据策略配置对负载服务器组的资源进行资源的扩充与回收3.1.1 创建自动伸缩策略为业务系统负载均衡器中某一个应用服务组进行资源扩充与回收的策略配置 操作权限1、 系统管理员具有全局权限。2、 vcenter系统管理员具有本vcenter范围内的权限。3、 VDC管理员具有本VDC范围内的权限。 假定和约束1. 存在业务系统2. 存在业务系统负载均衡器3. 存在业务应用服务组4. 存在应用模板(自动伸缩实例模板),并且状态为未使用 界面说明入口业务管理弹性伸缩策略管理创建策略A伸缩策略基本信息1. 除邮件通知外,其他所有选项必填。2. 业务系统:选择将某业务系统设置为弹性伸缩组。选好业务系统后,自动联动负载均衡和可用的IP地址。3. 负载均衡器:业务系统关联的负载均衡器,没有业务系统,显示为空。4. 负载均衡器组:负载均衡器关联的负载均衡器组,选好负载均衡器后,显示未创建过伸缩策略的服务器组,弹性伸缩的虚拟机自动与加入和移除负载均衡器组。5. 伸缩实例模板:负载均衡器组中应用服务器的模板,选好负载均衡组后,显示负载均衡器组中可用的模板,没有可用模板就显示请选择伸缩实例模板。6. 伸缩实例个数:选择模板后,输入策略需要伸缩实例的个数,最大可伸缩15台;默认1台。7. 伸缩实例规格:当选择模板后,规格会以模板资源进行自动填充设置值,可往大调整,CPU最大不能超过32vCPU,内存最大不能超过32G。往小调整,保存将提示不能小于模板资源。8. 邮件通知:当达到策略的配置阈值时,是否启用邮件通知,可选择是扩充通知,可选是回收通知,只要选择其中的任何一个,策略配置列表中的是否启用邮件通知都将会是已启用;默认不选。9. 可用IP地址:显示业务系统关联下所有IP池的所有可用IP。当可用IP小于伸缩实例个数,保存时将提示可用IP个数小于伸缩实例个数,引导用户前往业务系统添加IP,但这不影响策略配置的保存。B伸缩策略配置a. 基于应用服务器性能监控的动态伸缩策略1. 基于应用性能策略资源监控阈值:平均CPU利用率、平均内存利用率设置扩充和收回策略。扩容设置范围:60%-90%(默认60%),回收设置:15%-40%(默认15%),间隔为5个百分比。达到触发次数设置:连续N次达到监控阈值触发扩充回收。次数:1-8,间隔值为1次(默认3次)。冷却时间:扩容之后需要的时间间隔,才可以回收资源,默认为30分钟,最高为120分钟,间隔为5分钟。释放规则:资源回收的规则,默认从资源最小的虚拟机进行回收。回收的操作有:关闭电源和删除。(关闭的在下次扩容中,直接添加进伸缩组)。默认移除关闭 涉及接口1. 显示业务系统下拉框接口:/busProject/busSysSelect?virCenterCode=1请求方式:GET输入参数:1:全局数据中心CODE输出参数: total : 64, datas : id : 7, virCenterCode : DEFAULT, virType : VMWARE, name : 资产管理, size : 210, busTypeCode : D001007001001002, createUserId : 25, createUserName : 刘云, createDate : 2015-06-10 11:39:52, remark : , state : CLOSE, isFreeze : NORMAL, instsSum : 0, cpu : 0, mem : 0.0, disk : 0.0, busTypeName : 教学资源管理, runTimePoint : null, dangerPoint : null, efficPoint : null, profileId : 59, profileSId : null, isHasLoadBalance : null, lbStatus : null, deptId : null . 2. 显示业务系统负载均衡器接口:/loadbalance/info?loadBalanceId=1请求方式:GET输入参数:1:业务系统负载均衡器ID输出参数: loadbalance : id : 9, lbName : 自动伸缩测试-勿删, lbScaleId : 3, vmId : 5, netWorkId : 391, lbStatus : OK, nginxConf : worker_processes 1;nevents n worker_connections 1024;nntcp nnhttp n include mime.types;n default_type application/octet-stream;n sendfile on;n keepalive_timeout 65;n ssl on;n ssl_certificate /usr/local/nginx/conf/server.crt;n ssl_certificate_key /usr/local/nginx/conf/server.key;n upstream csc n check interval=5000 rise=5 fall=5 timeout=4000 type=ssl_hello;n n server n listen 443;n server_name csc;n location / n proxy_pass https:/csc;n n location /nginx_status n stub_status on;n n location /status n check_status;n n n gzip on;n gzip_min_length 1k;n gzip_comp_level 2;n gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;n gzip_vary on;nn, busProjectId : 169, vmUuid : vm-4863, ip : 11, ipId : 5357, ipPoolId : 96, gateway : , mask : , lbScaleType : max, cpu : null, mem : null, storage : null, nginxPort : null, useNetType : null, connCount : 50000, vmtemplateid : null, lbScaleLable : 大型, busName : 自动伸缩-勿删, nginx_protocol : null, virCenterCode : DEFAULT, virType : VMWARENEW 3. 显示负载均衡器服务组接口:/loadbalance/loadbalanceServerGroup4Select?lbId=1请求方式:GET输入参数:1:业务系统负载均衡器ID输出参数: datas : lbservergroups : id : 37, lbId : 9, lbGroupName : 负载均衡组1, nginxListenProtocol : null, nginxGroupName : sunmnet_1.com, nginxDomainName : null , state : suc, msg : 执行成功4. 显示服务组模板接口:automatic/inst/tmpl/findAtInsTemplateByLbServerGroupId?lbServerGroupId=1请求方式:GET输入参数:1:业务系统负载均衡器服务组ID输出参数: datas : id : 3, name : 模板1343, memory : 4.0, cpu : 4, disk : 104.18, busProjectId : 169, busProjectName : 自动伸缩-勿删, createDate : 2017-02-10 15:45:14, vmwareVmTemplateId : 83, templateStatus : 0, lbId : 6, lbServerGroupId : 37 , state : suc, msg : 执行成功5. 显示业务系统可用IP接口:/busProject/ipAddress4BusProject?busProjectId=1请求方式:GET输入参数:1:业务系统ID输出参数: total : 2, datas : id : 5359, ip : 13, gateway : , netmask : , dns1 : , dns2 : , state : UN_USED, ipPoolId : 98, instId : null, vlanId : 6, ipPoolName : 213, instName : null, virCenterCode : DEFAULT , id : 5360, ip : 14, gateway : , netmask : , dns1 : , dns2 : , state : UN_USED, ipPoolId : 99, instId : null, vlanId : 6, ipPoolName : 214, instName : null, virCenterCode : DEFAULT , state : suc, msg : 执行成功6. 保存伸缩策略配置接口:/automaticTelescopic请求方式:POST输入参数:enlargeCpu:60,enlargeMemory:60,releaseCpu:15,releaseMemory:15,enlargeCpuNumber:3,enlargeMemoryNumber:3,releaseCpuNumber:3,releaseMemoryNumber:3,coolingTimeValue:30,coolingTimeType:,releaseStrategy:REMOVEOFF,atInstanceTemplateId:3,atInstanceNumber:1,atInstanceCpu:4,atInstanceMemory:4,atInstanceDisk:,enlargeDate:2017-02-28 11:56:0,releaseDate:2017-02-28 23:59:0,strategyType:SERVERPERFORMANCE,lbId:9,lbServerGroupId:37,name:ggasd,busProjectId:169,enlargeEmailNotice:true,releaseEmailNotice:true输出参数: state : suc, msg : 执行成功!3.1.2 查询自动伸缩策略显示已创建的自动伸缩策略,可对伸缩组进行伸缩策略名称模糊查询,高级查询可添加业务系统名称模糊查询和伸缩模式进行查询。 操作权限1. 当前用户拥有伸缩策略菜单权限2. 当前用户所拥有伸缩组管理查询权限 假定和约束入口:业务管理自动伸缩策略管理 界面说明入口业务管理弹性伸缩策略管理伸缩策略列表1. 显示当前用户拥有业务系统下所有的伸缩策略。2. 能够根据伸缩策略名称模糊查询。3. 高级搜索中,可根据业务系统模糊查询,可根据伸缩策略类型查询,可三个条件同时进行条件查询。4. 列表名称添加链接,显示伸缩策略详细信息。5. 列表操作按钮为修改、删除6. 列表可进行分页查询。7. 列表表头字段为,伸缩组名称、所属业务系统、伸缩模式、CPU配置(伸缩实例的CPU配置)、内存配置(伸缩实例的内存配置)、释放虚拟机方式、邮件通知、操作。 涉及接口1. 查询伸缩策略列表接口:/automaticTelescopic?index=0&pageSize=6请求方式:POST输入参数:name : 伸缩1,/可选busName : 业务系统1,/可选strategyType : 基于应用性能/可选输出参数: total : 2, datas : id : 16, enlargeCpu : 40, enlargeMemory : 1, releaseCpu : 1, releaseMemory : 1, enlargeCpuNumber : 1, enlargeMemoryNumber : 3, releaseCpuNumber : 3, releaseMemoryNumber : 3, coolingTimeValue : 30, coolingTimeType : , releaseStrategy : REMOVEOFF, atInstanceTemplateId : 4, atInstanceNumber : 1, atInstanceCpu : 4, atInstanceMemory : 4.0, atInstanceDisk : 0.0, enlargeDate : 2017-02-27 14:55:00, releaseDate : 2017-02-27 23:59:00, strategyType : SERVERPERFORMANCE, lbId : 9, lbServerGroupId : 36, name : 测试, busProjectId : 169, enlargeEmailNotice : true, releaseEmailNotice : true, strategyStatus : OK, virCenterCode : null, virType : null, busProjectName : 自动伸缩-勿删, lbServerGroupName : 负载均衡组, atInstanceTemplateName : 啊啊啊 , state : suc, msg : 执行成功3.1.3 修改自动伸缩策略新增完成后的伸缩策略,支持对策略进行部分内容的修改,内容包括一下几项:1. 伸缩策略名称。2. 邮件通知。3. 伸缩策略模式。 操作权限1. 拥有查询伸缩策略权限2. 拥有修改伸缩策略权限 假定和约束1. 伸缩策略名称修改,可修改,但不能与现有其他伸缩策略名称重复。2. 邮件通知,可选择扩充资源通知,可选释放资源通知,可不选择任何通知。3. 伸缩策略模式的修改修改伸缩模式,将原始策略模式所产生的扩容实例全部清除,添加友情提示,提示用户该操作会删除原始策略模式扩容产生的实例资源彻底删除,要求用户确认4. 正在执行中的伸缩策略(状态DOING)不能修改5. 完成修改将模板状态改为已使用 界面说明入口业务管理弹性伸缩策略管理修改修改伸缩策略页面说明保存更改时,界面不需要传递以下信息到后台,因为不对这些信息进行更改:1. 负载均衡器ID2. 负载均衡器组ID3. 伸缩实例CPU4. 伸缩实例内存5. 伸缩实例个数6. 伸缩模板ID7. 业务系统ID 涉及接口1.查询业务系统(显示用户当前拥有的所有业务系统)接口:/busProject/busSysSelect?virCenterCode=1请求方式:GET输入参数:1=数据中心CODE输出参数: total : 64, datas : id : 7, virCenterCode : DEFAULT, virType : VMWARE, name : 资产管理, size : 210, busTypeCode : D001007001001002, createUserId : 25, createUserName : 刘云, createDate : 2015-06-10 11:39:52, remark : , state : CLOSE, isFreeze : NORMAL, instsSum : 0, cpu : 0, mem : 0.0, disk : 0.0, busTypeName : 教学资源管理, runTimePoint : null, dangerPoint : null, efficPoint : null, profileId : 59, profileSId : null, isHasLoadBalance : null, lbStatus : null, deptId : null . 3. 查询伸缩策略信息(查询出策略详情之后,动态设置业务系统下拉框,设置负载均衡器,设置服务组,设置模板)接口:/automaticTelescopic/info?id=1请求方式:POST输入参数:1=伸缩策略ID输出参数: datas : id : 16, enlargeCpu : 40, enlargeMemory : 1, releaseCpu : 1, releaseMemory : 1, enlargeCpuNumber : 1, enlargeMemoryNumber : 3, releaseCpuNumber : 3, releaseMemoryNumber : 3, coolingTimeValue : 30, coolingTimeType : , releaseStrategy : REMOVEOFF, atInstanceTemplateId : 4, atInstanceNumber : 1, atInstanceCpu : 4, atInstanceMemory : 4.0, atInstanceDisk : 0.0, enlargeDate : 2017-02-27 14:55:00, releaseDate : 2017-02-27 23:59:00, strategyType : SERVERPERFORMANCE, lbId : 9, lbServerGroupId : 36, name : 测试, busProjectId : 169, enlargeEmailNotice : true, releaseEmailNotice : true, strategyStatus : OK, virCenterCode : null, virType : null, busProjectName : 自动伸缩-勿删, lbServerGroupName : 负载均衡组, atInstanceTemplateName : 啊啊啊 , state : suc, msg : 执行成功4. 查询业务系统可用IP接口:/busProject/ipAddress4BusProject?busProjectId=1请求方式:GET输入参数:1:业务系统ID输出参数: total : 2, datas : id : 5359, ip : 13, gateway : , netmask : , dns1 : , dns2 : , state : UN_USED, ipPoolId : 98, instId : null, vlanId : 6, ipPoolName : 213, instName : null, virCenterCode : DEFAULT , id : 5360, ip : 14, gateway : , netmask : , dns1 : , dns2 : , state : UN_USED, ipPoolId : 99, instId : null, vlanId : 6, ipPoolName : 214, instName : null, virCenterCode : DEFAULT , state : suc, msg : 执行成功5. 保存修改接口:/automaticTelescopic/请求方式:PUT输入参数:id:16,name:测试,atInstanceNumber:1,enlargeEmailNotice:true,releaseEmailNotice:true,strategyType:SERVERPERFORMANCE,enlargeCpu:40,enlargeMemory:null,releaseCpu:null,releaseMemory:null,enlargeCpuNumber:1,enlargeMemoryNumber:3,releaseCpuNumber:3,releaseMemoryNumber:3,coolingTimeValue:30,coolingTimeType:,enlargeDate:2017-02-28 15:29:0,releaseDate:2017-02-28 23:59:0,releaseStrategy:REMOVEOFF输出参数: state : suc, msg : 执行成功!3.1.4 删除自动伸缩策略对不需要的策略进行删除 操作权限1. 拥有查询伸缩策略的权限2. 拥有删除伸缩策略的权限 假定和约束1. 用户删除伸缩策略会存在策略已经生效并且已经生成了实例,需要用户确认是否删除已经生成的实例,如果用户选择删除,则将当前策略下生成的所有实例进行删除操作,该操作属后台处理,不理会底层删除结果,上层关系将全部清除。2. 正在执行中的伸缩策略(状态DOING)不能删除。3. 删除完成将模板状态修改为未使用 界面说明入口业务管理弹性伸缩策略管理删除伸缩列表中选择一个伸缩策略点击删除,将提示 涉及接口1. 删除伸缩策略接口: /automaticTelescopic?id=+id+&delInstance=+paramObj.delInstance请求方式:DELETE输入参数:id:策略id; delInstance:是否删除实例(boolean)输出参数: state : suc, msg : 执行成功!3.2 自动伸缩实例模板管理自动伸缩实例模板,当完成创建实例模板后,在创建伸缩策略时使用,可创建,查询,删除模板。3.2.1 创建自动伸缩实例模板 操作权限拥有创建实例模板的权限 假定和约束1. 业务系统拥有负载均衡器2. 负载均衡器拥有服务组3. 服务组拥有应用服务器 界面说明入口业务管理弹性伸缩模板管理创建伸缩模板创建模板界面1. 模板名称不能重复2. 业务系统显示当前用户拥有的所有业务系统3. 显示业务系统下负载均衡器所有虚拟机(服务组名称后面加上虚拟机名称) 涉及接口1. 显示业务系统下拉框接口:/busProject/busSysSelect?virCenterCode=1请求方式:GET输入参数:1=全局的数据中心CODE输出参数: total : 64, datas : id : 7, virCenterCode : DEFAULT, virType : VMWARE, name : 资产管理, size : 210, busTypeCode : D001007001001002, createUserId : 25, createUserName : 刘云, createDate : 2015-06-10 11:39:52, remark : , state : CLOSE, isFreeze : NORMAL, instsSum : 0, cpu : 0, mem : 0.0, disk : 0.0, busTypeName : 教学资源管理, runTimePoint : null, dangerPoint : null, efficPoint : null, profileId : 59, profileSId : null, isHasLoadBalance : null, lbStatus : null, deptId : null , state : suc, msg : 执行成功2. 显示业务系统负载均衡器的所有虚拟机接口:serInstance/bus/lb/vms?id=169请求方式:GET输入参数:id=业务系统ID输出参数: datas : id : 6343, virCenterCode : DEFAULT, virType : VMWARENEW, instName : 负载均衡组 csc服务器-test1, ip : 60, mac : 00:50:56:b9:4e:28, instState : START, createDate : 2017-01-10 18:31:08, effictDate : null, remark : null, cpu : 4, cpuCores : 2, cpuSpeed : 9996, memory : 4096.0, disk : 106684.21, usedDisk : 14447.21, uuid : vm-3909, useWayCode : null, serviceId : null, serviceName : null, osTypeId : 4, osVersion : Microsoft Windows Server 2008 R2 (64 位), osType : Windows, userId : 1, userName : 系统管理员(刘畅), busProjectId : 169, busProjectName : 自动伸缩-勿删, displayName : , vlanId : null, hostId : 55, hostName : , deptName : null, departId : null, departCode : null, orderItemId : null, cpuAllocationLimit : null, memAllocationLimit : null, toolsState : INSTALLED, isThinProvisioned : 0, resPooluuid : resgroup-3802, bigDataId : null, bigDataType : null, runTimePoint : 100.0, dangerPoint : 0.0, efficPoint : 86.0, cpuPrecent : 1.0, memPrecent : 5.0, diskPrecent : 0.0, profileId : null, profileSId : null, diskRRate : 0.0, diskWRate : 2.0, nodeName : null, vdcId : null, diskRRequest : 0.0, diskWRequest : 0.0, haveNetNames : vmnic0;vmnic1;vmnic2;vmnic3;vmnic4;vmnic5;4000;, haveDiskId : null, diskGb : 104.18, memoryGb : 4.0, netTotalFlow : 0.0, isLoadBalanceInst : false, virtualNicNum : 1, loginTime : 11689, virUuid : 648d606e-c436-4ea8-91e8-ed9a24c54a52, memorySizeG : 4.0, cpuHotAddEnabledStr : 1, cpuHotRemoveEnabledStr : 0, memoryHotAddEnabledStr : 1, cpuHotAddEnabled : true, cpuHotRemoveEnabled : false, memoryHotAddEnabled : true, usedDiskGB : 14.11, uniqueCode : DEFAULTvm-3909 , state : suc, msg : 执行成功3. 创建模板接口:/automatic/inst/tmpl请求方式:POST输入参数:projectId:169,vmId:6343,vmTmplName:CEHSI输出参数: state : suc, msg : 执行成功!3.2.2 查询自动伸缩实例模板 操作权限 假定和约束 界面说明入口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论