Windows系统管理员必备的VMware PowerCLI功能

系统 Windows
如果你是一名Windows管理员,最近又承担了接管VMware vSphere 4的任务,那么有一个好消息:PowerShell平台可以管理VMware环境。Windows中的PowerCLI中逐字算有数百个指令集,它们在控制台环境内提供一定程度的功能和不可用控制。

如果你是一名Windows管理员,最近又承担了接管VMware vSphere 4的任务,得知你熟悉且热爱的PowerShell平台也能管理VMware环境一定让你很高兴。

与普通的看法相反,VMware是用来帮助管理员完成工作的,虽然需要时会涉及盗用微软的技术。进入PowerCLI,设置好PowerCLI以便使用,只不过是在现有Windows PowerCLI安装基础上进行“下一步-下一步-完成”的安装。

Windows管理员经常问起的一个问题是他们是否需要学习Linux。我对此的回答是你们真的应该忘掉学习Linux和ESX控制指令这件事。不仅因为一旦ESXi变成VMware标准,那些技术的价值就减少了,还因为ESX控制也没有提供多少指令。相反地,PowerCLI中逐字算有数百个指令集,它们在控制台环境内提供一定程度的功能和不可用控制。

让我们来看看PowerCLI的一些最重要的用途。

使用PowerCLI创建数据中心

关于PowerCLI价值***的一些例子是这些指令集允许你在vCenter里创建对象,当拆卸、重置和重建我的实验平台时,我一直使用这些指令,但它们也可以用来扩展出一个新的虚拟数据中心。

一旦vCenter安装好,你的主要任务将是创建数据中心、集群和资源池。如果你追求连贯性和自动化,你可以通过使用PowerCLI搞定这一切。为了创建一个新数据中心,你需要连接相关的vCenter(Connect-VISServer),然后使用这个新数据中心指令创建数据中心对象。

PowerCLI脚本的***部分只通过一个管理账户连接到vCenter,第二部分建立一个称为“$root”的变量,用来为创建数据中心设置位置,如果获取文件夹指令与非递归转换一起运行,新数据中心的位置将被设置在vCenter树的最上面。如下所示,我的三个数据中心(UpTown、MidTown和DownTown),用该新数据中心指令和-name变量来设置它们的名称是一个简单过程。

connect-viservervcnyc.corp –username corp\administrator –passwordPassword1
$root = Get-Folder –NoRecursion
new-datacenter –location $root -name ‘NYC DataCenter - UpTown'
new-datacenter –location $root -name ‘NYC DataCenter - MidTown’
new-datacenter –location $root -name ‘NYC DataCenter - DownTown'

下面的截图显示了每个命令的结果。

Windows,系统管理员,VMware,PowerCLI功能
图1. 使用PowerCLI传进数据中心对象

用PowerCLI创建集群

当然,你想做的下一件事是开始创建你每个数据中心里的VWware集群,这可以通过新集群指令来完成,这些指令支持许多选项以帮助你轻松配置集群的VMware高有效性(HA)和分布式资源中心(DRS)。在下面的PowerCLI脚本里,我在“NYC DataCenter-Downtown”中创建了一个叫“Cluster”的集群,这聪明的东西真就通过下面的附加参数添加进来了:

new-cluster –location (get-datacenter –name 'NYC DataCenter – 
DownTown') -name 'Cluster' -HAEnabled 
-HAAdmissionControlEnabled –HAFailoverLevel 2-DRSEnabled 
–DRSMode PartiallyAutomated

因此,使用-HAEnabled可以激活集群上VMware的HA和DRS技术,将-HAFailover等级设置为2,表示在虚拟机失效备援停止工作前,我可以承受最多2个ESX主机的损失。这是一个确保在相当数量主机出故障的情况下,系统不会成为超负荷状态的简单方法。

DRS模式参数提供三种选项(半自动、全自动和手动),依次各项提供越来越多的自动化。例如,当虚拟机开机后,半自动选项会允许集群决定VM运行在那个ESX主机上。请记住,管理员仍然会接到通知说,何时DRS会认为移动VM并基本控制集群移动对话框的主要DRS部分上的单选框是个好主意。

Windows,系统管理员,VMware,PowerCLI功能
图2. VM集群设置的自动级别

用PowerCLI创建资源池

也许下一阶段便将是在VMware集群上定义资源池了。正如你所知道的,VMware资源池是一种收集VMware集群大资源及把它们分割成便于管理单元的方法。为每个应用类型(比如活动目录域控制器,还有SQL服务器等)创建一个资源池很常见。通过使用新的-resourcepool指令便可使其自动化,正如我们使用的其它指令,这个也需要设置位置参数,并创建该资源池的名称。重复此过程你就创建了所需的所有资源池。

new-resourcepool –location (get-datacenter –name 'NYC DataCenter - DownTown' | get-cluster –name 'Cluster') -name ‘Web Servers’
new-resourcepool –location (get-datacenter –name 'NYC DataCenter - DownTown' | get-cluster –name 'Cluster') -name ‘Database Servers’

用这种方式使用PowerCLI的有趣在于,在创建资源池之前,你通常将需要的ESX主机添加在集群上,但是通过PowerCLI你能在添加ESX主机之前创建你的资源池。下面是PowerCLI如何执行那些vSphere客户端通常拒绝任务的好例子。

Windows,系统管理员,VMware,PowerCLI功能
图3. 使用PowerCLI创建资源池

通过PowerCLI添加ESX主机

管理员接下来要执行的一个大任务涉及往集群上添加ESX主机,这可以通过在PowerCLI中的add-vmhostcmdlet指令来完成。

add-vmhost esx1.corp.com -location (get-datacenter –name 'NYC DataCenter- DownTown'| get-cluster–name 'Cluster') -user root –password Password1 -force

通过一起使用get-datacenter和get-cluster指令,我们可以明确指定vCenter中的一个对象为ESX主机将被添加到目录中的正确位置。把它们添加到HA集群上也会触发HA代理到ESX主机的启动。

这里,-force参数是用于接收安装ESX主机过程中生成的默认SSL证书,如果没有-force参数,为了成功添加ESX主机到vCenter上,你需要完全信任SSL证书;否则任务将失败,并出现错误提示“由于正在使用自签SSL证书,认证指定主机授权无效。”

Windows,系统管理员,VMware,PowerCLI功能
图4.添加ESX主机到集群中

正如你所看到的,PowerCLI的功能非常强大,它的价值体在于能够简易地自动执行任务。如果你掌握了Windows PowerShell基础,学会VMware中的附加指令相对比较容易。

年复一年,VMware加入更多的指令让你的日常管理工作生活更加轻松,但如果你愿意,你也可以超越那些指令走得更远。PowerCLI可以通过一个网络服务器引擎和VMware的SDK结合使用,这样,实际上你在vSphere客户端执行的所有任务都可以通过SDK用PowerCLI自动执行。VMware推出的新PowerCLI版本可以让你通过一个简单的指令进入所需要访问配置选项,但在那之前,上述方法是一个很好的的选择。

原文:http://www.searchsv.com.cn/showcontent_44985.htm

【编辑推荐】

  1. 教你如何个性化PowerShell环境
  2. 替代活动目录管理的PowerShell命令
  3. Windows中的脚本技术-Windows Powershell
责任编辑:yangsai 来源: TT中国
相关推荐

2013-03-30 21:59:13

系统管理员必备工具iftop

2011-10-20 10:29:22

VMwareVMworld虚拟化

2012-11-01 11:33:11

IBMdw

2013-02-21 11:13:19

2013-02-28 09:06:04

2018-08-01 08:12:34

Linux管理员网络管理

2018-08-15 14:00:18

LinuxBash系统管理员

2013-06-26 09:29:30

系统管理员

2013-09-29 09:50:21

系统管理员Ubuntu JujuJuju

2010-04-12 09:33:58

系统管理员

2010-08-10 09:13:52

Unix系统管理员Ubuntu

2010-08-11 17:11:15

2019-09-09 14:45:29

系统管理员SRE

2010-05-06 18:07:33

Unix命令

2010-05-07 16:35:44

2019-08-13 19:34:45

容器镜像DockerLinux

2011-06-16 09:35:28

系统管理员iPad应用

2012-09-25 10:17:08

Linux服务器系统管理员服务器

2010-11-11 13:26:55

2013-08-20 10:11:20

Go系统管理员
点赞
收藏

51CTO技术栈公众号