不要反对其他虚拟化平台进入您的数据中心。企业通常需要降低成本或需要寻找替代解决方案,而IT专业人员在管理异构虚拟环境时经常面临挑战。不要让这个挑战超过必要。作为IT专业人士,您应该专注于统一的管理平台,降低学习曲线,并始终保持在异构数据中心控制大量系统的灵活性。图形管理工具是答案吗?在了解了不同厂商的虚拟化平台之间的差异之后,您面临的挑战是如何管理这些平台。您不想在不能满足您需求的工具上浪费时间和投资成本。许多IT专业人员首先倾向于找到一个GUI工具来帮助他们管理整个异构数据中心。图形工具有它们的优点:它们易于使用,包括复杂任务的向导,并提供图形表示。许多虚拟化平台供应商,如VMware和微软,都推出了GUI管理工具来帮助管理其他供应商的产品。这些工具提供统一的界面,减少混乱和培训成本,第三方管理产品也提供相同的功能。虽然它具有统一界面的优点,但在使用GUI管理工具时应考虑到一些缺点:?只能执行厂商开发的GUI管理任务,难以执行未开发的任务。?当一家供应商试图通过图形界面管理另一家供应商的产品时,就会出现跨平台管理问题,并且存在无数限制。?图形管理工具通常不能提供太多的自动化,任务必须重复多次。?当需要时,在客户端上安装GUI工具并不总是那么容易。权衡特定图形管理工具的优缺点需要时间和测试。图形工具通常就是这种情况。然而,作为一名需要跨多个平台工作并需要自动化的IT专业人员,我不想在限制我才能的工具上浪费时间。最强大的选项存在于功能和灵活性方面。我专注于使用PowerShell而不是浪费时间研究图形管理工具。在您开始生我的气之前,让我举个例子列出PowerShell的一些优缺点。PowerShell可跨多个虚拟化平台工作。cmdlet可用于大多数流行的虚拟化平台,包括VMware(PowerCLI)、Microsoft(SCVMM和Hyper-V)和Citrix(XenDesktop)。PowerShell提供了足够的灵活性来处理企业需要的所有问题。告别使用GUI工具时存在的限制,您可以使用自动化来消除使用图形工具时经常执行的重复性任务。自动化还消除了人为错误的可能性。当然,使用shell和PowerShell等脚本语言也有缺点。您可以向任何有经验的Unix管理员寻求建议,学习和使用这些工具可能很困难并且需要付出很多努力。那里有一些很好的资源——包括书籍、视频和培训课程——但你需要坐下来练习,而不仅仅是收集信息。使用PowerShell需要一些研究。并非所有问题都可以通过几个简单的命令来解决。很多时候,您需要研究问题并编写脚本来解决它。有时候泡在MSDN网站可能要好几个小时,还需要学习开发技巧。您无需成为全能开发人员,但您确实需要学习脚本编写和编程技能。一旦您了解哪种管理工具更适合您的组织和虚拟环境,许多IT专业人员就会选择PowerShell来管理异构数据中心。跨平台管理入门以下示例说明了PowerShell可以通过在PowerShell命令提示符下输入命令来提供的一些功能。首先,PowerShell通过加载多个模块而不是提供额外的cmdlet来提供灵活和可扩展的管理功能。如果厂商已经创建了相应的模块,并且您已经在本地计算机上安装了这些工具,那么您就可以加载并使用这些模块来管理异构数据中心。以下示例说明了如何加载用于管理VMware的cmdlet:PS>Add-PSSnapinVMware*您可以加载多个模块并为多个产品创建自动化管理脚本。在下面的示例中,我加载了VMware和MicrosoftSCVMMcmdlet。请注意:当多个供应商使用相同的cmdlet名称时可能会发生冲突。如果cmdlet属于一个模块,Import-Modulecmdlet提供了一个参数-prefix,通过在cmdlet前加上前缀可以避免冲突:PS>Add-PSSnapinVMware*PS>Import-Module–NameVirtualMachineManager-PrefixMS通常我不不想在我的电脑上安装管理工具就可以了。PowerShell具有PowerShellRemoting功能,允许您借用服务器上已安装的cmdlet。这些cmdlet出现在您的计算机上,就好像它们安装在您的本地计算机上一样,或者更准确地说,作为安装在远程服务器上的cmdlet的快捷方式。以下示例为VMware、Citrix和SCVMM调用远程cmdlet。但是,在您进行实验时,并非所有供应商都为此计划,您可能会发现某些cmdlet不起作用。#VMware$VWsession=New-PSSession-ComputerName"NameOfVMWareServer"调用命令会话$VWsession-ScriptBlock{Add-PSSnapinVMware*}Import-PSSession-Session$VWsession-ModuleVMware*-PrefixVW#Citrix$CXSession=New-PSSession-ComputerName"NameOfCitrixZenDesktopServer"Invoke-Command-Session$CXSession-ScriptBlock{Add-PSSnapinCitrix*}Import-PSSession-Session$CXSession-ModuleCitrix*-PrefixCX#MSSCVMM$MSsession=New-PSSession-ComputerName"NameOfSCVMMServer"调用命令S–Ses-ScriptBlock{Import-Module–NameVirtualMachineManager}Import-PSSession-Session$MSsession-ModuleVirtualMachineManager-PrefixMS如果您已经开始使用PowerShell,希望本文能为您在多虚拟化平台管理方面提供一些思路。如果您还没有使用过PowerShell,是时候考虑使用这个工具来实现灵活性和最大程度的自动化了。
