2.2 部署VMware ESXi
一旦确定了 vSphere的设计基础,那么就可以真正开始部署ESXi了。部署ESXi的方法主要有3种:
交互式安装ESXi;
无人干预(脚本化)安装ESXi;
自动化分配ESXi。
在这些方法中,最简单的是交互式安装ESXi,最复杂的是自动化分配ESXi。但是,后者可能是功能最强大的方法,具体选择取决于具体的需求和环境。本节将介绍在环境中部署ESXi的全部3种方法。
首先,从最简单的方法开始:交互式安装ESXi。
2.2.1 交互式安装VMware ESXi
VMware ESXi的交互式安装程序设计得简单易用。只需几分钟即可安装完成,下面开始介绍它的安装过程。
执行以下步骤,就可以以交互方式安装ESXi。
(1)将服务器硬件配置从CD-ROM驱动器启动。
在不同的硬件产品上,这个步骤的操作方式各不相同,而且还与安装方式有关,如本地安装或者通过基于IP的键盘、视频、鼠标(KVM)或其他远程管理工具进行远程安装。
(2)保证服务器能够访问VMware ESXi安装介质。
同样,本地安装和远程安装有不同的具体操作步骤:前者需要在光驱中插入VMware ESXi安装CD;后者通常需要将安装介质映像映射到虚拟光驱,如ISO映像。
(3)启动服务器。
一旦从安装介质启动,服务器就会显示启动菜单界面,如图2.2所示。
(4)按下Enter键,启动ESXi安装程序。
安装程序会启动vSphere虚拟机管理程序,最后停在欢迎消息界面上。按下Enter键继续安装。
(5)在最终的用户授权协议(End User License Agreement,EULA)界面上,按下F11键接受EULA,继续安装。
(6)接下来,安装程序会显示可用于安装或升级ESXi的磁盘列表。
可用的设备会被标记为本地设备或远程设备。图2.3和图2.4显示了两个不同的界面:一个显示本地设备,另一个显示远程设备。
获取VMware ESXi安装介质
安装介质可以从VMware网站下载:www.vmware.com/download/
。 VMware产品的实体包装已经不再销售了,但是,如果你持有所有产品的有效许可的话,可以直接从VMware下载。文件通常是ISO文件,你可以加载到一个服务器上,或者制作一张CD或DVD。
将ESXi作为虚拟机运行
从图2.3中可以看出,ESXi 6实际上是作为虚拟机运行的。是的,ESXi可以虚拟化。此处使用 VMware的Mac OS X版本桌面虚拟化工具VMware Fusion,将ESXi运行为一个虚拟机实例。在编写本书时,VMware Fusion的最高版本为6,正式支持的客户机操作系统是ESXi。这是测试ESXi的最新版的一种好办法,而且不需要服务器类的硬件。你可以将ESXi当做其自身之上的一个VM运行,但是记住,在这些“嵌套的”或虚拟管理程序中运行产品负载是不支持的。
图2.4显示了存储区域网络逻辑单元号(或SAN LUN)位于远程设备列表中,本地SAS设备也在远程设备列表中。图2.4显示有一个SAS驱动器连接了LSI Logic控制器,虽然该设备在物理上属于ESXi所在服务器的本地设备,但是安装程序将其标记为远程设备。
如果想要创建一个从SAN启动的环境,让每一个ESXi主机从一个SAN LUN启动,那么这里要选择合适的SAN LUN。此外,还可以直接安装到USB或安全数字(SD)设备上—在列表上选择对应的设备就可以安装。
(7)要了解关于设备的更详细信息,可切换到该设备(高亮),然后按下F1键。
该操作会显示更详细的设备信息,其中包括是否检测到已安装的ESXi以及该设备有什么虚拟机文件系统(VMFS)数据存储(如果有),如图2.5所示。在阅读完所选设备信息之后,按下Enter键返回设备选择界面。
(8)使用方向控制键选择希望安装ESXi的设备,然后按下Enter键。
(9)如果所选设备包含了一个VMFS数据存储或已安装了ESXi,那么它会提示一些操作选项,如图2.6所示。选择相应的操作,然后按下Enter键。
哪一个安装位置最好
本地设备、SAN LUN、USB,哪一个目标位置最适合安装ESXi?这些问题的答案取决于vSphere部署的整体设计,因此没有统一的答案。许多因素影响这个决策。你的服务器是否只有iSCSI SAN,而没有iSCSI硬件?如果是,那么就无法选择从SAN启动。你是否安装到一些类似思科UCS的环境?在这些环境中,极力推荐从SAN启动。你的存储是否超过了2GB?尽管你可以在一个2GB的分区上安装ESXi,但是日志文件将无法存储在本地,你将会在UI中接受到一条警告,建议你设置一个外部日志主机。在选择ESXi安装位置时,一定要仔细考虑所有这些因素。
可选的操作如下。
升级ESXi,保留VMFS数据存储:该选项会升级到ESXi 6.0,同时保留现有的VMFS数据存储。
安装ESXi,保留VMFS数据存储:这个选项会全新安装一份ESXi 6.0,同时保留现有的VMFS数据存储。
安装ESXi,覆盖VMFS数据存储:这个选项会用新的VMFS数据存储覆盖现有的VMFS数据存储,同时全新安装一份ESXi 6.0。
(10)选择键盘布局,按下Enter键。
(11)输入(并重复输入)root账号密码。按下Enter键,继续安装程序。一定要记住所设置的密码—后面需要用它登录。
(12)在最终确认界面上,按下F11键,继续完成ESXi的安装。
在安装过程开始之后,只需要几分钟就可以把ESXi安装到所选的存储设备上。
(13)在安装完成(Installation Complete)界面上按下Enter键,重启主机。
在主机重启之后,ESXi就完成了安装。ESXi默认会通过动态主机配置协议(DHCP)获取IP地址。在特定的网络配置下,ESXi可能无法通过DHCP获得IP地址。本章2.3.2小节将介绍在安装ESXi之后如何使用直连控制台用户界面(Direct Console User Interface,DCUI)修复网络问题。
VMware还支持ESXi的脚本化安装。正如前面所介绍的,虽然安装ESXi并没有太多的交互步骤,但是脚本化ESXi安装可以进一步减少部署时间。
从USB或网络交互式安装ESXi
除了从安装CD/DVD介质启动ESXi安装程序,还可以从USB闪盘或通过Preboot Execution Environment(PXE)(即通过网络)安装ESXi。关于从USB闪盘或由PXE启动ESXi安装程序的详细信息,参考www.vmware.com/go/support-pubs-vsphere网站的《vSphere安装指南》。注意,从PXE启动安装程序不同于从PXE启动ESXi,本书将在2.2.3节中介绍这个问题。
2.2.2 执行无人干预的VMware ESXi安装
ESXi支持使用安装脚本(通常称为快捷脚本),它可以自动化安装过程。使用安装脚本,用户就可以创建无人干预安装过程,从而简单快速地部署多个ESXi实例。
ESXi安装介质上包含一个默认安装脚本。代码清单2.1显示了一个默认安装脚本。
代码清单2.1 ESXi提供了一个默认安装脚本
#
# Sample scripted installation file
#
# Accept the VMware End User License Agreement
vmaccepteula
# Set the root password for the DCUI and Tech Support Mode
rootpw mypassword
# Install on the first local disk available on machine
install—firstdisk—overwritevmfs
# Set the network to DHCP on the first network adapter
network—bootproto=dhcp—device=vmnic0
# A sample post-install script
%post—interpreter=python—ignorefailure=true
import time
stampFile = open('/finished.stamp', mode='w')
stampFile.write( time.asctime() )
如果要用该默认安装脚本安装ESXi,那么可以在启动VMware ESXi安装程序时添加启动选项:ks=file://etc/vmware/weasel/ks.cfg。后文会介绍如何指定该启动选项。
当然,只有当脚本设置适合环境使用时,默认安装脚本才会生效,否则需要创建一个自定义安装脚本。安装脚本命令与前一个版本vSphere所提供的脚本非常相似。下面对ESXi安装脚本所提供的部分命令进行分析介绍。
accepteula或vmaccepteula这两个命令用于接受ESXi授权协议。
install这个命令表示全新安装ESXi,而不是升级。使用该命令时,还需要指定以下参数。
--firstdisk指定安装ESXi的磁盘。默认情况下,ESXi安装程序会先选择本地磁盘,然后才是远程磁盘,最后是USB磁盘。在–firstdisk命令之后添加逗号分隔的列表,就可以修改选择顺序,如:
—firstdisk=remote,local
这样就会安装到第一个可用的远程磁盘,然后是第一个可用的本地磁盘。一定要注意,千万不要错误地覆盖原有数据(参见下一组命令)。
--overwritevmfs或--preservevmfs这两个命令指定安装程序处理现有VMFS数据存储的方式。顾名思义,前者表示覆盖,后者表示保留。
keyboard这个命令用于指定键盘类型。在安装脚本中,这是一个可选参数。
network这个命令用于指定所安装ESXi主机的网络配置。它是可选参数,但是通常建议配置这个命令。它可以指定不同的配置参数:
--bootproto将这个参数设置为dhcp,表示通过DHCP分配网络地址;设置为static,表示手动配置IP地址。
--ip这个参数用于设置IP地址。使用--bootproto=static时,必须用它设置IP。IP地址应该采用带点的十进制格式。
--gateway这个命令以带点的十进制格式指定默认网关的IP地址。在使用--bootproto=static时,必须指定网关地址。
--netmask这个命令以带点的十进制格式指定网络掩码。在使用--bootproto= static时,必须指定网络掩码。
--hostname指定所安装系统的主机名。
--vlanid如果需要为系统分配一个VLAN ID,则使用这个命令。如果不指定一个VLAN ID,那么系统只能响应未标记流量。
--addvmportgroup这个参数可以设置为0或1,用于控制是否创建一个默认虚拟机网络端口组。0表示不创建端口组;1表示创建端口组。
Reboot这个命令是可选的。指定这个命令,安装结束之后系统会自动重启。如果添加参数--noeject,则不弹出CD。
Rootpw这是一个必填参数,用于设置系统的root用户密码。如果不想以明文方式显示root用户密码,则需要使用--iscrypted参数,生成加密密码。
Upgrade这个参数表示升级到ESXi 6.0。upgrade命令的许多参数与install命令相同,而且还有另外一个参数--deletecosvmdk,它可以在从ESX升级到ESXi时删除ESX服务控制台VMDK。
上面所列命令并不是ESXi安装脚本所包含的全部命令,但是已经包含了大部分经常使用的命令。
在代码清单2.1中可以看到,默认安装脚本包含%post指令,它可以使用Python解释器或Busybox解释器附加额外的脚本。虽然代码清单2.1并没有附加脚本,但是如果使用%firstboot,则可以添加Python或Busybox命令,定制ESXi的安装过程。该部分需要添加到安装脚本命令之后、%post之前的位置。ESXi shell所支持的所有命令都可以在%firstboot中执行,因此vim-cmd、esxcfg-vswitch、esxcfg-vmknic等命令都可以组合到安装脚本的%firstboot部分。
上一个版本的vSphere(ESX或ESXi)所支持的许多命令,在ESXi 6.0的安装脚本中已经不能使用,其中包括:
- autopart(由install、upgrade或installorupgrade替代);
- auth或authconfig;
- bootloader
- esxlocation
- firewall
- firewallport
- serialnum或vmserialnum;
- timezone
- virtualdisk
- zerombr
- %firstboot的--level选项。
在创建安装脚本之后,还需要将脚本添加到安装流程中。
在启动选项中指定安装脚本的位置,不仅可以让安装程序使用默认脚本,还可以让它使用所创建的定制安装脚本。安装脚本可以存储在USB闪盘中,也可以存储在通过NFS、HTTP、HTTPS或FTP访问的网络位置上。表2.1列举了无人干预ESXi安装过程中可以使用的启动选项。
这里并没有包含全部启动选项
表2.1的列表只包含执行脚本化ESXi安装过程中最常用的启动选项。完整的启动选项列表,可参考VMware网站的《vSphere安装指南》。
要在安装过程中使用一个或多个启动选项,必须在ESXi安装程序的启动界面上指定这些参数。安装程序启动界面底部提示:按下Shift+O组合键,即可编辑启动选项。
以下代码可用于在HTTP URL中检索安装脚本;在安装程序启动界面底部的提示符后输入:
<ENTER: Apply options and boot><ESC: Cancel>
> runweasel ks=http://192.168.1.1/scripts/ks.cfg ip=192.168.1.200
netmask=255.255.255.0 gateway=192.168.1.254
使用安装脚本安装ESXi,不仅能够提高安装速度,还有利于保证所有ESXi主机都有统一的配置。
最后一种部署ESXi的方法是使用vSphere Auto Deploy(自动部署服务器),它是最复杂的方法,但是它也是最灵活的安装方法。
2.2.3 使用vSphere Auto Deploy部署VMware ESXi
vSphere Auto Deploy是一种网络部署服务,允许通过网络连接来基于一个映像模板构建ESXi主机。如果使用Auto Deploy安装ESXi主机,不需要启动安装媒介,就可以启动和运行。在使用Auto Deploy之前,需要满足一些预备条件。这里会列出这些预备条件,但是,在深入本节内容之前,我还想提一下vCenter Server的需求。Auto Deploy需要有一个安装好的vCenter Server才能运行,但是,我们在第3章才会开始讨论vCenter Server。所以,你可以先跳过本节,等到安装并运行了vCenter Server之后,再回过头来阅读;或者也可以继续阅读看看如何配置该服务。
配置vSphere Auto Deploy的模式有3种:
无状态模式;
无状态缓存模式;
有状态安装模式。
在无状态模式下使用Auto Deploy部署ESXi时,实际上并不是在安装ESXi。它并不会将ESXi真正安装到本地磁盘或SAN启动LUN中,而是创建一个特殊环境,在主机启动时将ESXi直接加载到内存中。
在无状态缓存模式下使用Auto Deploy部署ESXi时与无状态模式的情况相同,只是将映像缓存在服务器本地磁盘或SAN启动LUN中。如果Auto Deploy架构不可用,主机将从本地缓存的映像中启动。在这种模式下,ESXi仍然在内存中运行,但是它从本地磁盘加载,而不是通过网络从Auto Deploy服务器加载。
有状态安装模式与无状态缓存模式类似,但是服务器启动顺序是相反的:先启动本地磁盘,再启动网络。如果服务器不命令网络重新启动,则不需要Auto Deploy服务。这种模式适用于网络安装机制。
Auto Deploy使用一组规则(称为部署规则),用于控制为特定ESXi映像(称为映像配置文件)分配哪些主机。部署一个新的ESXi映像就是简单地修改部署规则,将物理主机指向一个新的映像配置文件,然后在PXE/网络启动选项下重新启动。当主机启动之后,它就会接收到一个新的映像配置文件。
理论似乎很简单,但是在实际部署过程中,还需要完成下面几个步骤。
(1)创建一个vSphere自动部署服务器。这个服务器存储映像配置文件。
(2)在网络中创建和配置一个简单文件传输协议(TFTP)服务器。
(3)在网络中配置一个DHCP服务器,为启动的主机传输正确的信息。
(4)使用PowerCLI创建一个映像配置文件。
(5)再使用PowerCLI创建一个部署规则,将映像配置文件分配给特定子网的主机。
自动部署的依赖性
本章主要讨论ESXi主机的安装方法。但是,vSphere自动部署依赖于Host Profiles(主机配置文件),这是VMware vCenter中的一项功能。第3章将详细介绍安装vCenter和配置主机配置文件。
在完成上述5个步骤之后,就可以给ESXi指定物理主机。在所有配置都完成之后,就开始下面的流程。
(1)当物理服务器启动时,服务器先启动一个PXE启动序列。DHCP服务器会给主机分配一个IP地址,提供TFTP服务器的IP地址和需要下载的启动文件名。
(2)主机与TFTP服务器通信,下载指定文件名的启动文件,其中包含一个gPXE启动文件和一个gPXE配置文件。
(3)gPXE执行,这时主机会向自动部署服务器发送一个HTTP启动请求。该请求包含主机、主机硬件和主机网络等信息。当gPXE执行时,这些信息会写回到服务器控制台,如图2.7所示。
(4)自动部署服务器根据gPXE传输的信息(见图2.7)查找与部署规则相匹配的服务器,并给它分配相应的映像配置文件。然后,自动部署服务器会通过网络将ESXi映像发送给物理主机。
当主机启动结束之后,就得到了一个运行ESXi的物理系统。自动部署服务器还能够自动将ESXi主机加到vCenter Server上,并分配一个主机配置(详见第3章),用于执行更多的配置。因此,系统给管理员提供了很大的灵活性和功能。
是否想要开始使用Auto Deploy分配ESXi主机了呢?现在就开始创建vSphere自动部署服务器。
1.安装vSphere自动部署服务器
vSphere自动部署服务器是存储各种ESXi映像配置文件的位置。当一个物理主机启动时,服务器通过HTTP将映像配置文件传输给它。映像配置文件就是真正的ESXi映像,包含了多个VIB文件。VIB是ESXi的软件包;它们可能是驱动程序、通用信息管理(CIM)提供者或其他扩展或增强ESXi平台的应用程序。VMware和VMware合作伙伴都可以用VIB发行软件。
默认情况下,vCenter Server安装了vSphere Auto Deploy但是并没有启动。vSphere之前的版本,要求对Auto Deploy进行单独的安装。
(1)打开vSphere Web客户端(如果还没有安装它的话,跳过去阅读第3章,然后再回到这里),并且连接到vCenter Server。
(2)依次找到vCenter Inventory Lists→vCenter →Manage→Manage Settings→Auto Deploy。
你会看到注册的Auto Deploy服务的相关信息。图2.8显示了在vCenter Server上安装并注册了自动部署服务器之后的Auto Deploy界面。以上就是安装自动部署服务器的步骤。在安装并启动运行之后,剩下的工作或配置就是在网络上配置用于支持vSphere Auto Deploy的TFTP和DHCP。下一节将概括介绍TFTP和DHCP配置。
2.配置自动部署的TFTP和DHCP
配置TFTP和DHCP的具体步骤与网络所使用的TFTP和DHCP服务器相关。例如,配置支持用于vSphere Auto Deploy的ISC DHCP服务器与配置Windows Server的DHCP Server服务是截然不同的。因此,本节只能介绍一些基本过程。在实际配置中,可参考具体供应商的文档说明。
(1)配置TFTP:配置TFTP时,只需要将相应的TFTP启动文件上传到TFTP目录。如图2.8所示,超链接Download TFTP Boot Zip(下载TFTP启动压缩文件)指向所需要的文件。用这个链接下载Zip压缩文件,解压缩文件,将解压缩后的文件上传到TFTP服务器的TFTP目录上。
(2)配置DHCP:配置DHCP时,需要指定另外两个DHCP选项。
选项66,指next-server或启动服务器主机名,这里必须指定TFTP服务器的IP地址。
选项67,指boot-filename或启动文件名,它应该包含下面这个值:undionly.kpxe.vmw-hardwired。
如果要在部署规则中通过IP地址指定主机,则需要用一种方法保证主机能够获得预期的IP地址。可以使用DHCP保留地址来实现这个效果,但是一定要在保留地址中加入选项66和67指定的地址。
一旦配置了TFTP和DHCP,就可以开始使用PXE启动服务器,但应先创建映像配置文件以部署ESXi。
3.创建一个映像配置文件
一开始,创建映像配置文件的过程似乎有些违反常规。创建映像配置文件时,首先要至少添加一个软件仓库(software depot)。软件仓库可以是HTTP服务上的一个文件和文件夹目录结构,或者(更常见的是)是一个压缩文件形式的离线仓库。用户可以添加多个软件仓库。
有一些软件仓库已经定义了一个或多个映像配置文件,用户还可以定义更多的映像配置文件(通常可以通过克隆现有映像配置文件实现)。然后,就能够在创建的映像配置文件上添加软件包(以VIB的形式)。一旦在映像配置文件上添加或删除软件包或驱动程序,就可以导出该映像配置文件(导出为一个ISO或者用作离线仓库的Zip压缩文件)。
所有映像配置文件任务都可以使用PowerCLI实现,所以一定要在系统上安装PowerCLI,才能够执行这些任务。第14章将介绍PowerCLI及其他自动化工具。在本节后面的内容中,将一步步介绍如何基于ESXi 6.0离线仓库Zip压缩文件(可供注册用户下载)创建一个映像配置文件。
执行下面的步骤,创建一个映像配置文件。
(1)在PowerCLI命令提示符上,使用Connect-VIServer命令工具连接vCenter Server。
(2)使用Add-EsxSoftwareDepot命令,添加ESXi 6.0离线仓库文件:
Add-EsxSoftwareDepot C:vmware-ESXi-6.0-XXXXXX-depot.zip
(3)重复执行Add-EsxSoftwareDepot命令,根据需要添加其他软件仓库。将下列代码添加至在线仓库文件:
Add-EsxSoftwareDepot
https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
(4)使用Get-EsxImageProfile命令,列出当前可见仓库下的所有映像配置文件。
(5)要创建一个新的映像配置文件,则需要使用New-EsxImageProfile命令,克隆一个现有的配置(现有配置一般是只读的):
New-EsxImageProfile –CloneProfile "ESXi-6.0-XXXXXX-standard"
–Name "My_Custom_Profile"
一旦创建了映像配置文件,就可以通过添加VIB定制映像配置文件,或者导出映像配置文件。有时候我们需要导出映像配置文件,如果退出用于创建映像配置文件的PowerCLI会话,然后重新启动新的会话,就无法使用之前创建的映像配置文件。将映像配置文件导出为Zip压缩文件格式的离线仓库,就可以在新启动的会话中轻松添加这个映像配置文件。
执行这个命令,可以将一个映像配置文件导出为一个Zip压缩文件格式的离线仓库:
Export-EsxImageProfile –ImageProfile "My_Custom_Profile" –ExportToBundle
–FilePath "C:\path\to\ZIP-file-offline-depot.zip"
当在一个新启动的PowerCLI会话中处理映像配置文件时,使用Add-EsxSoftware`` Depot命令,可以直接添加这个离线仓库。
最后一步是建立部署规则,将映像配置文件链接到服务器,就可以在启动时将ESXi分配到服务器上。下一节将开始介绍这个步骤。
4.建立部署规则
部署规则与vSphere Auto Deploy的关系就像是“开车上路守交规”。定义一个部署规则,就是将一个映像配置文件链接到一个或多个物理主机上。这时,vSphere Auto Deploy会将特定映像配置文件中定义的所有VIB复制到自动部署服务器,这样主机就可以访问这些VIB。一旦创建了部署规则,实际上就开始通过Auto Deploy分配主机(当然,假设所有其他方面已经就绪且正确运行)。
和映像配置文件一样,部署规则也通过PowerCLI管理。使用New-DeployRule和Add-DeployRule命令,可以分别定义新的部署规则和将它们添加到有效的规则集中。
执行下面的步骤,就可以定义一个新的部署规则。
(1)在之前连接vCenter Server和定义映像配置文件的PowerCLI会话中,使用New- DeployRule命令,定义一个新的部署规则,可以将一个映像配置文件映射到物理主机上:
New-DeployRule –Name "Img_Rule" –Item "My_Custom_Profile"
–Pattern "vendor=Cisco", "ipv4=10.1.1.225,10.1.1.250"
这条规则将映像配置文件My_Custom_Profile分配给所有供应商字符串为“Cisco”的主机,并且将它们的IP地址设置为10.1.1.225或10.1.1.250。此外,也可以指定一个IP地址范围,如10.1.1.225~10.1.1.250(用连字符分隔IP地址起止范围)。
(2)接下来,创建一条部署规则,将ESXi主机分配给vCenter Server的一个集群:
New-DeployRule –Name "Default_Cluster" –Item "Cluster-1" –AllHosts
在注册自动部署服务器的vCenter Server上,将这条规则分配到它的集群Cluster-1所包含的全部主机上(前面提到过,自动部署服务器必须注册到一个vCenter Server实例上)。
(3)将这些规则添加到有效的规则集中:
Add-DeployRule Img_Rule
Add-DeployRule Default_Cluster
只要往有效的规则集中添加部署规则,vSphere Auto Deploy就会在必要时将VIB上传到自动部署服务器,从而满足所定义规则的要求。
(4)使用Get-DeployRuleSet命令,确认这些规则已经添加到有效的规则集中。
在创建好部署规则之后,现在就可以通过Auto Deploy分配主机。启动与所定义部署规则相匹配的物理主机,它的启动顺序应该和本节开头所介绍的启动顺序一样。图2.9显示了通过vSphere Auto Deploy启动ESXi的过程。
现在,大部分读者都应该已经体会到自动部署的灵活性了。如果需要部署一个新的ESXi映像,只需要定义一个新的映像配置文件(必要时使用新的软件仓库),给该映像配置文件分配一条部署规则,然后重启物理服务器。当物理服务器启动之后,它们会通过PXE启动最新分配的ESXi。
当然,还需要解决其他一些问题,才能保证这种方法能够有效执行。
映像配置文件并不包含任何ESXi配置状态信息,如虚拟交换机、安全设置、高级参数等。在vCenter Server中,主机配置文件负责存储些配置状态信息,并且会自动将这些配置信息下发到主机上。你可以使用一条部署规则分配主机配置文件,或者可以将主机配置文件分配给一个集群,然后使用一条部署规则将主机加到集群上。第3章将更深入介绍主机配置文件。
日志文件、生成的私钥等状态信息存储在主机内存中,它们在重启后会丢失。因此,还必须配置额外的设置,如创建用于捕捉ESXi日志的系统日志。否则,每当主机重启时,重要的操作系统都会丢失。这些状态信息的配置可以被捕捉到一个主机配置文件中,然后再分配给一个主机或集群。
在Auto Deploy无状态模式下,因为ESXi映像不包含配置状态,而且也不记录动态状态信息,所以被认为是无状态ESXi主机。所有状态信息都存储在其他位置,而不存储在主机本身。
保证Auto Deploy可用
Nick Marshall说过,“当客户使用vSphere 5.0 Auto Deploy时,我们要保证Auto Deploy组件的高可用性。这意味着设计负责启动和部署ESXi主机的基础架构要更加复杂。部署在主机中的PXE、Auto Deploy和vCenter虚拟机等服务在单独的管理集群中都不支持使用Auto Deploy。
按照高度可用的Auto Deploy在vSphere文档中的最佳实践标准,在SAN中创建一个单独的可本地安装或启动的集群可以保证不出现“将所有鸡蛋都装在一个篮子里”的情况。请确保:在完全虚拟的环境中,使用Auto Deploy分配ESXi主机的虚拟机并未在它们需要创建的ESXi主机上运行。
5.无状态缓存模式
除非ESXi主机硬件没有本地磁盘或可启动的SAN存储,建议考虑其他两种Auto Deploy模式。这些模式在Auto Deploy服务不可用时,可为主机提供复原能力。
按照配置无状态模式的步骤及附加步骤,就可以配置无状态缓存模式。
(1)在vCenter中,转到vCenter→Home→Host Profiles。
(2)创建一个新的主机配置文件或编辑现有的主机配置文件并附加到主机中。
(3)在Advanced Configuration Settings下转到System Image Cache Configuration。
(4)选择Enable Stateless Caching on The Host。
(5)输入磁盘配置详细信息,使用2.2.2小节中介绍的代码清单,默认填入第一个可用磁盘,如图2.10所示。
(6)单击完成,结束Host Profile向导。
(7)配置BIOS主机的启动顺序,先启动网络,再启动本地磁盘。服务器类型不同,此过程步骤也会有所不同。
(8)重启主机,完成添加新的Auto Deploy映像和新的主机配置文件。
该配置命令ESXi主机将Auto Deploy映像加载于内存中,并在成功启动后保存至本地磁盘。当主机重启后网络或AutoDeploy不可用时,该过程会退回并启动本地磁盘中的缓存副本。
6.有状态模式
与有状态缓存模式类似,Auto Deploy有状态模式是通过在vCenter内编辑主机配置文件并在BIOS主机内启动顺序设置进行配置的。
(1)在vCenter中,转到vCenter→Home→Host Profiles。
(2)创建一个新的主机配置文件或编辑现有的主机配置文件并附加到主机中。
(3)在Advanced Configuration Settings下转到System Image Cache Configuration。
(4)选择Enable Stateful Installs On The Host。
(5)输入磁盘配置详细信息,使用2.2.2小节中介绍的代码清单,默认填入第一个可用磁盘,如图2.10所示。
(6)单击完成,结束Host Profile向导。
(7)配置BIOS主机的启动顺序,先启动本地磁盘,再启动网络。服务器类型不同,此过程步骤也会有所不同。
(8)主机以维护模式启动,在主机Summary选项下单击Remediate Host(以应用主机配置文件。
(9)为主机提供IP地址,然后重启主机。
重启之后,主机以“正常工作”的ESXi主机形式运行于本地磁盘中。
vSphere自动部署具有一些突出的优点,特别是在需要管理大量ESXi主机的环境中,但这也增加了其复杂性。如前所述,这都取决于vSphere部署的设计和需求。