首页 > 系统 > 其他综合 > 正文
3.1.4 管理应用程序
2015-10-26 15:57:34     我来说两句      
收藏    我要投稿

登录每个host去执行管理任务是个很费力的重复性工作,比如配置网络vSwitch或者设置ESXihost中可关联的NFS的最大数。特别是基础设施规模不断扩大时,这个繁重的工作就成了一个梦魇。

我们从最基础的开始。ESXi确实有一个管理控制台,虽然它与其他管理方案相比不太尽如人意(本章后面会继续讨论),在vSphere 5.0之前,vSphere既包括ESX(它提供了一个基于定制版Linux的Service Console)也包括ESXi(它提供了基于BusyBox环境的管理控制台)。到5.0时,vSphere就只包括ESXi了。

要远程连接这些控制台,你需要使用SSH客户端。大多数管理员都会选择PuTTY (www.chiark.greenend.org.uk/~sgtatham/putty)。还有几个工具也有相同的功能,管理员可以根据自己的喜好选用不同的工具。用Mac 或Linux的管理员可以通过系统的终端应用程序使用自带的SSH客户端。vSphere 5.0和5.1中,你也需要启用到ESXi管理控制台的SSH访问(默认是禁用的)。可以通过DCUI启用SSH。

管理控制台只是管理应用程序的一个例子而已。你还可以通过ESXi和vCenter丰富的API来进行远程管理。利用该API,VMware提供了如下工具用来远程管理vCenter和ESXi host:

vSphere 命令行接口(vSphere Command Line Interface,vCLI)

PowerCLI

vSphere 管理助手 (vSphere Management Assistant,vMA)

注意,上述列表中并没有包含orchestration工具,如vCenter Orchestrator和vCloud Director。虽然它们也是管理工具,但这里我们关注的重点是vSphere级别的日常管理工具。我们将在第12章中讨论vCloud Director设计需要考虑的问题。

这些工具有一个好处,就是不需要在它们之间进行取舍,而是每个都可以用。例如,很多人都喜欢Perl和PowerShell平台,他们不断努力让这些工具在环境中发挥更广的作用。

首先介绍vCLI。

vSphere命令行接口

你可以在任何可以连接到ESXi系统的计算机上通过vCLI命令集在ESXI系统中执行常用的系统管理命令。你可以在vCenter Server上指定任何vCenter管理的ESXi系统,并执行大多数vCLI命令。因为vSphere 5.0中没有ESX,所以最好用vCLI命令来管理ESXihost,不要直接用管理控制台。

vCLI命令运行在基于Perl的vSphere SDK上。它和vSphere SDK包含在同一个安装包内。

vCLI支持的平台如下:

Windows Vista Enterprise SP1(32位和64位)

Windows 2008(64位)

Windows 7(32位和64位)

Red Hat Enterprise Linux(RHEL)5.5 (32位和64位)

SUSE Linux Enterprise Server(SLES)10 SP1 (32位和64位)

SLES 11 and SLES 11 SP1(32位和64位)

Ubuntu 10.04(32位和64位)

在vCLI上可以执行的管理命令和在ESXi 控制台上可以执行的命令(或者ESX Service Console上一个版本中使用的命令)并不完全一样。所以你不得不适应这些差异。表3-1列出了vCLI与控制台之间不同的命令示例。


 

VMware知识库的一编号为1008194的文章(http://kb.vmware.com/kb/1008194)中介绍了很多有关vCLI命令和ESX/ESXi控制台命令之间的差异和相似之处。

要连接到远程host,至少要指定如下参数:服务器、用户名、密码和要执行的命令。身份优先级如表3-2所示。

下面举例分析校验是如何进行的。环境如表3-3所示。

 
 

你还需要创建一个配置文件来定义这些设置。在vCLI session中必须可以访问这个文件。表3-3中给出的session的配置文件与图3-2相似。


 

所有密码都会保存在这个文本文件中,且这个文件是没有加密的。所以需要限制对这个文件的访问。

每次连接到服务器的时候,你需要输入用户名和密码,然后就可以在vCLI中对配置文件中设定的host执行命令。下面给出一个在Windows系统中执行的命令实例:

vicfg-nas.pl --config c:\users\administrator\vcli.txt --vihost esxi51-01.design.
local -a -o storage1.design.local -s /shared NFS_datastore1

vicfg-nas—配置NFS存储(ESXishell中的相应命令是esxcfg-nas)

--config—配置文件(包含校验信息)的路径

--vihost—vCenter中ESXi host(要在其中执行命令的host)的名称

-a—添加数据存储

-0 storage1.design.local—要连接的存储设备的完整域名(FQDN)或IP地址

/shared—要连接的挂载点

NFS_datastore1—数据存储的名称

PowerCLI

PowerShell正逐渐成为所有Windows应用的默认脚本语言。有很多文章都在推荐PowerShell是如何简单易用,很适合管理vSphere环境。值得高兴的是,VMware的一个战略决策采纳了该建议,并为vCenter和ESX提供了一个基于PowerShell的管理工具:PowerCLI。

PowerCLI有数百个cmdlets(读作command-lets),可以用来管理基础设施中的所有组件。你可以配置并管理ESXi host、虚拟机,以及虚拟机上的操作系统,可以说是所有的东西。有一个很活跃的社区一直不断研究PowerCLI的使用方法,从而让管理员更好地完成管理工作。

请访问在线cmdlet参考页面,查看cmdlets的列表。

http://pubs.vmware.com/vSphere-50/topic/com.vmware.powercli.cmdletref.doc_50/Overview.html

该网页中列出的PowerCLI comlets是vSphere 5.0 update1版本的,这是撰写本书时该文件最新的版本。

你能用Power CLI做什么呢?除了帮你做面包之外,它几乎无所不能。换句话说,可以通过PowerCLI访问或操作所有的vSphere SDK。

在vCLI中,你会创建一个配置文件来存储认证信息(用户名和密码等),这样就免去了每次连接vCenter或ESXi host时都要输入用户名和密码的麻烦。在PowerCLI中你可以做同样的事情,虽然它并不是PowerCLI的特性(是Power Shell的),但是因为PowerCLI中使用的就是Power Shell,所以可以使用它。首先来看一下保存信息的代码。


 

Get-Credential 是一个PowerShell comdlet, 通过它你可以将认证信息保存下来,避免暴露密码。在此,首先,我们将认证信息保存在一个$vicredential变量中。然后,将密码从这个变量中导出到一个文本文件中。不用担心,这不同于vCLI,这里的密码不是明文,而是密文。


 

这个密文是很难破译的。将其导出来是为了多次重复使用,而不是每次都输入密码。创建变量来保存密码的代码在第三行:某个用户名创建了一个名为$vicred的变量。但密码是从刚才保存的文件中导入的。下面就是该变量中包含的信息:


 

最后,将变量中包含的认证信息连接到vCenter,连接成功后,再执行之前在vCLI中使用的命令:


 

New-Datastore--配置存储命令(相应的ESXi命令是esxcfg-nas,相应的vMA或vCLI命令是vicfg-nas)

-NFS--数据存储类型(VMFS/NFS)

VMHost--创建数据存储的host(在本例中,使用的是vCenter下注册的所有host)

Name NFS_datastore1--数据存储的名称

Path “/shared”--你所连接的挂载点

NfsHost storage1.design.local--你所连接的存储设备的FQDN(也可以输入IP地址)

PowerCLI参考信息
更多关于如何使用PowerCLI的信息,请参考《VMware vSphere PowerCLI Reference: Automating vSphere Administration》,这本书也是Sybex出版的。

vMA

vMA是VMware提供的包含预装软件的一个基于Linux的虚拟设备,而且其中包含预装的vCLI,vCLI中还包含基于Perl的vSphere SDK;通过校验组件(vi-fastpass),你可以连接各个目标服务器;通过日志组件(vi-logger),你可以收集ESX/ESXi和vCenter服务器系统的日志,并将这些日志存储到vMA中供日后分析。管理员和开发人员可以使用vMA来执行脚本或代理来管理ESX/ESXi和vCenter服务器系统

vSphere 5.0时host才完全过渡到ESXi, vMA也比以往更加重要。虽然ESXi包含控制台shell,但我们强烈建议你使用vMA而不是ESXi shell。有时候,用户可能会选择使用安装在Linux上的vCLI。而有时候,部署vMA会更容易些。这样都能让管理员和其他用户在不使用ESXi shell的情况下,执行管理和配置命令。

现在,我们来介绍如何组合这些组件以满足设计需求。为了更好地理解管理层设计都包含哪些内容,首先研究下设计管理层时要做的几个关键决策。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:3.1.3 vSphere更新管理器
下一篇:3.2 关键管理层设计决策分析
相关文章
图文推荐
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站