PowerShell cmdlets增强Win Server故障转移群集管理

系统 Windows
如果你管理Windows故障转移群集,你会发现安装Windows Server 2012故障转移群集之后,Cluster.exe CLI 命令没了。这些年,系统管理员们一直使用Cluster.exe脚本创建集群、转移故障转移组、修改资源属性和解决集群宕机问题。是的,Cluster.exe命令仍在远程服务器管理工具(RSAT)中。但不是默认安装。

如果你管理Windows故障转移群集,你会发现安装Windows Server 2012故障转移群集之后,Cluster.exe CLI 命令没了。这些年,系统管理员们一直使用Cluster.exe脚本创建集群、转移故障转移组、修改资源属性和解决集群宕机问题。是的,Cluster.exe命令仍在远程服务器管理工具(RSAT)中。但不是默认安装。

  你可能会在Windows Server 2012中发现任务栏上的PowerShell和Server Manager图标,但可能会疏忽Windows Server 2012操作系统默认安装的是Server Core,包含2300多个PowerShell cmdlet。微软明确表明了,就像其他任何数据中心服务器一样,可以远程或者使用脚本管理Windows服务器。在Windows中,意味着PowerShell。

  幸运的是,Windows Server故障转移群集对PowerShell来说不再陌生了。Windows Server 2008 R2 中就有69个群集相关的PowerShell cmdlet协助配置集群、组织和资源。本文探讨Windows Server 2012故障转移集群中的新PowerShell cmdlet。

  Windows Server 2012中,总共有81个故障转移群集cmdlet可以用来管理PowerShell组件。新的群集cmdlet可以执行群集资源注册表检查点(Add-ClusterCheckpoint)、监控虚拟机服务故障(Add-ClusterVMMonitoredItem)和配置两个新角色:Scale-Out File Servers(Add-ClusterScaleOutFileServerRole)和iSCSI Target Server (Add-ClusteriSCSITargetServerRole)。

图1. Windows PowerShell ISE帮助管理员熟悉故障转移集群cmdlets 

图1. Windows PowerShell ISE帮助管理员熟悉故障转移集群cmdlets

  图1中,使用PowerShell cmdlet“Get-command –module FailoverClusters”列出了所有的故障转移群集cmdlets。我正在使用内置的Windows PowerShell脚本集成环境(ISE)编辑器,它可以帮助管理员们熟悉所有的故障转移群集cmdlets。

  除了故障转移群集cmdlets之外,微软还有一些新的PowerShell cmdlets模块,包括ClusterAwareUpdating(17个新cmdlets)、ClusterAware ScheduledTasks(19个新cmdlets)和iSCSITarget(23个新cmdlets)。还有很多群集识别更新 cmdlets,比如Add-CauClusterRole(添加CAU角色)、Get-CauReport(获得更新报告)以及Invoke-CauRun(调用执行扫描和安装任何新的更新)

  群集识别任务调度是Windows Server 2012的新功能,并且任务调度程序目前与故障转移群集集成。一个调度任务可以以下面三种方式运行:

  • ClusterWide on all cluster nodes
  • AnyNode on a random node in the cluster
  • ResourceSpecific on a node that owns a specific cluster resource

  新的ScheduledTasks cmdlets创建一个群集识别调度任务。在表格中,你可以看到cmdlets可以注册、获取和设置集群预定任务属性。

在表格中,你可以看到cmdlets可以注册、获取和设置集群预定任务属性。

  想要使用这些PowerShell cmdlets,首先你要指派一个动作和Trigger变量。这个动作变量指定执行程序,比如下面例子中的Windows计算器。Trigger变量在执行任务前设置。生成的cmdlets安排群集中的任务在每天14:00执行,就像下面这样:

 

  1.   PS C:\> $action = New-ScheduledTaskAction –Execute C:\Windows\System32\Calc.exe  
  2.  
  3.   PS C:\> $trigger = New-ScheduledTaskTrigger -At 14:00 –Daily  
  4.  
  5.   PS C:\> Register-ClusteredScheduledTask -Action $action -TaskName ClusterWideCalculator -Description "Runs Calculator cluster wide" -TaskType ClusterWide -Trigger $trigger  
  6.  
  7.   TaskName TaskType  
  8.  
  9.   -------- --------  
  10.  
  11.   ClusterWideCa... ClusterWide  
  12.  
  13.   PS C:\> 

图2. 在Task Scheduler中,管理员可以浏览所有的群集任务
图2. 在Task Scheduler中,管理员可以浏览所有的群集任务

  但是,只有PowerShell能用来注册、获得/设置和注销群集识别调度任务。你可以在Computer Management中使用Task Scheduler浏览群集任务(图2)。

图3.管理员以使用新的iSCSI Target cmdlets配置iSCSI LUNs 

图3.管理员以使用新的iSCSI Target cmdlets配置iSCSI LUNs

  ***,可以使用高可用的iSCSI Target Server配置故障转移群集。使用Install-WindowsFeature –name FS-iSCSITarget-Server(或使用Server Manager)安装iSCSI Target Server角色。然后使用新的cmdlet Add-ClusteriSCSITargetServerRole创建iSCSI Target资源并产生共享存储。然后,你可以使用新的iSCSI Target cmdlets配置iSCSI LUNs(图3)。

  Windows Server 2012中的PowerShell cmdlets完全可以帮助你管理你的故障转移群集。除了创建、配置和解决群集问题,你还可以使用PowerShell cmdlets添加新的扩展文件服务器、iSCSI Target Server角色、集群调度的任务和Cluster-Aware Updating。

责任编辑:黄丹 来源: TechTarget中国
相关推荐

2009-02-03 17:50:03

服务器虚拟化VMware

2010-07-08 10:53:09

Windows Ser故障转移群集

2010-07-05 12:16:03

SQL Server

2012-07-10 09:50:55

SQL Server

2014-05-04 13:22:28

Windows Ser故障转移

2011-08-24 16:25:08

SQL Server 故障转移群集

2012-11-29 13:43:36

Hyper-V

2010-10-26 09:57:44

Windows Pow

2011-11-24 09:26:57

虚拟化XenDesktop PowerShell

2010-12-29 13:36:17

Windows Ser

2016-01-05 16:15:21

Hyper-V Ser

2010-10-28 14:29:03

PowerShellServer2008

2012-05-11 11:37:21

Win8硬盘

2009-04-16 15:44:10

可管理性SQL Server

2015-07-23 13:43:43

vSphereHA虚拟化

2012-07-03 11:38:32

FacebookHadoop

2010-07-08 11:15:37

SQL Server数

2018-07-04 14:02:54

虚拟机存储访客

2010-10-25 15:45:00

PowerShell命

2017-01-23 17:34:28

点赞
收藏

51CTO技术栈公众号