PowerCLI管理VMware View 4.5:管理虚拟桌面

日期: 2012-02-02 作者:Mike Laverick翻译:李哲贤 来源:TechTarget中国 英文

PowerCLI管理VMware View 4.5:管理虚拟桌面池之前我们介绍了通过PowerCLI管理VMware View 4.5虚拟桌面的一些经验,比如vCenter到View的连接、创建虚拟桌面池与专属虚拟桌面池。现在我们来看看如何管理更多类型的虚拟桌面。   流动虚拟桌面池   在View中还可以创建可流动虚拟桌面池。在可流动模式中,用户随机的从池中获得虚拟桌面,在他们注销后,也同时放弃了对View中该虚拟桌面的所有权,可用于分配给其它用户。

  该思路的目的是仅运行满足峰值时间最高数量虚拟桌面连接需求的虚拟桌面(并发需求)。这样,可以减少空等待用户连接的虚拟机数量,避免对内存和CP……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

PowerCLI管理VMware View 4.5:管理虚拟桌面池之前我们介绍了通过PowerCLI管理VMware View 4.5虚拟桌面的一些经验,比如vCenter到View的连接创建虚拟桌面池专属虚拟桌面池。现在我们来看看如何管理更多类型的虚拟桌面。

  流动虚拟桌面池

  在View中还可以创建可流动虚拟桌面池。在可流动模式中,用户随机的从池中获得虚拟桌面,在他们注销后,也同时放弃了对View中该虚拟桌面的所有权,可用于分配给其它用户。

  该思路的目的是仅运行满足峰值时间最高数量虚拟桌面连接需求的虚拟桌面(并发需求)。这样,可以减少空等待用户连接的虚拟机数量,避免对内存和CPU资源的浪费。

  可流动桌面池的另一选项是可以在用户注销后删除用户虚拟桌面并同时创建另一全新的。这样可以确保用户总是获得一个洁净的、良好运行的虚拟机。

  创建可以在用户注销后删除虚拟桌面的流动池可以在类似的命令中添加– persistence 和–delete策略标识,如下:

Get-ViewVC -serverName vc4nyc.corp.com | Add-AutomaticPool -pool_id Student -displayName "Student Desktop" -namePrefix "student"
-vmFolderPath "NYC DataCenter/vm/Virtual Desktop Pools"
-resourcePoolPath "NYC DataCenter/host/AMD Cluster1/Resources/Virtual Desktops/Student Desktops"
-templatePath "NYC DataCenter/vm/_Templates/win7x64"
-dataStorePaths "NYC DataCenter/host/AMD Cluster1/virtualmachines"
-customizationSpecName "Virtual Desktop Deployment -- Windows 7 Enterprise N -- 64-bit"
-maximumCount 10 -headroomCount 5 -minimumCount 2
- persistence NonPersistent – deletePolicy DeleteOnUse

  -persistence表示该池为流动类型的,-deletePolicy确保用户登出后进行虚拟桌面删除。

  启用链接克隆的虚拟桌面池

  目前为止我所创建的不同类型不同配置桌面池都是采用vCenter模板加入客户定制的标准分发过程。但是还有更为高效的方法,启用VMware“链接克隆”。

  启用链接克隆的桌面池中,View基于父虚拟机创建了称为“副本”的快照,通过各自的差异数据或delta数据保留其独有数据。这些差异可能非常小,所以分发过程会快很多,它有效减少了磁盘占用率,而且不需要采用昂贵的基于阵列的重复数据删除技术。

  创建链接克隆虚拟桌面池可以使用VMPath 和 –parentSnapshotPath参数。

Get-ViewVC -serverName vc4nyc.corp.com | Add-AutomaticPool -pool_id AcctsGroupWin7 -displayName "Accounts Windows 7 Desktop" -namePrefix "acctsdesktop"
-vmFolderPath "NYC DataCenter/vm/Virtual Desktop Pools"
-resourcePoolPath "NYC DataCenter/host/AMD Cluster1/Resources/Virtual Desktops/Accounts Desktops"
-parentVMPath "NYC DataCenter/vm/Parent VMs/winxpSP3-parentVM"
-parentSnaphotPath /AutoPoolSnapshots/parent1_snapshot -datastoreSpecs [Aggressive,os,data]/NYC DataCenter/host/AMD Cluster1/virtualmachines -dataDiskLetter "D" -dataDiskSize 100

  dataDiskLetter 和–dataDiskSize参数可以允许用户控制独立虚拟磁盘的大小,用于组成链接克隆桌面。

  这些虚拟磁盘相关选项可以允许用户重定向,诸如Windows页面文件、用户配置文件等,临时文件到和不同于虚拟桌面磁盘的位置。这些选项还可以实现快速重置用户的虚拟桌面而不丢失用户所做更改。

  有些时候,您可能希望更改虚拟桌面池的一些设置。而add-开头的cmdlets用于增加各种类型的桌面池,结合相关的Update-开头的cmdlets用于桌面池创建后的参数修改,例如Update-AutomaticPool, Update-AutomaticLinkedCLonePool 和Update-ManualPool。

  所以,假设您希望把默认协议从PC over IP修改为微软的RDP,并同时禁止用户在Automatic Pool中选择协议的权力,命令如下:

Update-AutomaticPool -pool_id SalesGroupWin7 -displayName "Sales Windows 7 Desktop"
-dataStorePaths "NYC DataCenter/host/AMD Cluster1/virtualmachines"
-allowProtocolOverride $false -defaultProtocol RDP

  通过View cmdlets删除池也非常简单。您可以把pool从View 中执行run-list或者注销所有现有用户并删除池和所有的虚拟机。

Remove-Pool -pool_id SalesGroupWin7
-DeleteFromDisk $true -TerminateSession $true

  管理用户作业

  在完成虚拟桌面池的创建后,接下来需要把虚拟桌面分配给用户。cmdlets在获取更多关于AD用户和组方面的信息上还有很多局限性。例如,它只能向AD询问关于用户和所在组成员的信息,而不能获取组的信息。所以您所需的真正强大的AD cmdlets是微软的PowerShell才具备的。尽管如此,如果您想通过View cmdlets获取更多关于某个特殊用户的信息,请使用命令:

Get-User -name mikel -domain corp -includeGroup $true

PowerCLI管理VMware View 4.5:管理虚拟桌面

  图9:获取用户信息

  而要把名为MikeL的用户添加给他的个人桌面,使用命令:

Get-User -name mikel –domain corp | Add-PoolEntitlement -pool_id mgl_win7desktop

  (在写本文时,"– corpmikel," "corp/mikel" 和"mikel@corp.com"都提示了错误。我参考的官方文档注明"corpmikel"是可以的,但实际不行。如您上边看到的"name <用户名> -domain <域名>"的方式是可以的。)

  把一组用户分配给某个池,命令语法为:

Get-User -name "Sales Group" –domain corp | Add-PoolEntitlement -pool_id SalesGroupWin7

  如果您希望去除某个特定池的所有权利,使用命令:

PowerCLI管理VMware View 4.5:管理虚拟桌面

图 10: Get-PoolEntitlement -pool_id* :

Get-PoolEntitlement -pool_id SalesGroupWin7 | Remove-PoolEntitlement

  您可以用Get-PoolEntitlement cmdlets生成关于某个池现有所有状态的报告:

Get-PoolEntitlement -pool_id SalesGroupWin7

  如果您需要的是所有池及其分配情况的完整报告,使用"Get-PoolEntitlement -pool_id *"。

  一旦用户连接到虚拟池,您需要获得现有已连接用户列表的信息时如下图11:

PowerCLI管理VMware View 4.5:管理虚拟桌面

图11: Get-RemoteSession -username

  注意“时差”问题,虚拟桌面显示的时间是12:18,而实际上我做屏幕截屏是在13:19。

  您可以发现,View 4.5中加入了一系列PowerShell扩展命令帮助用户管理环境。不足之处在于还没有vSphere 4的VMware PowerCLI中那么完整。不过,算起来已算是开辟了更为开放的用户命令行操作界面。所以还需要进行一些整合帮助vSphere 4 PowerCLI和新的View 4.5界面之间更好地协同工作。

  可以通过Lulu.com下载我最新的指南“Administering VMware View 4.5”获取更多信息,所有稿费将捐献给联合国儿童基金会。

作者

Mike Laverick
Mike Laverick

A professional instructor with over 15 years of experience in technologies such as Novell, Windows and Citrix.

翻译

李哲贤
李哲贤

TT虚拟化特约作者

相关推荐