读书频道 > 系统 > 其他综合 > VMware vSphere设计(原书第2版)
2.3.2 ESXi类型:可安装ESXi、嵌入式ESXi和无状态ESXi
2015-10-26 15:01:17     我来说两句 
收藏    我要投稿   
《VMware vSphere设计(原书第2版)》共12章,第1章介绍vSphere的设计流程,涉及如何理解基本需求和如何评估并设计一个成功有效的实施方案。第2章介绍ESXi管理程序的基本设计选择,主要研究ESXi背后的架构。第3  立即去当当网订购

ESXi的不同类型表明了不同的部署方式。可安装ESXi是最普通的,它允许你在自己的服务器硬件上安装hypervisor;嵌入式ESXi是OEM形式的,即你可以选择购买一个预安装ESXi的服务器;无状态ESXi即每次host都是从一个叫作Auto Deploy的PXE 服务引导的。

下面研究下这三种类型并讨论这三者是如何影响到host部署和hypervisor选择的。

可安装ESXi

可安装ESXi不是预安装在服务器上的,你可以自行安装。安装时有很多选项,不管名称是什么,你都可以引导和运行它,而不需要安装到本地硬盘。

ESXi与其他操作系统部署的显著区别就是它的系统镜像会被拷贝到安装位置,本质上没有安装东西。这使得部署过程非常快。ESXi可安装部署的主要涉及因素如下:

引导安装程序 你可以从多个位置引导ESXi安装程序。最常用的方法就是:从VMware官网下载安装程序,再刻一张引导CD,然后从CD引导服务器。服务器也可以从USB引导(只要服务器的BIOS支持从USB引导)或者通过PXE从服务器的网卡引导。以上任何方法都可以利用Image Builder创建的自定义镜像,而不是从VMware的vanilla下载

服务器启动进行上电自检时将唤起PXE引导。通常需要敲特殊的键,或者如果服务器在自己的存储设备上没有找到合适的可引导的镜像,它就会自动尝试寻找PXE服务器。网卡发送广播信息来寻求适合的PXE服务器的响应。如果找到了,PXE服务器就会响应请求并可以将其配置成ESXI的引导设备。PXE服务器提供了一个在LAN环境下方便集中存储安装介质的解决方案。如果在一个地方有多个服务器,那么就可以使用基于PXE的ESXi介质库来加速安装,这是因为在构建或重构构建时,不需要从物理上访问所有的服务器。然而,在WAN下有多个站点,你可能需要在每个地点部署PXE服务器。通过WAN连接安装几百MB的操作系统是不太现实的。这样安装起来会很慢,还会占满WAN带宽,还很可能导致安装失败。

可安装的部署还可以从Auto Deploy服务器开始。接下来的Auto Deploy小结会详细介绍这部分内容,这个方法主要用于部署无状态服务器。但是从vSphere 5.1开始,Auto Deploy也可以用来进行有状态安装。有状态安装使用Auto Deploy做PEX服务,并将镜像拷贝到目的地来作为可安装的镜像。不同于无状态安装的是,有状态安装不会继续从Auto Deploy服务器引导,而是仅仅使用这个环境作为部署工具。一旦将镜像拷贝到目的地,这就已经是一个可以安装的ESXi镜像了。

安装指导 你可以通过交互模式安装,也可以使用应答文件通过脚本安装。

交互安装 交互模式是默认的安装方式,是一个简单的文本界面的程序。软件安装好后,你可以在服务器控制台(或通过远程硬件控制台,如Integrated Lights Out [iLO])、Remote supervisor adaptor(RSA)或Dell RemoteAccessCard(DRAC)中选择不同的选项,文本界面的安装程序如图2-2所示。


 

传统ESX的交互式安装和大多数现在操作系统的安装默认都是基于图形界面的,而ESXi的交互式安装更加简单,其中没有复杂的分区问题,也没有多少选项需要你去了解。

脚本式安装 除了交互式安装外,你还可以制定一个文件来提供自动安装选项的答案。你可以将这些答案保存到一个文本文件中,然后在开始安装的时候选择这个文件作为脚本的输入。ESXi应答文件的语法模仿了Redhat kickstart的脚本,它设置的默认名字就是ks.cfg。脚本安装和交互式安装的结果是一样的。Kickstart脚本可以存储在CD、USB存储设备中,或通过FTP、HTTP、HTTPS或NFS导出。

基于kickstart脚本的安装有以下好处:

当需要重新构建服务器的时候,脚本式安装是个绝好的可重复的过程。

使服务器的构建和重新构建更快。

可以创建能够应用到多个服务器的标准构建。

提供了额外的安装选项。

最值得注意的是最后一点。大多数vSphere架构师和工程师都会认识到脚本安装的好处,但是使用ESXi脚本安装,你还需要在安装后通过命令自动配置服务器。

当把kickstart脚本、PXE引导程序和集中的媒体库组合在一起使用时,整个安装过程就不需要你动手了。当然,需要提前安装、测试并适当定制每个部分以确保其可行。这些构建环境很适合拥有几百个服务器的大型企业。和往常一样,必须权衡脚本式构建的好处和创建这个环境所需耗费的时间。

有两个社区项目都致力于简化PXE服务器、媒体库和kickstart脚本。它们很相像但体验略有不同。都是可以免费下载的虚拟设备,提供基于Web的控制台以创建自定义的脚本构建:

ESX Deployment Appliance(EDA):www.virtualappliances.eu/。

Ultimate Deployment Appliance(UDA):www.ultimatedeployment.org/。

遗憾的是,这两个项目都没能保持其最初的热情,直到Auto Deploy特性的到来。Auto Deploy(特别是vSphere 5.1时已支持有状态安装)可以完全取代它们。PXE服务器、媒体库、脚本安装和安装后配置都可以通过Auto Deploy完成。但是只有具有Enterprise Plus授权的高级vSphere版本中才有Auto Deploy特性。可以说,大多数足够大且在考虑Auto Deploy的可替代方案的vSphere用户都是有Enterprise Plus授权的用户。

目的地 可以将系统镜像部署到多个地方。一般情况下,你可以把它部署到本地硬盘(包括SSD硬盘)中。有些硬盘,特别是SAS硬盘,会被错误地认为是远程硬盘。这样安装时就不会创建scratch 分区,scratch目录就会被创建在内存中。

可安装ESXi还可以部署到U盘或者已挂载到服务器上的SD卡中。这两个部署位置都被ESXi认为是removable(可移除)的,并当作全功能的嵌入式ESXi处理。如果服务器供应商的设备支持U盘或者SD卡,那么根据VMware的定义,其中的ESXi就是嵌入式ESXi(虽然服务器供应商可能并不这么认为)。不管是否经过验证,将ESXi安装到U盘和SD卡上的影响都是一样的。要了解具体后果,请阅读下一小节“嵌入式ESXi”。

你还可以将系统镜像安装到SAN LUN上。SAN LUN可以是FC、FCoE,也可以是iSCSI。通过一个独立的硬件iSCSI卡(iSXSI HBA)或者独立硬件iSCSI适配器上的软件启动器,就可以用iSCSI LUN来引导ESXi。要使用软件启动器实现SAN引导,网卡必须支持iSCSI引导固件表(iSCSI Boot Firmware Table,iBFT)。iBFT格式 允许将iSCI参数保存到网卡内置的内存中。

VMware Go

常规安装方法的一个可替代方案就是使用VMware的基于SaaS的Go服务。它是一个云部署和管理方案。用户可以注册到这个服务。VMware Go可以通过远程的方式将ESXi安装到现有的Windows服务器上并通过Internet访问Web服务。它会检查服务器硬件以确保是兼容的,然后通过流媒体的方式将镜像拷贝到远程服务器上。最初它的目标市场是SMB:免费下载,注册服务便宜,且特性比正式版本中的还要多。如果小公司的部署可以从额外的支持和管理中获益,那么这个方案值得推荐。

再重申一下,ESXi可安装镜像提供如下引导方式:

CD。

USB。

PXE server。

 Auto Deploy server。

如下安装方式:

交互式。

脚本式。

可以从如下位置引导镜像:

本地硬盘(包括SSD)。

USB或SD(类似于嵌入式ESXi)。

FC、FCoE或者 iSCSI SAN LUN。

嵌入式ESXi

嵌入式ESXi背后的理念就是服务器供应商刚买到产品就可以卖掉。镜像在服务器出厂前就以固件的方式预安装好了,或者写到USB闪存或SD卡上然后安装到主板内部socket上。 通常,ESXi镜像包含硬件驱动和CIM插件,这些也存在于供应商的ESXi可安装镜像的定制版本中。这些软件不是直接安装在服务器上的,而是上电后再获取安装信息。实际上,很多服务器供应商都会让客户从他们认证的USB驱动器中选择一个购买,这些驱动都包含在供应商定制的镜像中(可以在线定制的ESXi可安装镜像)。

重要的是除了驱动外,其他内容都是一样的。硬件不同,供应商的质保和技术支持也会不同,但是嵌入式ESXi的软件镜像和可安装ESXi中的镜像是一样的。理论上讲,嵌入式ESXi只是新硬件的一个选项。但是不能反过来将它添加到现有服务器上,也就是说由于镜像是一样的,所以将ESXi可安装镜像安装到USB闪存上,你得到的是完全一样的东西。

嵌入式ESXi认为媒介是可删除的,对它们的处理方式也不同。它只使用硬盘的前1GB空间,而不会创建scratch分区。除非找到本地硬盘分区或本地VMFS 数据存储来存储scratch目录,否则它会默认常驻内存的ramdisk。缺点就是重启或系统故障后其中的内容会消失。通过在远程数据存储上创建scratch目录或将日志重新定向到集中的syslog服务器上就可以缓解这个风险(本章2.6节会介绍这部分内容)。

如果要购买新的服务器硬件并决定在ESXi中使用,那么你需要考虑的关于嵌入式ESXi的关键决策有哪些呢?

嵌入式ESXi的优势:

无需安装。

服务器相对便宜,因为制造上不需要给服务器配置RAID卡和本地硬盘。

服务器本质上是一个设备,所有硬件都是支持的,且即时可用。

嵌入式ESXi的缺点:

你可以在所有服务器上使用可安装ESXi或Auto Deploy,这样安装方法统一且可以继续购买和以前一样的硬件。

ESXi的常规HCL更广泛,所以为了满足需求,你需要定制更多的内容。

为可安装ESXi或Auto Deploy购买的都是成品服务器,你可以为它们重新设定服务器角色。

为可安装ESXi购买的服务器可能都有本地硬盘,所以可以提供本地scratch分区和VMFS分区。

无状态ESXi

无状态ESXi是在vSphere 5.0时作为一个支持的部署方式引入的。与可安装ESXi和嵌入式ESXi不同,无状态host不是从硬盘引导的。目前所有的无状态主机利用的都是它们常驻内存的特点,以及每次引导时都能从网络中以流媒体的方式下载小型ESXi的特性。这和PXE引导可安装ESXi不同,因为host会直接将ESXi镜像拷贝到硬盘,以后就都从硬盘引导,而不是从网络引导。

无状态ESXi不等同于Auto Deploy

无状态ESXi使用Auto Deploy作为它的部署机制,没有Auto Deploy就不可能引导无状态host。但是这并不意味着Auto Deploy就完全等同于无状态ESXi:Auto Deploy是基础架构机制,无状态是host的配置方式。后面会介绍如何使用Auto Deploy.

无状态host最典型的特征就是物理服务器本身对其自身状态并不是权威的。这意味着不管服务器是从哪引导的,它都会从第三方获取权威状态。所以某种意义上讲无状态host也是有状态的,只是这个状态在每次引导时是从其他资源获取的。无状态host引导时,会从多个资源处获取其状态。表2-1列出了host状态的不同部分分别来自哪里。



默认情况下,运行时状态(比如日志文件)存储在host的ramdisk中,且重启后会消失。

无状态host的优点

你为什么想要一个每次引导都会忘记上一次配置的服务器呢?无状态服务器从中央权威处获取状态,这使硬件更容易更换,且部署及重新部署也会容易很多。如果要使用带有host更新、改进的驱动和变更的配置的新ESXi镜像的话,那么只需要重启host即可。同样,可以把host认为是集群的计算资源,分配给各个虚拟机。还可以实现在几分钟内自动重构host,让所有host都适应新的集群配置(新的网络和存储配置)。

无状态服务器还可以防止状态变异,因为每个服务器重启后都会回退到企业标准状态,无须再为每个host的配置状态进行排错了。

无状态host不需要本地存储设备。每次启动的时候镜像都是从网络获取的,且直接装载到内存中。如果没有本地存储,你应该把日志和核心转储信息重新定向到远程收集器来存储它们防止丢失。但是如果服务器启动时有本地存储,ESXi就会充分利用它,把scratch分区挂载到本地存储。不需要本地硬盘和本地状态信息的理念使得ESXi服务器比你想象中的更像硬件设备。无状态部署特性说明ESXi镜像和所有host的配置都是可以集中和管理的。在一个大的网络环境中,这个比kickstart形式的脚本安装高效得多。

无状态缓存

vSphere 5.1引入了一个新的选项:无状态缓存。无状态缓存继承了常规无状态部署的理念,但是每次启动时,host都会从Auto Deploy服务器中获取镜像和状态信息,并拷贝到硬盘中。这个硬盘可以是本地硬盘、可移动的U盘,或者boot-from-SAN LUN。如果Auto Deploy基础设施有什么问题,host还可以直接从其本地缓存的副本引导。正常情况下,无状态缓存主机会从网络镜像引导。它只有在发生故障的情况下才会使用缓存的镜像。本地副本的存在使得Auto Deploy发生故障时,服务器也可以上电并启动所有的虚拟机。之后还可以用于排查Auto Deploy的问题。Auto Deploy基础设施恢复正常使用后,下一次服务器重启时就会看到host又从网络获取镜像(并更新其本地缓存)了。要启用这个模式,需要修改host profile,如果PXE引导失败,那么服务器的BIOS则需要尝试从硬盘引导。

常规的无状态模式没有启用本地缓存(这个模式vSphere 5.0时就有了,到vSphere 5.1时还是作为默认模式存在)。未启用本地缓存的无状态ESXi保持了其原有的优势:不需要本地硬盘。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.3.1 硬件需求
下一篇:2.3.3 Auto Deploy基础设施
相关文章
图文推荐
2.7.12 使用仿真器查
2.7.11 栈和寄存器组
2.7.8 出栈
2.7.7 压栈
排行
热门
文章
下载
读书

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