《VMware vSphere设计(原书第2版)》——3.1 检查管理层的组件-阿里云开发者社区

开发者社区> 华章出版社> 正文
登录阅读全文

《VMware vSphere设计(原书第2版)》——3.1 检查管理层的组件

简介:

本节书摘来自华章出版社《VMware vSphere设计(原书第2版)》一 书中的第3章,第3.1节,作者:[美] 福布斯·格思里(Forbes Guthrie)斯科特·罗威(Scott Lowe)肯德里克·科尔曼(Kendrick Coleman),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.1 检查管理层的组件

什么是管理层呢?当然不是指公司的执行官或董事会。我们所说的管理层是指用于日常管理整个虚拟化基础设施的组件。本节将简要介绍vSphere的管理组件。首先从最主要的vCenter 服务器开始。
VMware vCenter服务器
vCenter服务器(原名VirtualCenter服务器)是虚拟化基础设施中最关键的元素之一,是用于管理虚拟数据中心的管理应用程序。你会创建数据中心、集群、资源池、网络和数据存储;分配权限;配置告警;监控性能等。所有这些功能都是在vCenter服务器上集中配置的。因此,vSphere设计中要有专门一部分用来介绍如何构建健壮且可扩展的vCenter服务器。
兼容性矩阵
决定vCenter 服务器的安装平台之前,一定要检查当前VMware的兼容性矩阵。基础设施中的软件必须处于VMware兼容性矩阵中,VMware才会提供技术支持。兼容性矩阵包括ESXi host的硬件、vCenter服务器、底层数据库、vSphere 客户端、vSphere更新管理器、Web浏览器等。
vCenter服务器有多种存在方式,可以是基于Linux的虚拟设备,也可以是安装在Windows服务器上的Windows应用软件。无论哪种情况,你都可以在VMware官网上下载最新版本的vCenter。但是需要注意的是:根据所下载vCenter 服务器版本的不同,安装包可能会很大(比如基于Linux的虚拟设备几乎有4GB)。

3.1.1 vCenter服务器组件

在vSphere 5.1之前,vCenter服务器是一个庞大的应用程序。vSphere 4.x和vSphere 5.0的vCenter服务器只有三个主要组件:
一个操作系统实例。可以是Windows操作系统(不能是域控制器,只能是域成员服务器)或者绑定vCSA(vCenter Server Virtual Appicance)的预装的Linux实例。
对后端数据库的访问。数据库可以安装在vCenter服务器所处的本地计算机上,也可以安装在远程计算机中。
vCenter服务器本身。安装在Windows操作系统实例上或者预安装在Linux上,作为vCSA的一部分。
vSphere 5.1中,VMware将庞大的vCenter服务器分成了很多不同的组件。除了前面列出的三个外,还包括如下组件:
vCenter单点登录,一个集中的校验服务,通过它,仅需登录一次就可以让授权的vCenter服务器用户访问多个vCenter Server实例。
vCenter Inventory服务,用于存储vCenter 服务器应用和inventory数据的服务器。它服务于多个连接在一起的vCenter服务器。严格地说,它并不是vSphere 5.1的新组件,VMware在5.1中只是将vCenter Inventory服务分离出来,从而可以安装在一个独立的计算机上以实现更好的可扩展性。
vSphere 5.1引入这些组件意味着你不得不考虑是将这些组件安装在一台计算机上,还是分别安装在不同的计算机上以区分角色。
下面详细介绍vCenter服务器的各个组件。
操作系统实例和vCenter服务器
我们将这两个组件放在一起是因为它们是直接联系在一起的。vCenter服务器主要有两种方式:作为可安装应用运行在Windows操作系统实例上,或者作为vCSA的一部分预安装并运行在Linux操作系统上。你会看到,选择Windows作为安装vCenter服务器的操作系统意味着你选择的vCenter服务器版本是可安装的应用程序;否则,选择Linux操作系统,就意味着你选择了虚拟设备中预安装的vCenter 服务器版本。撰写本书时,vCenter服务器没有基于Windows的虚拟设备,也没有可以运行在Linux上的可安装版本。
本章后面会讨论选择可安装版本还是vCSA时需要考虑的因素,还会讨论如何选择运行vCenter服务器的Windows操作系统版本(注意:你无法选择Linux发行版或版本,因为它是作为虚拟设备的一部分预装好的)。
后端数据库
无论选择是哪种形式的vCenter服务器,你都需要一个后端数据库。设计阶段总会提出的一个问题就是:用集中的数据库服务器还是将数据库和vCenter 服务器安装在同一个计算机上?和这个问题同时提出的还有:用成熟的Microsoft SQL Sever还是Oracle作为数据库引擎?
本章后面会详细分析这些问题。在3.2节中,我们会讨论在不同数据库间取舍的各种原因(vCenter服务器支持多种数据库服务器)以及应该在本地还是远程部署数据库的原因。
在此阶段,你只需要知道vCenter服务器需要一个后端数据库。因此,就需要考虑后端数据库所需的资源,还需要指定后端数据库的运维计划。在3.3节中,我们会介绍如何确保后端数据库的可用性、可管理性、性能、可恢复性和安全性(回顾下第1章介绍的几个基本原则,即AMPRS,有助于引导我们进行设计决策)。
vCenter单点登录
vSphere 5.1发布后,VMware推出了一个新的vCenter服务器组件vCenter单点登录。这个组件提供了集中的校验服务,vCenter服务器可以用这个服务器对多个后端服务器进行校验,例如活动目录和LDAP。对于较小的虚拟化环境来说,vCenter单点登录可以和其他vCenter服务器组件安装在同一个系统上;对于大型虚拟化环境来说,它可以安装在一个单独的系统上。vCenter单点登录还支持不同的拓扑结构,包括单一服务器、服务器集群以及多站点拓扑。
vCenter inventory服务
为了让vCenter Server能够更好地扩展,vSphere 5.1把inventory服务从vCenter服务器中分离出来作为一个独立的组件。vCenter Inventory服务器现在支持多个连接vCenter服务器实例范围内的inventory对象的发现和管理。和vCenter单点登录一样,你可以把vCenter Inventory服务和其他组件安装在一起(也叫简单安装(Simple Install)),或者将其安装在一个独立的系统中以便更好地扩展(同时实现高可用性和冗余)。
vSphere Web客户端服务器
为了启用下一代vSphere Web客户端(下一节会讨论),vCenter需要一个服务端的组件,也就是vSphere Web客户端。实际上,它应该叫作vSphere Web客户端服务器,因为它是处于服务侧的组件,可以让用户通过Web浏览器来管理vSphere环境。这个组件是在vSphere 5.0引入的,但在vSphere 5.1中它起着更重要的作用,因为vSphere 5.1的很多特性和任务只有通过下一代Web客户端才能用。
现在,让我们把焦点移到客户端侧。

3.1.2 vSphere客户端和vSphere Web客户端

通常,VMware管理员会使用基于Windows的应用程序vSphere客户端来执行大多数日常管理任务。vSphere 4.x和5.0时也是如此。在vSphere 5.0中,VMware引入了一个初级的Web客户端;vSphere 5.1时,vSphere Web客户端(也叫下一代客户端 NGC)开始成为管理VMware vSphere环境的主要方式。
基于Windows的vSphere客户端几乎可以安装在任何Windows操作系统上:
Windows XP Pro,SP3
Windows XP Pro 64-bit,SP2
Windows Server 2003,SP1
Windows Server 2003,SP2
Windows Server 2003 Standard,SP2
Windows Server 2003 Enterprise,SP2
Windows Server 2003 R2,SP2
Windows Vista Business,SP2
Windows Vista Enterprise,SP2
Windows Vista Business 64-bit,SP2
Windows Vista Enterprise 64-bit,SP2
Windows 7 Client (32-bit and 64-bit)
Windows Server 2008 Enterprise,SP2
Windows Server 2008 Standard,SP2
Windows Server 2008 Datacenter,SP2
Windows Server 2008 Enterprise 64-bit,SP2
Windows Server 2008 Standard 64-bit,SP2
Windows 2008 R2 64-bit
要安装基于Windows的vSphere客户端,操作系统的最低配置为:
最低266 MHz的 Intel 或AMD 处理器(推荐500 MHz)。
1 GB 内存。
1 GB 硬盘空间用于vSphere客户端的完全安装,包括以组件:
Microsoft .NET 3.5 SP1。
Microsoft Visual J# 2.0 SE。
在安装过程中,%temp%目录所在的磁盘还额外需要400MB空间。
如果基础软件都已经安装过了,那么带有%temp%目录的硬盘上至少要有300MB的剩余空间,安装vSphere至少需要450MB空间。
推荐使用Gb级的网络连接
vSphere Web客户端支持如下浏览器:
Microsoft Internet Explorer 7、8和9。
Mozilla Firefox 3.6 或以上版本。
Google Chrome 14 或以上版本。
 撰写本书时,vSphere Web客户端还不支持Apple的Safari浏览器。
如前文所述,vSphere Web客户端在vSphere 5.1环境中发挥着异常重要的作用。例如,为了利用vCenter单点登录,你必须使用vSphere Web客户端。如果使用传统的基于Windows的vSphere客户端,校验并不是通过新的vCenter单点登录组件进行的。你还会注意到整本书都在展示新的vSphere Web客户端的截图,而不是老的基于Windows的vSphere客户端(从上个版本开始几乎没有变化)。
这些组件构成了vSphere环境管理层的核心。然而,VMware还提供了一些可以包含在设计中的可选组件,首先开始介绍vSphere更新管理器。

3.1.3 vSphere更新管理器

VUM(vSphere Update Manager,vSphere更新管理器)是一个插件,可以用来更新ESXihost和虚拟机。VUM(www.vmware.com/products/update-manager)是VMware虚拟化环境的补丁管理方案。大多数vSphere层都涉及VUM。
在vSphere 5.0以前的版本中,VUM不仅为ESXi host提供了补丁管理方案,也负责操作系统和虚拟机支持的应用更新。vSphere 5.0发布后,VMware不再继续为操作系统和虚拟机中的应用提供补丁管理组件。这样企业就可以使用现有的补丁管理方案按照与物理设备一样的方法给虚拟机打补丁。
安装VUM首先要有如下组件:
64位的Windows操作系统,且必须是域成员服务器(而不是域控制器)。
数据库,可以是远程的数据库(Oracle或Microsoft SQL)或者是与VUM安装在同一台服务器上的本地数据库。
你可以把VUM和vCenter 服务器安装在同一个Windows系统上。为了更好的可扩展性和安全性,你可以把VUM安装在一个独立的Windows系统上。注意,虽然VUM要求安装在64位操作系统上,但VUM本身是个32位应用程序。
VUM的数据库可以和vCenter的数据库放在同一个数据库服务器上,但VUM不能和vCenter服务器使用同一个数据库。除了搭建一个独立的数据库服务器(或者使用已有的独立的数据库服务器)外,你还可以使用VUM服务器中嵌入的SQL Sever 2008 R2 Express数据库。但是,只要host超过5个且虚拟机多于50个,那么你就得为VUM数据库搭建独立的SQL server或Oracle数据库服务器了。
安装vCenter服务器的时候,你需要为数据库设置一个系统 DSN(data source name,即数据源名称)。还需要为VUM 数据库设置一个DSN,如图3-1所示。需要注意的是VUM是个32位的应用程序,所以DSN也得是32位的。
安装好VUM后,你就可以配置需要下载的更新、安排补丁自动下载、设置通知和扫描ESXi host,然后更新它们。另外,如果环境需要,你可以搭建一个专门的下载服务器去下载补丁并分发到VUM服务器上。在安全性要求较高的环境中,只有特定的服务器有通过互联网获取外部资源的权限,这种情况就适合部署专门的下载服务器。

527417b489868e01bd65254154554f552fa72fc3

 VUM使用的插件只兼容vSphere客户端。因此,在vSphere 5.1中,你必须使用vSphere客户端,而不是vSphere Web客户端去执行VUM配置和VUM相关的任务。
下面我们介绍同属于管理层的其他应用程序。

3.1.4 管理应用程序

登录每个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的文章中介绍了很多有关vCLI命令和ESX/ESXi控制台命令之间的差异和相似之处。

ee147febc96ab4eb3429af67ec8d0f218edffdaf

要连接到远程host,至少要指定如下参数:服务器、用户名、密码和要执行的命令。身份优先级如表3-2所示。
下面举例分析校验是如何进行的。环境如表3-3所示。

200832e9d8067af3b7f9e0ae7dbb5c64bcfcf596

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

e668efcf24b81339c986e5933ed10a2c1b2d40b4

 所有密码都会保存在这个文本文件中,且这个文件是没有加密的。所以需要限制对这个文件的访问。
每次连接到服务器的时候,你需要输入用户名和密码,然后就可以在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的情况下,执行管理和配置命令。
现在,我们来介绍如何组合这些组件以满足设计需求。为了更好地理解管理层设计都包含哪些内容,首先研究下设计管理层时要做的几个关键决策。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: