访谈录:PowerCLI如何满足VMware管理员的自动化需求

日期: 2015-10-28 作者:Tom Walat翻译:王学强 来源:TechTarget中国 英文

IT部门可以使用PowerCLI将所有解决方案有机整合起来,以应对大量的部署和管理需求。 毫无疑问,服务器虚拟化技术大大减轻了系统管理员的工作负担,但是对于运维团队来说,在维护现有系统的同时还需要处理来自业务部源源不断的全新需求,仍然是非常巨大的挑战。 为了满足不断增长的需求,vSphere管理员发现可以使用一些自动化工具快速处理日常管理事务和配置任务,在很大程度上减轻了自己的压力。 尽管现在有多种VMware自动化产品能够满足这种需求,比如vRealize Automation 和 vRealize Orchestrator,但是很多管理员已经非常熟悉PowerCLI,因为它是PowerSh……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

IT部门可以使用PowerCLI将所有解决方案有机整合起来,以应对大量的部署和管理需求。

毫无疑问,服务器虚拟化技术大大减轻了系统管理员的工作负担,但是对于运维团队来说,在维护现有系统的同时还需要处理来自业务部源源不断的全新需求,仍然是非常巨大的挑战。

为了满足不断增长的需求,vSphere管理员发现可以使用一些自动化工具快速处理日常管理事务和配置任务,在很大程度上减轻了自己的压力。

尽管现在有多种VMware自动化产品能够满足这种需求,比如vRealize Automation 和 vRealize Orchestrator,但是很多管理员已经非常熟悉PowerCLI,因为它是PowerShell——一种用于管理Windows系统的语言——的基础;PowerCLI的另外一项优势是系统管理员能够通过多种方式获得大量可用脚本,之后基于特定环境对这些脚本进行修改以满足当前工作流程。

Philip Sellers是电信行业的一位高级系统管理员,他发现PowerCLI能够很好地满足自己的当前需求。随着对PowerShell脚本越来越熟悉,Sellers已经能够列举出使用过程当中的大量技巧,并且为VMware社区贡献了一本称为PowerCLI Cookbook的图书。因此就VMware自动化工具以及vSphere 6中的哪些全新特性能够简化管理员工作等问题,我采访了Philip。

大家好,我是来自SearchVMware的Tom Walat,正在和我进行对话的是Philip Sellers,他是一名来自电信行业的高级系统工程师,针对多种IT技术发表了众多文章,比如网络和虚拟化领域,并且为Packt 出版社撰写了一本名为PowerCLI Cookbook的新书,这本书受到了VMware社区中大量用户的热烈欢迎。谢谢你今天接受我们的采访,Philip。

Philip Sellers: 谢谢你的邀请,Tom。

能否对你的IT背景做个简要介绍,你是如何发现自己热爱这个行业的?

当然,现在我是一名系统管理员,过去我还从事过咨询顾问和客户支持等多种角色。对于我来说这个过程是一个很自然的转变,我在中学的时候获得了自己的第一台电脑,这让我对IT行业产生兴趣并且不断前进。所以对于我来说,这是一个十分有趣的过程。

我在你的LinkedIn个人信息当中发现你还拥有Web应用开发经验,你是如何发现自己对PowerCLI感兴趣的?

是的,我拥有一些开发经验和背景,但是后来我发现自己对系统管理方面的工作更加感兴趣,而我现在的工作角色就是公司的VMware主架构师和管理员。由于公司采用了VMware优先或者至少是虚拟化优先的策略,所以现在部署了大规模VMware环境以及数量庞大的虚拟机集群。随着应用负载的不断增长以及需要管理和维护的事情越来越多,使用PowerCLI就成为一种非常自然的结果,除了能够满足某些需求之外,还能够管理当前环境、实现自动化、简化管理流程、帮助管理员了解环境当中正在发生哪些事情,并且在问题发生时及时进行修复。

你是否尝试过其他方式?我们知道对于现在的IT部门来说,需要在更少的人员和时间的情况下完成更多的工作,因此你是否也在考虑使用其他产品来实现数据中心的流程自动化?

我们在当前的VMware环境当中尝试了很多种不同的管理和监控工具。由于采用了虚拟化优先的原则,因此应用负载和管理任务出现了快速增长。我们还使用Perl开发了一些小工具,并且在vCenter Orchestrator方面进行了一些工作。对于Perl来说,我发现自己并不太适应这种语言,因为主要针对编程人员,而不是系统管理员。而vCenter Orchestrator是一款非常优秀的软件,内置了大量工具,并且具有良好的可扩展性,但是同时也存在一些限制。由于我在当前环境中除了需要管理VMware设备,还需要接触一些微软技术,而所有的微软工具都拥有PowerShell管理工具,所以我便开始学习PowerShell,PowerCLI能够很好地适应公司的当前环境。当你开始将PowerShell和PowerCLI整合在一起的时候,可以得到一系列非常强大的脚本和自动化工具,因为通常会将二者搭配使用。

对于其他系统管理员来说,你觉得他们应该从哪里开始使用自动化工具?或者是否听到越来越多的人开始说,“也许PowerCLI更加适合我?”

是的,在写书的过程当中,我和其他系统管理员进行了大量谈话,整个过程当中我听到最多的就是IT部门的资源越来越少,但是被分配的工作却越来越多,这种情况下,你就开始需要使用自动化技术了。所以对大多数管理员来说,他们必须开始编写脚本,并且实现流程自动化,而PowerCLI是一种十分灵活的工具,因为你既可以使用其中包含的大量内置功能,比如标准的cmdlets命令,还可以编写自定义脚本,对语言进行扩展以满足当前环境需求。

是否能够列举一种你的环境当中正在运行的PowerCLI脚本?

我在书中曾经列举过一个例子,实际上这个示例来自于VMware社区当中的另外一位知名博主Chris Wahl,用来实现DRS组之间的平衡,主要功能是基于运行在每个资源池当中的虚拟机数量为DRS组定义资源值。这种方式能够保持资源平衡分配,并且虚拟机正常运行。因为如果使用一个并不平衡的资源池,这样会对生产环境当中的VMware机器(虚拟服务器)带来资源限制,无疑会对其运行状态造成严重影响。这是一个例子,快照维护是另外一个。使用PowerCLI能够快速、轻松地获得现有的快照列表,而且如果快照满足某种筛选条件,可以自动进行删除,这样就能够避免快照将data store填满,甚至导致虚拟机停机。所以管理员应该具有积极主动的工作态度,尝试使用通用方法解决尽量多的问题,这样编写出来的脚本就能够同时完成多种功能。脚本的通用性越高,重用可能性就也越大。

对那些没有编程经验,但是又想开始使用PowerCLI的管理员来说,你会给他们提出哪些建议?他们应该首先了解哪些内容?需要使用微博、博客还是书籍呢?当然你的书会是一个不错的参考,但是除此之外还有其他推荐吗?

是的,现在有很多VMware博客,特别是关于PowerCLI的文章。对于初学者来说,VMware的官方博客是学习PowerCLI的最佳选择,因为其中包含了大量信息。这种语言最大的好处之一就是你不必拥有编程背景。如果你拥有编程经验,那么当然可以在这里使用,但是我认为对于大多数已经从事这个行业或者计算机专业的人来说,肯定曾经听说过面向对象编程语言,对于对象已经拥有基本理解,如果你已经理解了数据对象和大体的编程概念,那么可以在使用PowerCLI过程中节省大量时间,因为PowerCLI也是一种基于对象思维的语言。现在已经包含多种内置功能,所以即便你没有任何编程背景,我依然推荐你开始学习这项技术。你可以打开命令控制台,从内置的VM cmdlets命令开始,之后的工作方式和其他命令行工具是一样的。输入一些参数,继续进行自己的工作,仅仅通过这样简单的方式就能够开始了。开始时通过一些内置功能逐渐熟悉它们,之后就可以基于这些内置功能进行扩展了。

你是否会在实验环境当中开发新的PowerCLI工作流?

是的。有时我会,但是有时也会在生产环境当中。很多时候我可能不会准备脚本,而是在计划任务当中添加各种命令,比如需要进行信息交互或者创建新的虚拟机等。如果我需要使用模板部署10或者12台新虚拟机,那么在开始之前我会使用PowerCLI,在GUI当中手动完成,重复这个过程10次。因此需要根据实际情况决定所采用的方式。如果我正在开发一个脚本,那么我肯定要在实验环境当中进行,但是这并不一定需要和生产环境分开。你可以使用一个资源池或者一个测试区域,在那里部署一些虚拟机,这样就可以操作或者使用PowerCLI完成工作了。当然完全分离能够实现更好的安全性,但是这并不是必需的。

你希望PowerCLI能够加入哪些其他功能?

我认为最有用的是一些原生DRS组管理工具,也就是管理DRS集群当中的DRS组和关联组的功能。如果能够自动添加或者更新这些组的成员关系将会非常有意义。在我所管理的数据中心当中已经拥有了Metro Storage Cluster,由于我们需要跨域两个物理数据中心进行操作,因此需要使用关联性规则来定义某些虚拟机应该运行在数据中心A当中,而另外一些应该运行在数据中心B当中。我们基于社区、论坛和博客当中的内容编写了自定义脚本,并且只在自己的环境当中使用,因此如果其他人做出贡献,即便不是官方发行版本当中的一部分,那也是非常棒的。

是什么促使你编写一本关于PowerCLI的书籍?编写流程又是怎样的?

当时我突然有一种想法,“是的,我需要写这样一本书。”因为我每天都要使用它,并且它能够为日常工作提供很大帮助,我认为自己写出的东西可以帮助其他人更好地学习和使用这项技术。我之前曾经在出版商工作,作为另外一本PowerCLI书籍的技术评审。所以当他们找到我,问我是否愿意编写这样一本书的时候,我说,“是的,我认为我已经积攒了足够的内容,想要帮助其他人学习并且使用这种语言,这本书可以在不同的环境当中为管理员提供帮助。”事实上整个编写过程非常简单,在Packt这样的出版商当中工作最好的地方就是它们已经拥有固定的风格,能够为你提供现有的布局和格式,这样你就可以参照固定的流程,将整项工作分割成几个可管理的块。所以我用几个星期来为每个章节编写草稿,包含了所有代码、实验和说明,并将其返回给出版商。之后出版商对其进行编辑,在技术审核环节当中,几位其他IT员工会对所有内容进行审核,确保这些实验代码都能够按照预期正常工作。一旦你将所有这些组合在一起之后,下一步流程将会十分简单,也就是打印排盘或者整理成电子书格式。

除了vRealize Automation 和 Orchestrator之外,还有一些知名的第三方自动化产品,比如Ansible。对于那些没有从零开始学习代码,但是期望为多种任务制定流程的管理员来说,你会为他们提供哪些建议呢?

完全使用命令行的确会让人产生恐惧感,因此可能很多人对于这种工作方式并不适应。如果你拥有一位善于使用命令行,并且能够将一些PowerCLI命令组合在一起的管理员,那么可以使用Fling——VMware将其称之为未发布的软件测试版本,有一种Fling已经能够基本支持PowerCLI,并且在vSphere Web Client当中执行相关命令。这样就你就可以将自己的脚本推广给任何等级的用户,而不再需要考虑他们的编程背景或者是否能够接受命令行这种操作方式。

vCenter Orchestrator是另外一种伟大工具,因为它允许管理员仅仅通过拖拽操作就能够实现一些基本的自动化流程。所拥有的内置功能可以和活动目录以及vSphere进行通信,创建邮件或者读取信息,之后完成工作,这是一种十分简单易用的方式。对于那些寻找统一解决方案的人来说,还有很多第三方应用程序,比如Ansible或vRealize Automation,可以提供更为友好的操作界面。这个领域当中的竞争十分激烈,随着我们越来越关注软件定义技术,自动化技术成为了关键,正是这些流程为我们提供了可重复的结果,使得我们能够开始不断使用标准方式来进行工作,也能够帮助我们接受云思维。

VMware一直在推广软件定义数据中心概念,现在我们在vSphere 6当中看到了一些基于策略的特性,比如VVOL。你将如何使用这个vSphere的最新版本,哪些全新或者改进特性对你最为重要?

既然提到了VVOL,那么我不得不说,真的很喜欢这种技术,因为它在许多不同的第三方存储上为虚拟机引入了存储对象的概念。之前在存储层所遇到的一些问题,比如管理VMFS data store当中的虚拟机、磁盘空间不足或者由于VMFS data store容量不足而不能创建新的虚拟机等,对于VVOL来说,全都不再是问题了,因此这是一种非常好的方式。我们还没有在当前环境当中采用这种方式,需要在一段时间之后实施,但是我对此感到十分兴奋,因为能节省大量管理时间。数据集群和相关技术虽然能够让我们从繁重的存储管理任务当中解脱出来,但是VVOL是发展过程当中的下一步。

此外,我对vSphere 6在管理层方面所做出的改进也感到十分兴奋。vCenter和证书管理方式的改变、单点登录架构的全新模型,从管理员的角度来说这些变化全都非常重要。它帮助我们更加轻松地完成一些必要的琐碎工作。所以,让我感到兴奋的大多数特性集中在平台的功能增强这一方面。

现在Docker和容器技术吸引了大量关注,而VMware通过多个基础架构项目来帮助管理基于微服务的应用程序,那么容器技术是否已经开始进入到你的数据中心当中?

我们已经开始就容器技术进行讨论,但是事实上并不能仅仅依靠管理员完成所有改变。对于这种全新架构来说,必须将开发人员加入其中,他们需要采用一种和之前不同的方式进行开发。开发人员不能像之前那样构建一个大型的单一应用程序,而是必须将其分割为不同的组成部分,并且开发人员还需要负责特定类型的管理任务、定义容器模型以及其具体需求。这种方式会带来一些挑战,因为相比于传统方式来说,这种方式要求企业实现更加严格的集中控制,进而对于这种技术的推广也会带来巨大挑战。但是这种技术也能够带来巨大回报,允许IT部门更加快速地响应和交付服务,并且以迭代为基础。如果企业愿意在改变工作方式方面进行投入,那么无疑会产生很大回报。我们对此进行了大量讨论,但是对于如何进行改变仍然没有取得重要进展,因此一直在进行密切关注。VMware在vSphere当中针对容器技术进行的研究对于我们来说十分重要,因为从企业的角度来说,需要保证服务不间断运行,我们珍惜VMware带来的一切,保证业务始终处于可操作状态。所以想要让企业突然不再使用虚拟机是一种很大的挑战,但是我们可以使用单一平台同时交付两种类型的架构。

好的,Philip,谢谢你接受今天的访谈。

不客气,很高兴能够进行这段谈话。

作者

Tom Walat
Tom Walat

虚拟化网站编辑

翻译

王学强
王学强

TechTarget特邀编辑,毕业于计算机专业,现任职于外企IT分析师,负责网络、防火墙和服务器等系统运维工作,对虚拟化、网络安全和渗透测试拥有浓厚兴趣,工作外热爱旅行、汽车和健身。

相关推荐