一、前面的废话

一直以来就有在想像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技术支持~~~

转载于:https://blog.51cto.com/rynkin/796989

SCSM 2012Orchestrator 2012 虚拟机自动交付测试相关推荐

  1. Jenkins搭建.NET自动编译测试并实现半增量部署

    @hzl201 2020-04-13 09:26 字数 18724 阅读 3353 Jenkins搭建.NET自动编译测试并实现半增量部署 运维 jenkins 前言 以前写前端项目打包部署,都是手动 ...

  2. 20165219王彦博《基于Cortex-M4的虚拟机制作与测试》课程设计个人报告

    20165219王彦博<基于Cortex-M4的虚拟机制作与测试>课程设计个人报告 一.个人贡献 参与课设题目讨论及完成全过程: 资料收集: 负责环境搭建,代码运行下载: 撰写小组结题报告 ...

  3. github在线执行_什么是Github操作,如何自动执行测试和Slack通知?

    github在线执行 Automation is a powerful tool. It both saves us time and can help reduce human error. 自动化 ...

  4. 自动驾驶测试系列(一):初识自动驾驶 下

    承接 自动驾驶测试系列(一):初识自动驾驶 上 3. 软件平台 自动驾驶的软件也是极其复杂,作为测试人员,大致理解为三层就够了.第一层是系统软件,主要由BSP.操作系统内核以及中间件三部分组成.第二层 ...

  5. AI一分钟 | 张亚勤:保护用户数据安全是百度的第一原则;美国开通全球首条高速自动驾驶测试路...

    整理 | DaivdZh 一分钟AI 张亚勤:保护用户数据安全是百度的第一原则 Uber 收购美国共享单车公司 JUMP,收购价接近 2 亿美元 美国开通全球首条高速自动驾驶测试路,位于密歇根州 G ...

  6. AI一分钟 | 张亚勤:保护用户数据安全是百度的第一原则;美国开通全球首条高速自动驾驶测试路

    整理 | DaivdZh 一分钟AI 张亚勤:保护用户数据安全是百度的第一原则 Uber 收购美国共享单车公司 JUMP,收购价接近 2 亿美元 美国开通全球首条高速自动驾驶测试路,位于密歇根州 G ...

  7. 自动渗透测试工具集APT2

    自动渗透测试工具集APT2 APT2是Kali Linux新增的一款自动渗透测试工具集.它可以进行NMAP扫描,也可以直接读取Nexpose.Nessus和NMAP的扫描结果,然后自动进行渗透测试.在 ...

  8. 25.怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块

    转自:https://blog.csdn.net/wangyj1992/article/details/78387728 因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我 ...

  9. 怎么通过name配置button_利器 | AppCrawler 自动遍历测试实践(二):定制化配置

    终于到了"啥也不干躺在家就能给社会做贡献"的时候,但有梦想的测试人从不会让自己的生活变得无聊!与其宅在家里数瓜子壳,还不如利用整块时间提升测试开发技能! 定制化配置 自动遍历测试技 ...

最新文章

  1. df满足条件的值修改_文科生学 Python 系列 16:泰坦尼克数据 2(缺失值处理)
  2. Python使用xlrd和xlwt读取和写入excel详细教程
  3. spring实现listener(转)
  4. js list添加元素_JS基础与常用函数
  5. Chapter6 Commodity Forwards
  6. 《我的成长》6月下2009年第7期(总第7期)
  7. jQuery心得5--jQuery深入了解串讲1
  8. 不是计算机专业,哪个专业更适合学习web前端
  9. python定义初始化函数_Python 语言定义的Class的初始化函数的函数名是( )
  10. 毕业答辩PPT免费下载
  11. Java内存模型JMM简单分析
  12. 2021年游戏开发中的10大编程语言:C++、Java、C#......
  13. word文档怎么压缩,word文档压缩方法
  14. 计算机常用英语词汇及读音,e发音的单词有哪些
  15. 千月影视admin漏洞
  16. GHOST XP SP3 遐想网络 纯净驱动预览版 2.0
  17. iPad 被锁死后如何恢复出厂设置
  18. 正确判断无人机指向故障 让电子罗盘远离磁干扰
  19. 步进电机c语言驱动原理,《步进电机【驱动电路+C语言驱动程序】》.doc
  20. 微软Live Mail包含重大Bug,可导致用户无法登录,我已经一个多月无法登录自己的邮箱了。...

热门文章

  1. slowquery 慢查询
  2. Collection接口的常用方法
  3. python自动生成excel报表
  4. 技术博客(初用markdown)。
  5. oozie案例——自定义MapReduce workflow
  6. Cocos2d 游戏状态机
  7. Mschat控件示例升级错误处理方法
  8. linux 视频相关资源
  9. 人工智能中对机器学非常简要的介绍
  10. 图像分析:投影曲线的波峰查找