logo资料库

VMware脚本(PowerCLI)管理手册.pdf

第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
资料共44页,剩余部分请下载后查看
VMware脚本与命令(PowerCLI)管理手册
PowerCLI入门
如何使用VMware vSphere PowerCLI?
五大必备vSphere PowerCLI脚本
PowerCLI使用与管理
PowerCLI:使用Get-VM来管理虚拟机
使用PowerShell与PowerCLI自动化主机服务器任务
巧解PowerShell与PowerCLI难题
使用vSphere PowerCLI创建host profiles
在vSphere PowerCLI PowerShell界面使用host profiles
PowerCLI技巧
用VMware PowerCLI脚本来定制SRM恢复计划
借助PowerCLI配置标准交换机
VMware脚本和命令
免费的VMware脚本和命令行工具
ESX与ESXi管理员必备25个命令
VMware 脚本与命令 (PowerCLI)管理手册
VMware 脚本与命令(PowerCLI)管理手册 由于 VMware 是个成熟的虚拟化平台,所以它拥有几个自带的和第三方的管理选项。 图形用户界面 GUI 提供了直观的、概念上的管理 VMware 环境的方式,但这些对于大型或 者重复的任务来说就略有不足。如大量贮藏和虚拟机配置这些任务最好使用 VMware 脚本 和命令套件。在本期虚拟化技术手册中,我们将详细介绍 VMware 脚本和命令工具,如 PowerShell 与 PowerCLI,以便有效监控 VMware 环境。 PowerCLI 入门 VMware 管理任务是一项耗时和易出错的工作。但是 vSphere PowerCLI 的扩展,可以 帮助管理员完成一些控制工作。本部分将探究 VMware 脚本工具 PowerCLI 的概念以及其中 五个比较重要的脚本。  如何使用 VMware vSphere PowerCLI?  五大必备 vSphere PowerCLI 脚本 PowerCLI 使用与管理 如果您刚刚开始应用 PowerCLI 管理 VMware 环境,需要学习的内容很多。首先,最常 见和最重要的 cmdlets 是 Get-VM。那么它该如何使用?如何设置能自动化主机服务器任务 呢?要创建 host profiles,PowerCLI 能做些什么?这部分中,我们 TecgTarget 中国的 特约作者 Hal Rottenberg 将详细介绍 PowerCLI 的使用与管理技巧。  掌控 PowerCLI:使用 Get-VM 来管理虚拟机  使用 PowerShell 与 PowerCLI 自动化主机服务器任务 TT 虚拟化技术专题之“VMware 脚本(PowerCLI)管理手册” Page 2 of 44
 跳出框外 巧解 PowerShell 与 PowerCLI 难题  如何使用 vSphere PowerCLI 创建 host profiles?  在 vSphere PowerCLI PowerShell 界面使用 host profiles PowerCLI 技巧 如何把 VMware PowerCLI 脚本功能应用到 VMware SRM(Site Recovery Manager)恢 复计划中?如何借助 PowerCLI 配置标准交换机?本部分将给出解决方法与步骤。  如何用 VMware PowerCLI 脚本来定制 SRM 恢复计划  VMware 管理员必备:借助 PowerCLI 配置标准交换机 VMware 脚本和命令 无论是使用 VMware ESX 还是 ESXi,VMware 命令行和脚本——如 vMA、Power CLI 和 vSphere Health Check——都可以辅助配置虚拟机、更好地管理 VMware vSphere 基础架 构和通过命令行自动完成管理工作。  最佳免费的 VMware 脚本和命令行工具介绍  ESX 与 ESXi 管理员必备 25 个命令 TT 虚拟化技术专题之“VMware 脚本(PowerCLI)管理手册” Page 3 of 44
如何使用 VMware vSphere PowerCLI? 尽管我要再次申明乏味的 VMware 管理任务是一项耗时和易出错的工作。但是 vSphere PowerCLI 的扩展,可以帮助管理员完成一些控制工作。在这篇文章中,TechTarget 中国 的特约虚拟化专家 Hal Rottenberg 将探究 VMware 的这个脚本工具是如何帮助我们自动地 完成管理任务的。 作为一名拥有多年经验的系统管理工程师,我认为,管理员的主要工作(除了那些没 有显示屏也不需要人员值守的环境)就是通过移动鼠标或者在键盘上键入指令来完成人机 交互的过程。您可能此时会有疑问,这有什么问题吗?我要告诉你的是,这会导致很多的 问题发生。首先,阐明几件作为 VMware 管理员都会面对的事情。  我们的工作需要非常的细致  重复工作会导致人为错误发生,而且  无论您的输入速度多么快,计算机总是更快 我想以上的这些情况是大家都认可的事实,无论在什么情况下,作为一名计算机用户 都要面对的操作。和我们需要完成的任务是什么而无关,对吧?接下来让我们回到之前的 假想环境来说明为什么这个问题会困扰我们。需要指出的,最关键的一点是由于自动化或 者是缺少自动化而引起的。 为什么是自动化? 人类创造了计算机用于解决问题。通常讲,您的工作是基于其他的开发者进行的(开 发者很多时候也是问题的创造者,他们发现了问题,但没有让问题一直遗留)。开发人员 希望通过提供底层的指令系统来解决问题,同时提供给上层使用者一个更高层的和计算机 交互的接口和工具。我知道这些都是最基本的理论,请跟着我的思路继续。 有一个非常流行的设想:系统管理员所需要的,仅仅是最上层的接口程序,所有的内 脏都隐藏在那些漂亮的图形界面接口(GUI ,graphical user interfaces )后面。例 如,让我们以 vSphere client 来举例说明。我喜欢这个应用,因为它可以很好的工作并 解决问题。但是如果您需要改变十二台虚拟机的端口设置时我们需要怎么完成?让我来为 您做一道算术:每台虚拟机的设置需要点击六次鼠标,总共需要重复这个无聊的鼠标点击 动作 72 次。这种无聊的重复过程可能并且经常会导致人为错误的发生。无论您点击得有 多快,都需要有您的眼睛跟踪 GUI 控制界面的时间和通知您的大脑把鼠标移动到正确地点 的时间。所有的这些工作如果某次点击出现了几个象素的偏差,可能会使您选择一个错误 的网络。 我想说到这里您应该明白我想说什么了。我有更好的解决办法,当然,那就是通过 PowerCLI 实现。 TT 虚拟化技术专题之“VMware 脚本(PowerCLI)管理手册” Page 4 of 44
什么是 PowerCLI 让我们来假设,此刻,您不是什么 Perl 语言的狂热爱好者(开个玩笑)。总之,如 果您现在用 Perl 来管理您的 vSphere 环境,您可能比较难以想象自动化,在使用脚本语 言时的重复过程,这当然很好。我将呈现给您的将是一种简短和便捷的操作方式,所以请 继续往下读。 在开始讲述 PowerCLI 之前,我们必须首先了解关于 PowerShell 的一些内容。 PowerShell 是一种由微软设计开发的,面向对象的脚本语言程序和命令行 shell,用于取 代 VBScript 和以前的 CMD.EXE 程序;它是面向对象的(什么是对象,稍后讲述);它是 一种和其他面向对象系统(如:虚拟架构)建立连接的非常有效的方式。一台虚拟机就是 一个对象,也是一个主机。和 VBScript 不同,PowerShell 是一个 shell,也就是说您可 以运行它并且直接通过它发布命令。 但是,更重要的是,PowerShell 是一个脚本语言。脚本语言和程序语言类似,我们通 过文本的形式提供指令,然后计算机运行它并完成您需要的工作。脚本语言又与程序语言 不完全相同,脚本语言相比而言是一种更高层次的计算机交互方式,所以程序员可以较少 地关注那些理论上的概念。换句话说,脚本语言位于程序语言和图形界面之间。同样的, 它也是两者之间的粘合剂,或者是在一个复杂的 IT 系统环境中的位于两者之间的中间 层。(PowerShell 可以比作是饭后的甜点,或者是地板上打得蜡。) 好了,背景故事已经讲了不少!PowerCLI 是 PowerShell 的扩展。PowerCLI 内部带有 165 个 cmdlets(读作 command-lets),它们每一个都是一个独立的可以分解为字节大小 的 vSphere 管理任务。Cmdlets 使用了一些简短的逻辑词条的名称,以便于人们学习和使 用。接下来让我来简单展示一下。 Show me the money 让我们先来简短地通过这个核心短语来理解“面向对象”的含义。对象指的是像汽 车、房子和虚拟机等等这样的物品。对象是由其他部分所组成的,例如方法和属性。举例 来说,方法指的是“加速汽车”,“打开房门”和“启动虚拟机”这样的操作。属性指的 是:“320 马力”,“5 个房门”和“2GB 内存”这样的一些问题。好的,现在是否依然还 跟我的思路继续? PowerCLI 的一个简单的例子就是,Get-VM cmdlet,一个事实上非常有用的命令。下 面是这个命令下达后的执行情况: TT 虚拟化技术专题之“VMware 脚本(PowerCLI)管理手册” Page 5 of 44
点击图片本身放大 或许您已经猜到,如果不先跟 vSphere 环境连接并且通过认证,是无法和 vSphere 交 互的。这个过程是由 Connect-VIServer cmdlet 所掌控的。这里我不再演示命令执行后的 情况,这个 cmdlet 将提示您输入认证证书。 在连接建立之后,我输入 Get-VM 命令而不带任何参数。“Get”在这个短语中是动词 的角色,它的意思是从某处获得某个对象。“VM”是 cmlet 命令中的名词部分,当然它指 代的就是所面对的虚拟机。结果理解起来相当的简单,当然,这也是 PowerShell 的标 志。您可以看到一个带有标题的列表在屏幕上显示,如果您曾经在虚拟机环境中工作过, 我想这些参数特性都是一目了然的,所以我不再进一步对该命令的细节做说明。 对于每一行文字而言,它不仅仅代表字面的意思,更多的是表示一个对象。在这个例 子中,我们所讨论的对象就是虚拟机。但是 PowerShell 的这个规制还适用于任何其他对 象,当我们讨论 FileInfo 时对象是文件系统,或者是虚拟机,也可能是主机服务器或任 何其他的东西。 最后所提到的,在某些情况对象可以指代任意东西,这个课题确实非常大,所以我对 它的讲述到此为止。同时,我希望您已经获得关于 PowerCLI 足够多的内容,使您已经产 生兴趣并将继续学习使用它。我也希望你可以同意我的观点:关于自动化是将来唯一的发 展方向。所以如果您和您的小组还没有搭上这个潮流班车,我想现在这是个很好的切入契 机。我接下来的系列将继续讲述有关内容,所以请保持关注。 下载 PowerShell,访问微软的 PowerShell 站点。同样,要获得 PowerCLI,请访问 VMware 的 PowerCLI 站点。 (作者:Hal Rottenberg 译者:李哲贤 来源:TechTarget中国) 原文标题:如何使用 VMware vSphere PowerCLI? 原文链接:http://www.searchvirtual.com.cn/showcontent_27966.htm TT 虚拟化技术专题之“VMware 脚本(PowerCLI)管理手册” Page 6 of 44
五大必备 vSphere PowerCLI 脚本 VMware vSphere PowerCLI 是一个可以 帮助虚拟化管理员创建脚本的命令行工具,它 可以在 vSphere 环境中自动执行管理员任务而且无需更多人为参与。 PowerCLI 指代 Microsoft PowerShell,是一个在很多数据中心产品中普遍存在的面 向对象的脚本语言和命令行编辑器,如 Microsoft Windows、Exchange 和 SQL servers 中 都有。PowerCLI 可以通过如下方式自动执行管理员任务:  cmdlets,系统动作或指令  脚本,一组 cmdlet 指令及其关联关系  可执行文件,独立的应用程序,以及  .NET 类 借助 vSphere PowerCLI,通过由 165 个 VMware 专用 cmdlets 组合形成脚本,IT 管理 员可以自动执行所有的虚拟环境相关管理任务。对于虚拟化管理员而言,脚本无疑是非常 实用的,因为它可以无需人为参与执行进程(这样可以释放 IT 管理员去做其它工作), 而且在资源紧张的环境中可以用于规划在非高峰期完成某些任务,在执行大量重复性的烦 杂工作时还可以避免人为错误的发生。 在熟悉了 PowerCLI 的使用之后,如下五个脚本是您必备的: 一、vCheck (Daily Report) V3 Alan Renouf制作 想象一下您可以在喝早咖啡的时候顺便查看一下关于虚拟环境的详细报告。通过 Alan Renouf 制作的这个流行脚本,可以每天自动生成虚拟环境概要的报告并发送到您的收件 箱。 除了可以列举出宿主机、虚拟机、集群数量和数据存储量以外,新版的 vCheck 还可 以显示出虚拟机动作警报、废弃的 SCSI LUN 等更多内容。 二、Who created that VM? Alan Renouf制作 您是否遭遇过虚拟机在数据中心蔓延的情况,或者您无法跟踪到是谁在创建虚拟机? 现在您无需采用那些诸如撤消管理员权限等的极端方式来解决问题,使用 “who created that VM?”脚本可以解决。 通过为每个虚拟机添加定制字段,这个 PowerCLI 脚本可以在虚拟机的注释中提供关 于每个虚拟机的创建者和创建日期等信息。另外,您还可以使用这个脚本来查询一个月内 创建的虚拟机数量,并把这些信息输出形成清单。 TT 虚拟化技术专题之“VMware 脚本(PowerCLI)管理手册” Page 7 of 44
三、vSwitch port overview Hugo Peeters制作 在迁移过程中,VMware VMotion 并不会检查新的宿主机是否有足够的可用虚拟交换机 端口。更为糟糕的是,如果端口不够用,VMotion 依然会完成迁移过程而且不会向用户报 警。因此结果就会导致虚拟网卡失去连接。 因此,每个 vSwitch 上必须保留足够的端口来满足可能会从其它主机上发生故障切换 迁移过来的虚拟机的额外需求。为了检查每个 vSwitch 使用的端口数,可以运行这个 PowerCLI 脚本,然后对虚拟交换机进行适当地调整。 四、Report into Microsoft Word Alan Renouf制作 该脚本不仅可以生成整个虚拟环境的报告,而且还会把结果写成微软的 Word 格式, 并生成彩色的曲线图和饼状图。更进一步,该 PowerCLI 脚本很容易进行定制化,用户可 以根据需求进行信息裁剪。这个脚本用于生成一个直观地、易于理解的报告给老板汇报也 非常方便。 五、Customizing Site Recovery Manager plans Mike Laverick制作 对于虚拟化管理员而言,结合 PowerCLI 和 SRM(Site Recovery Manager),可以在 灾难恢复的过程中提供更高级别的自动化。 在这篇文章中,Mike Laverick 揭示了如何在 SRM 服务器上运行 PowerCLI,并且给出一个 脚本可以用于减少虚拟机在恢复过程中所需的内存数量。 关于 VMware vSphere PowerCLI 的更多内容,参考如下外部参考资源:  vSphere PowerCLI Blog (VMware 社区博客)  Managing VMware with PowerShell (VMware 社区 FAQ)  PowerCLI Quick Reference Guide (来自 virtu-al.net) (作者:Keith Kessinger 译者:李哲贤 来源:TechTarget中国) 原文标题:五大必备 vSphere PowerCLI 脚本 原文链接:http://www.searchvirtual.com.cn/showcontent_42980.htm TT 虚拟化技术专题之“VMware 脚本(PowerCLI)管理手册” Page 8 of 44
分享到:
收藏