一直以来就有在想像System Center到底能做什么。网上有一个比较早的视频,讲的是SCSM2010和Orchestrator的前身Opalis是如何实现IT运维流程管理和自动交付的:
http://blogs.technet.com/b/servicemanager/archive/2010/11/16/how-to-automate-vm-provisioning-in-20-minutes-using-service-manager-and-opalis.aspx
看完之后,就想试试自己动手在System Center 2012中来实现一下,不过因为最近“不务正业”,不好好干System Center和Private Cloud,跑去协助RDS和NAP的CASE,然后SCVMM部署的时候又碰到两次尴尬,一次是手残想为了方便做群集,好好的一台2008R2被我升级成了Storage2008R2,有个补丁打不上去,无法部署VMM Agent(KB982293这个补丁提示为适用于操作系统);一次是把自己的本子格掉,想省事弄一套环境,把2008R2物理机提升成了DC,同样也部署不了VMM Agent T-T;所以零零碎碎把SCSM、Orchestrator都有过一下,但是一直没有完成系统的测试,也没有实现完整的目标。
今天是第N次准备环境,开始!
资源有限,仍然是只有一台机器:
物理机1台:边界网络上的2008R2 Hyper-V服务器,受虚拟机中SCVMM管理
虚拟机1台:AD\SQL\SCSM\Orchestrator\SCVMM
目标当然就是和视频中一样,实现申请-签核-自动完成虚拟机的部署了,根据之前零零碎碎的实验,System Center 2012里面可是简单多了哦!
实验步骤概述:
1、配置SCSM、ORCHESTRATOR
2、在OC中创建Runbook
3、在SCSM中创建自动活动流程以及变更请求流程
4、通过变更请求完成虚拟机申请及自动交付
System Center Orchestrator 2012 整合包下载:
http://technet.microsoft.com/en-us/library/hh295851.aspx
SCSM 2012 Authoring Tools RC下载:
http://www.microsoft.com/download/en/details.aspx?id=28726&ocid=aff-n-we-loc--ITPRO40886&WT.mc_id=aff-n-we-loc--ITPRO40886
二、初始化配置组件之间相互关联 SCSM连接器配置关联AD,用于同步相应的人员和帐号信息,为SCSM流程与相应人员的结合对应提供基础
在管理―连接器中,创建连接器:
关联Orchestrator,通过与Orchestrator的连接,能够同步Orchestrator中预设好的自动化任务,使其能够很好的和SCSM中的流程管理结合互动:
通过Orchestrator服务器的Web服务地址及服务器的管理员权限连接到Orchestrator.
Web服务地址在RC中为http://<computer>:<port>/Orchestrator2012/Orchestrator.svc
Beta中为
http://<computer>:<port>/Orchestrator.svc
同步Run book所在的文件夹
指定Orchestrator安装时的默认控制台:
完成配置。
说明:在Orchestrator中创建了新的Runbook之后,可以手动进行同步,将Runbook信息更新到SCSM的视图(做为Run Book自动化活动)
Orchestrator管理包配置在Orchestrator导入了相应的OIP(Orchestrator Integration Package)之后,需要为相应的集成包配置关联信息。
首先
在VMM服务器上需要修改执行策略(推荐做法是添加相应的信任凭据而不是下图的关闭执行策略)
还需要开启远程管理:
在Orchestrator的Options中,可以看到安装OIP之后,已经有了相应的选项,选择SC 2012 Virtual Machine Manger,进行配置:
配置需要指定VMM服务器的IP地址及相应的凭据:
连接SCSM
三、创建自动化流程在Orchestrator中,创建一条自动化流程:
逻辑如下:
1、 提供基本的信息(虚拟机的名称,虚拟机的分类大、小)
2、 映射基本信息(将大、小分别对应为具体的磁盘和内存信息)
3、 根据虚拟机的名称,检查虚拟机是否已经存在
4、 根据虚拟机的名称、磁盘要求创建虚拟机
5、 创建之后后,将虚拟机置为关闭状态
6、 修改虚拟机的属性(内存、CPU数量、是否和物理机同步时间)
7、 完成修改后启动虚拟机
创建过程:
在RUNBOOK Designer中新建一个Runbook,名为VMM_Automatic_Demo
添加Runbook Control下的控件,Innitialize Data,用于准备创建虚拟机的参数,双击,在控件的属性中,添加2个参数,在这里我们简单设计为虚拟机的名称,以及虚拟机的类型:
添加Utilities下的控件,Map Published Data,用于将数据映射为VMM所能识别的属性:
在Map Published Data的控件中,添加映射关系,将初始化数据的VMType值,对应为具体的虚拟机参数:
在源数据框,右键,选择数据来源为Published Data:
数据来源为Initial Data的VMType:
指定输出的变量名为 VMDISKTYPE,同时,将WebServer类型对应为 空白磁盘- 小,DataServer类型对应为空白磁盘- 大:
(WebServer、DataServer将是流程中用户选择需要的VMM类型)
可以根据需要,也可以再增加Map Published Data控件,将WebServer、DataServer这些选项再对应到CPU的数量、内存的大小等参数。
准备好基本的数据之后,再增加一个SCVMM的控件Get-VM,用来检查虚拟机是否已经存在(根据虚拟机的名字):
在Get-VM的属性中,选择VMM服务器的配置,增加过滤器为VMName Equal 为Initialize Data控件中的参数VMName:
添加SCVMM控件,Create VM From VHD,从VHD文件创建虚拟机,在创建VM之前,我们还需要为Get-VM与Create VM From VHD控件之间的关系做限定,仅在没有找到同名的虚拟机时才进行创建
双击Get-VM与Create VM From VHD之间的连线,删除默认的结果,returns success,添加条件Get VM的 Number of Objects值为0(表示没有找到VM):
双击Create VM From VHD,打开属性,配置具体的参数:
需要注意VM Name以及Virtual Hard Disk Path分别是来自Initialize Data和Map Published Data的参数,其中,Disk Path路径参考如下:
\\PA01.PALAB.CORP\MSSCVMMLibrary\VHDs\\{VMDISK From "Map Data Published"}.vhd
在Create VM From VHD之后,还可以通过Update VM控件,修改虚拟机的其它配置,比如CPU、内存等信息
更新的VM的ID为上一环节,Create VM from VHD所生成的VM ID:
增加两个属性,CPU数量及内存大小:
最后再通过Start VM控件,启动对应ID的虚拟机:
VM ID同样是Create VM所生成的ID:
到这里,我们就完成了一个简单的Orchestrator自动任务流程,为各控件重命名之后,流程如下:
点击Check In,签入Runbook,使其能够生效。
四、定义SCSM活动流程SCSM可以做为IT服务的工作台,我们将通过SCSM,创建变更请求,经过签核之后,自动调用Orchestrator中定义好的Runbook,实现流程管理和自动化的一个简单演示:
SCSM中的步骤概述:
1、同步Orchestrator,并创建Runbook自动任务模板
2、创建VMM变更请求流程模板,添加签核任务和自动化任务
3、通过SCSM的工作项,提交VMM申请,完成签核,由后台自动完成虚拟机的创建
首先,在SCSM的管理―连接器中,找到Orchestrator连接器,进行同步,将Runbook导入到SCSM中:
同步完成之后,在库-Runbook中,可以看到VMM_Automatic_DEMO已经同步到了SCSM当中:
要使得这个Runbook能够用于自动化流程,我们还需要创建Runbook自动活动模板:
点击完成后,出现详细的配置窗体,可以指定一些描述和定义,同时,记得勾选可用于自动化选项:
创建完成之后,在库-模板下,可以找到基于Runbook所创建的自动活动模板:
在库―模板下,基于变更请求模板,创建一个新的模板CR_RequestVMM_Demo,用于触发一个工作流程:
确定后,进行详细定义:
在变更请求涉及到的活动中,我们希望它是这样的一个过程,签核,然后自动执行,在活动项,添加相应的活动:
在审阅活动中,指定该活动的审核者:
继续添加自动化的活动,即之前创建的RB_VMM_AUTOMATIC_DEMO活动:
在活动的Runbook选项中,可以看到Initialize Data的输入界面,暂时留空,我们希望在提交变更请求的时候提供:
确认,完成VMM变更请求模板的创建。
创建完的相应的一系列模板,现在就可以在实际的SCSM用户的工作项中使用了。
五、通过工作台更改签核申请虚拟机SCSM的工作流使用者,可以在工作项―更改管理中,创建一个新的更改请求:
选择要申请的更改---CR_RequestVMM_DEMO
在活动中,为Runbook自动化活动提供参数,然后确认,提交该请求:
在更改管理---所有更改请求下,可以找到刚刚创建―处于新建状态的更改任务:
稍等片刻,该更改任务会转移到Administrator用户(审阅者)的更改管理---更改请求:审阅中的视图下:
双击请求,在活动中,找到审阅活动,批准该活动:
审阅完成之后,自动进行后续的自动任务:
我们可以在所有更改请求中,找到活动,查看活动执行情况:
可以看到,签核已经完成,目前正在进行Runbook自动化任务,在Orchestrator中,找到对应的Runbook,可以看到,Runbook正在运行:
在SCVMM中,也可以看到正在执行虚拟机的创建任务:
最终创建的虚拟机:
�澹�悲剧的貌似内存填错了,只给了50M。。不过,whatever。。折腾死我了
。。。
六、后面的废话后记:不得不说System Center新的这堆东西真是伤不起啊,东拼西凑凑了8G的内存,勉勉强强做了最简单的一套东西来尝试体验一下,由于条件有限,做起来实在是非常痛苦,有不少想法都没有能够实现,但是应该已经能够感觉到,SCSM加Orchestrator是一个很开放,非常有潜力的平台,能够将相应的IT运维前台流程以及后端的流程自动化很好的结合到一起了,接下来我会再找条件,更多的增加一下自定义的设计,研究一下SCSM Activity和Orchestrator Runbook之间参数传递的更灵活的方式。
PS:最后感谢一下夜心蓝夜大提供的Live Writer技术支持~~~