在第5节中,我们配置了SMA服务。

传送门:构建Azure Pack云5—构建SMA:http://yaojiwei.blog.51cto.com/762134/1417008

 

SMA,即服务管理自动化(Service Management Automation)。

通过SMA我们可以通过Powershell脚本,或者Orchestrator的Runbook来实现自动化管理。

下面通过几个例子,我们来看下怎么来实行自动化管理。

 

1. 进入Orchestrator的Runbook Designer,简单创建一个test的Runbook如下:

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第1张图片

初始化数据中添加2个参数,如图。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第2张图片

发送时间日志引用初始化数据的参数。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第3张图片

最后点击签入。

clip_p_w_picpath007

 

2. 现在我们进入WAP管理员门户,添加SMA连接凭据

首先打开自动化,选择资产—添加设置

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第4张图片

我们选择添加凭据

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第5张图片

选择powershell凭据,并定义名称。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第6张图片

输入用户名和密码并确定后,就能创建资产凭据了。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第7张图片

 

3. 现在进入新建窗口,选择Runbook,输入名称和标记。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第8张图片

创建成功后,可以到Runbook标签中找到刚才创建的Runbook。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第9张图片

点击进入Runbook后,进入草稿,准备编辑脚本。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第10张图片

我们尝试输入以下脚本,并点击调试。

workflow Runbooktest1
{
    $SCOserverName = "sc-sco.scdemo.local" 
    $PSCredName = "scadmin" 
    $PSUserCred = Get-AutomationPSCredential -Name $PSCredName 
    $MyRunbookPath = "\test1\test1"   
    
    # Get the url for the Orchestrator service  
    $url = Get-OrchestratorServiceUrl -Server $SCOserverName
    # Get a Runbook by Path and Name  
    $runbook = Get-OrchestratorRunbook -serviceurl $url -runbookpath $MyRunbookPath -
credentials $PSUserCred   
     
   #Provide the Initialize Data activity parameters:
    $RBParamsAndVals = @{
    "pa1" = "Runbook"
    "pa2" = "is okay!"
} 
 
# Get the url for the Orchestrator service
$url = Get-OrchestratorServiceUrl -Server $SCOserverName
 
# Get a Runbook by Path and Name
$Runbook = Get-OrchestratorRunbook -serviceurl $url -credentials $PSUserCred -RunbookPath
$MyRunbookPath 
 
#Correlate the Initialize Data parameters with our values
[hashtable] $paramsTable = @{}
foreach ($key in $RBParamsAndVals.Keys)
    {
     foreach ($param in $runbook.Parameters)
           {
            if($Param.Name -eq $Key)
                {
                 [hashtable]$paramsTable.Add($param.Id,$RBParamsAndVals[$key])
                }
            }
    } 
 
# Start the runbook
$job = Start-OrchestratorRunbook -runbook $runbook -parameters $paramsTable -credentials
$PSUserCred
# Show the Runbook job information
$job

}

注意以下需要更改成自己服务器信息:

$SCOserverName:Orchestrator服务器FQDN

$PSCredName: 连接凭据

$MyRunbookPath:Runbook的路径

$RBParamsAndVals:自定义参数值

输入完成后,我们点击测试按钮。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第11张图片

发现调试成功。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第12张图片

我们来看下输出窗格,状态显示已完成,并且可确认状态信息。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第13张图片

 

4. 现在我们到事件信息中查看,可以发现事件已成功生成。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第14张图片

 

5. 测试成功后,我们可以发布这个Runbook。

发布后可以到Runbook状态栏查看发布状态,并且可以启动、导入和导出Runbook。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第15张图片

 

6. 到计划日程中,可以添加启动计划。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第16张图片

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第17张图片

 

7. 现在转到VM云的自动化中,就可以设置自动化任务了。

比如设置当VMM VirtualMachine创建时启动指定Runbook。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第18张图片

 

8. 最后,我们来绑定实例1创建的Runbook试试:

传送门:实例1—构建自服务私有云5—SCO Runbook: http://yaojiwei.blog.51cto.com/762134/1397637

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第19张图片

因为这里有5个自定义参数

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第20张图片

所以我们把参数调用这里的代码相应改下。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第21张图片

具体的代码就不贴出了,最后可以到作业中查看作业结果。

System Center 2012 R2实例2—构建Azure Pack云18—Runbook_第22张图片

有了SMA,通过Runbook的灵活调用,可以使我们的管理可以更自动化、多样化。

 

最后转帖下所有可以调用SMA中Runbook的对象,每个对象基本都用创建、删除、更新等操作。

MicrosoftCompute CloudService

表示用于 VMRole 的容器。可在 CloudService 下创建多个虚拟机角色。

MicrosoftCompute VM

表示虚拟机角色内的子虚拟机。

MicrosoftCompute VMRole

表示对等虚拟机节点的可伸缩层

MicrosoftCompute VMRoleVMDisk

表示附加到 VMRole 的磁盘。

SPF Orchestrator Event Registration

在 API 中的事件和关联自动化之间创建映射的对象。

SPF Role

表示映射到 VMM 中的 SSU(自助服务用户)的用户角色。

SPF Server

表示已向 SPF 注册的任何服务器。

SPF SpfSetting

表示针对数据库连接的连接字符串,或者表示针对与 Operations Manager 数据仓库的门户终结点连接的连接字符串。

SPF Stamp

表示 VMM 服务器或戳记

SPF Tenant

表示一个租户并且在每次创建租户时创建。

SPF TrustedIssuer

表示用于基于声明的身份验证的信任方。

SPF VM

表示虚拟机对象。

SPF VMRole

表示虚拟机角色对象。

SPF VMRoleGalleryItem

表示一个库项对象,该对象使用可创建的多节点虚拟机层封装模板。

Subscription

表示每次租户订阅计划时创建的订阅对象

VMM BGPPeer

表示边界网关协议

VMM HardwareProfile

表示 VMM 中定义虚拟机的硬件属性的硬件配置文件

VMM Job

表示 VMM 中的任务并且指示 VMM 中的操作状态。

VMM NATConnection

表示 NATRule 对象的容器。

VMM NATRule

表示虚拟机网络的入站端口映射规则。

VMM RunAsAccount

表示 VMM RunAs 帐户。

VMM Service

表示 VMM 服务。

VMM ServiceTemplate

表示一个 VMM 服务模板。

VMM StaticIPAddressPool

表示 VMM 静态 IP 地址池。

VMM UserRole

表示 VMM 用户角色。用户角色可以是自助服务用户、租户管理员或管理员。该对象可用于应用权限和范围。

VMM VirtualDiskDrive

表示 VMM 虚拟磁盘驱动器。

VMM VirtualDVDDrive

表示 VMM 虚拟机 DVD 驱动器。

VMM VirtualMachine

表示独立虚拟机对象。

VMM VirtualNetworkAdapter

表示 VMM 虚拟网络适配器 (vNIC)。

VMM VirtualSCSIAdapter

表示 VMM 虚拟 SCSI 适配器。

VMM VMCheckpoint

表示 VMM 检查点。

VMM VMNetwork

表示虚拟机网络或虚拟网络。使用虚拟网络适配器 (vNIC) 将虚拟机连接到虚拟机网络。

VMM VMNetworkGateway

表示 VMM 网络网关。网关允许在虚拟机网络上配置边界网关协议、NAT 和 ×××。

VMM VMSubnet

表示虚拟机子网并且定义虚拟机网络内的子网范围。

VMM VMTemplate

表示用于创建虚拟机的 VMM 虚拟机模板。

VMM ×××Connection

表示 VMM ××× 连接。它映射到门户中的站点到站点 ××× 连接。它允许虚拟机网络上的虚拟机远程连接到其他站点。

VMM ×××NetworkRoute

表示 VMM ××× 网络路由器。路由器允许虚拟机网络上的虚拟机能够定位 ××× 连接的其他端的远程网络上的其他计算机。