目录一、使用模板批量部署虚拟机第1步将虚拟机转换为模板第2步创建自定义规范第3步从模板部署新的虚拟机第4步将模板转换为虚拟机第5步批量部署CentOS虚拟机二、在线迁移虚拟机vMotion第1步打开添加网络向导第2步配置端口属性第3步设置端口IP地址第4步查看摘要信息第5步使用相同的步骤为esxi2.lab.net主机添加VMkernel端口第1步设置防火墙规则第2步持续ping服务器第3步打开迁移虚拟机向导第4步选择目标主机第5步选择优先级第6步开始迁移虚拟机三、配置分布式资源调度DRS第1步打开创建群集向导第2步输入群集名称第3步设置EVC第4步拖动主机esxi1.lab.net到群集第5步拖动主机esxi2.lab.net到群集第6步查看摘要信息第1步编辑DRS第2步调整自动化级别第3步选择虚拟机运行的主机第4步选择另外虚拟机运行的主机第1步打开添加规则向导第2步设置规则名称与类型第3步选择适用的虚拟机第4步选择运行虚拟机的主机第5步查看规则第6步验证 “分开虚拟机”规则类型第7步设置特别虚拟机禁用规则四、启用虚拟机高可用性HA第1步了解高可用性实现的四种级别第2步了解vSphereHA的必备组件第3步了解Master和Slave主机第4步了解心跳信号第5步了解实施vSphere HA的条件第1步开始编辑vSphere HA第4步调整优先级第1步开启虚拟机第2步使用ping命令测试虚拟机第3步模拟主机故障第4步观察ping命令测试状态第5步查看虚拟机摘要信息一、使用模板批量部署虚拟机如果需要在一个虚拟化架构中创建多个具有相同操作系统的虚拟机如创建多个操作系统为Windows Server 2008 R2的虚拟机使用模板可大大减少工作量。模板是一个预先配置好的虚拟机的备份也就是说模板是由现有的虚拟机创建出来的。要使用虚拟机模板需要首先使用操作系统光盘ISO文件安装好一个虚拟机。虚拟机操作系统安装完成后安装VMware Tools同时可以安装必要的软件然后将虚拟机转换或克隆为模板将来可以随时使用此模板部署新的虚拟机。从一个模板创建出来的虚拟机具有与原始虚拟机相同的网卡类型和驱动程序但是会拥有不同的MAC地址。如果需要使用模板部署多台加入同一个活动目录域的Windows虚拟机每个虚拟机的操作系统必须具有不同的SID(Security Identifier安全标识符)。SID是Windows操作系统用来标识用户、组和计算机账户的唯一号码。Windows操作系统会在安装时自动生成唯一的SID。在从模板部署虚拟机时vCenter Server支持使用sysprep工具为虚拟机操作系统创建新的SID。第1步将虚拟机转换为模板下面将把虚拟机Windows Server 2008 R2转换成模板。1关闭虚拟机Windows Server 2008 R2在虚拟机名称处右击选择“所有vCenter操作”-“转换成模板”命令2虚拟机转换成模板之后在“主机和群集”中就看不到原始虚拟机了在VC- “虚拟机和模板”中可以看到转换后的虚拟机模板第2步创建自定义规范下面将为Windows Server 2008 R2操作系统创建新的自定义规范当使用模板部署虚拟机时可以调用此自定义规范。1在“主页”的“规则和配置文件”中选择“自定义规范管理器”单击“创建新规范”图标2选择目标虚拟机操作系统为Windows输入自定义规范名称为Windows Server 2008 R23设置客户机操作系统的名称和单位4设置计算机名称在这里使用“在克隆/部署向导中输入名称”5输入Windows产品密钥6设置管理员Administrator的密码7设置时区为“(GMT0800)北京重庆香港特别行政区乌鲁木齐”8设置用户首次登录系统时运行的命令这里不运行任何命令9配置网络这里选择“手动选择自定义设置”选中“网卡1”单击“编辑”图标10选择“当使用规范时提示用户输入地址”输入子网掩码为255.255.255.0、默认网关为192.168.0.1、首选DNS服务器为运营商的服务器202.102.128.6811设置工作组或域这里使用默认的工作组WORKGROUP12选中“生成新的安全ID (SID)”第3步从模板部署新的虚拟机下面将从虚拟机模板WindowsServer2008R2部署一个新的虚拟机Web Server调用刚创建的自定义规范并进行自定义。 1在vCenter-“虚拟机和模板”中右击虚拟机模板“WindowsServer2008R2”选择“从此模板部署虚拟机”命令2输入虚拟机名称为Web Server选择虚拟机保存位置为Datacenter3选择计算资源为esxi2.lab.net4选择虚拟磁盘格式为Thin Provision精简配置选择存储为iSCSI-Starwind5选择克隆选项选中“自定义操作系统”和“创建后打开虚拟机电源”6选中之前创建的自定义规范Windows Server 2008 R27输入虚拟机的NetBIOS名称为WebServer网卡1的IP地址为192.168.0.1018完成从模板部署虚拟机。9在近期任务中可以看到正在克隆新的虚拟机部署完成后新的虚拟机会自动启动可以登录进入操作系统检查新虚拟机的IP地址、主机名等信息是否正确第4步将模板转换为虚拟机在进行后面的内容之前在这里先把模板WindowsServer2008R2转换回虚拟机。1在模板WindowsServer2008R2的右键快捷菜单中选择“转换为虚拟机”命令2选择计算资源为esxi1.lab.net完成将模板转换成虚拟机。3在虚拟机设置中将虚拟机名称改为Database Server4以下为在“主机和群集”中显示的两个虚拟机如图5-25所示。这两个虚拟机将在【任务二】、【任务三】、【任务四】中使用第5步批量部署CentOS虚拟机以上介绍了使用模板批量部署Windows虚拟机的方法对于CentOS/RHEL/Fedora虚拟机必须在将虚拟机转换为模板之前对操作系统进行一系列修改否则系统会将网卡识别为eth1假设原始虚拟机配置了一块网卡eth0导致应用无法使用。这是因为Linux操作系统重新封装的过程与Windows不同当通过模板部署新的虚拟机时系统会为虚拟机分配新的MAC地址与操作系统记录的原始MAC地址不相同。 注意在安装CentOS时必须使用标准分区不能使用LVM分区。查询硬盘分区方式的命令为【fdisk –l】。在将CentOS虚拟机转换为模板之前必须进行以下操作删除相关的配置文件。1使用root用户登录CentOS输入命令【rm -rf/etc/udev/rules.d/*_persistent_*.rules】删除网卡设备相关配置文件。【 Is /etc/udev/rules.d】确认文件是否删除保留如下三个文件即可。 60-raw.rules 99-fuse.rules 99-vmware-scsi-udev.rules2编辑网卡配置文件将MAC地址信息删除。输入命令vi /etc/sysconfig/network_scripts/ifcfg_eth0编辑网卡配置文件将HWADDR这一行删除。3输入命令【rm -rf/etc/ssh/moduli/etc/ssh/ssh_host_*】删除SSH相关文件。【Is /etc/ssh】确认文件是否删除只看到以下文件即可 ssh_config sshd_config4输入命令vi /etc/sysconfig/network编辑网络配置文件将“HOSTNAME”这一行删除。5配置文件删除完成后输入【shutdown -h now】关闭虚拟机这时可以将虚拟机转换为模板了。6创建针对Linux操作系统的自定义规范然后从模板部署新的CentOS虚拟机即可。 至此便完成了Windows与Linux两种版本的虚拟机模板批量部署此任务结束二、在线迁移虚拟机vMotion迁移是指将虚拟机从一个主机或存储位置移至另一个主机或存储位置的过程虚拟机的迁移包括关机状态的迁移和开机状态的迁移。为了维持业务不中断通常需要在开机状态迁移虚拟机vSphere vMotion能够实现虚拟机在开机状态的迁移。在虚拟化架构中虚拟机的硬盘和配置信息是以文件方式存储的这使得虚拟机的复制和迁移非常好很方便。vSphere vMotion是vSphere虚拟化架构的高级特性之一。vMotion允许管理员将一台正在运行的虚拟机从一台物理主机迁移到另一台物理主机而不需要关闭虚拟机如图所示。要使vMotion正常工作必须在执行vMotion的两台ESXi主机上添加支持vMotion的VMkernel端口。 vMotion需要使用千兆以太网卡但这块网卡不一定专供vMotion使用。在设计ESXi主机时尽量为vMotion分配一块网卡。这样可以减少vMotion对网络带宽的争用vMotion操作可以更快、更高效。当虚拟机在两台物理主机之间迁移时虚拟机仍在正常运行不会中断虚拟机的网络连接。vMotion具有适合现代数据中心且被广泛使用的强大特性。VMware虚拟化架构中的vSphere DRS等高级特性必须依赖vMotion才能实现。假设有一台物理主机遇到了非致命性硬件故障需要修复管理员可以使用vMotion将正在运行的虚拟机迁移到另一台正常运行的物理主机中然后就可以进行修复工作了。当修复工作完成后管理员可以使用vMotion将虚拟机再迁移到原来的物理主机。另外当一台物理主机盼硬件资源占用过高时使用vMotion可以将这台物理主机中的部分虚拟机迁移到其他物理主机以平衡主机间的资源占用。vMotion实时迁移对ESXi主机的要求如下源和目标ESXi主机必须都能够访问保存虚拟机文件的共享存储(FC、FCoE或iSCSI)源和目标ESXi主机必须具备千兆以太网卡或更快的网卡源和目标ESXi主机上必须有支持vMotion的VMkernel端口源和目标ESXi主机必须有相同的标准虚拟交换机如果使用vSphere分布式交换机源和目标ESXi主机必须参与同一台vSphere分布式交换机待迁移虚拟机连接到的所有虚拟机端口组在源和目标ESXi主机上都必须存在。端口组名称区分大小写所以要在两台ESXi主机上创建相同的虚拟机端口组以确保它们连接到相同的物理网络或VLAN源和目标ESXi主机的处理器必须兼容。vMotion实时迁移对虚拟机的要求如下虚拟机禁止连接到只有其中一台ESXi主机能够物理访问的设备包括磁盘存储、CD/DVD驱动器、软盘驱动器、串口、并口。如果要迁移的虚拟机连接了其中任何一个设备要在违规设备上取消选中“已连接”复选框虚拟机禁止连接到只在主机内部使用的虚拟交换机虚拟机禁止设置CPU亲和性虚拟机必须将全部磁盘、配置、日志、NVRAM文件存储在源和目标ESXi主机都能访问的共享存储上。第1步打开添加网络向导在vCenter-“主机和群集”-esxi1.lab.net-“管理”-“网络”-“虚拟交换机”中单击“添加主机网络”选择“VMkernel网络适配器”选择“新建标准交换机”将vmnic3网卡添加到活动适配器如图5-27所示。第2步配置端口属性输入网络标签vMotion在“启用服务”中选中“vMotion流量”如图5-28所示。第3步设置端口IP地址输入VMkernel端口的IP地址为192.168.2.11子网掩码为255.255.255.0如图5-29所示。完成创建VMkernel端口。第4步查看摘要信息在esxi1.lab.net主机的摘要信息中可以看到vMotion已启用如图5-30所示。第5步使用相同的步骤为esxi2.lab.net主机添加VMkernel端口使用相同的步骤为esxi2.lab.net主机添加支持vMotion的VMkernel端口同样绑定到vmnic3网卡IP地址为192.168.2.12如图5-31所示。至此此子任务结束。下面将把正在运行的虚拟机Web Server从一台ESXi主机迁移到另一台ESXi主机通过持续ping虚拟机的IP地址测试虚拟机能否在迁移的过程中对外提供服务。第1步设置防火墙规则在虚拟机Web Server的“高级安全Windows防火墙”的入站规则中启用规则“文件和打印机共享(回显请求-ICMPv4 In)”第2步持续ping服务器在本机打开命令行输入“ping 192.168.0.101 -t”持续ping服务器Web Server第3步打开迁移虚拟机向导在Web Server的右键快捷菜单中选择“迁移”命令第4步选择目标主机选择目标资源为主机esxi1 .lab.net。第5步选择优先级vMotion优先级选择默认的“为最优vMotion性能预留CPU建议”第6步开始迁移虚拟机单击“完成”按钮开始迁移客户机在近期任务中可以看到正在迁移虚拟机等待一段时间虚拟机Web Server已经迁移到主机esxi1.lab.net上在迁移期间虚拟机一直在响应ping中间只有一个数据包的请求超时也就是说在使用vMotion迁移正在运行中的虚拟机时虚拟机一直在正常运行其上所提供的服务几乎一直处于可用状态只在迁移将要完成之前中断很短的时间最终用户感觉不到服务所在的虚拟机已经发生了迁移。三、配置分布式资源调度DRS分布式资源调度(Distributed Resource SchedulerDRS)是vCenter Server在群集中的一项功能用来跨越多台ESXi主机进行负载均衡vSphere DRS有以下两个方面的作用。(1)当虚拟机启动时DRS会将虚拟机放置在最适合运行该虚拟机的主机上。(2)当虚拟机运行时DRS会为虚拟机提供所需要的硬件资源同时尽量减小虚拟机之间的资源争夺。当一台主机的资源占用率过高时DRS会使用一个内部算法将一些虚拟机移动到其他主机。DRS会利用前面介绍的vMotion动态迁移功能在不引起虚拟机停机和网络中断的前提下快速执行这些迁移操作。要使用vSphere DRS多台ESXi主机必须加入到一个群集中。群集是ESXi主机的管理分组一个ESXi群集聚集了群集中所有主机的CPU和内存资源。一旦将ESXi主机加入到群集中就可以使用vSphere的一些高级特性包括vSphere DRS和vSphere HA等。注意如果一个DRS群集中包含两台具有64GB内存的ESXI主机那么这个群集对外显示共有128GB的内存但是任何一台虚拟机在任何时候都只能使用不超过64GB的内存。默认情况下DRS每5min执行一次检查查看群集的工作负载是否均衡。群集内的某些操作也会调用DRS例如添加或移除ESXi主机或者修改虚拟机的资源设置。DRS有以下3种自动化级别(1)手工当虚拟机打开电源时以及ESXi主机负载过重需要迁移虚拟机时vCenter都将给出建议必须由管理员确认后才能执行操作。(2)半自动虚拟机打开电源时将自动置于最合适的ESXi主机上。当ESXi主机负载过重需要迁移虚拟机时vCenter将给出迁移建议必须由管理员确认后才能执行操作。(3)全自动虚拟机打开电源时将自动置于最合适的ESXi主机上并且将自动从一台ESXi主机迁移到另一台ESXi主机以优化资源使用情况。由于生产环境中ESXi主机的型号可能不同在使用vSphere DRS时需要注意硬件配置较低的ESXi主机中运行的虚拟机自动迁移到硬件配置较高的ESXi主机上是没有问题的但是反过来可能会由于ESXi主机硬件配置问题导致虚拟机迁移后不能运行针对这种情况建议选择“手动”或“半自动”级别。在生产环境中如果群集中所有ESXi主机的型号都相同建议选择“全自动”级别。管理员不需要关心虚拟机究竟在哪台ESXi主机中运行只需要做好日常监控工作就可以了。DRS会使用vMotion实现虚拟机的自动迁移但是一个虚拟化架构在运行多年后很可能会采购新的服务器这些服务器会配置最新的CPU型号。而vMotion有一些相当严格的CPU要求。具体来说CPU必须来自同一厂商必须属于同一系列必须共享一套公共的CPU指令集和功能。因此在新的服务器加入到原有的vSphere虚拟化架构后管理员将可能无法执行vMotion。VMware使用称为EVC (Enhanced vMotion Compatibility增强的vMotion兼容性)的功能来解决这个问题。EVC在群集层次上启用可防止因CPU不兼容而导致的vMotion迁移失败。EVC使用CPU基准来配置启用了EVC功能的群集中包含的所有处理器基准是群集中每台主机均支持的一个CPU功能集。要使用EVC群集中的所有ESXi主机都必须使用来自同一厂商(Intel或AMD)的CPU、EVC包含以下3种模式。(1)禁用EVC。即不使用CPU兼容性特性。如果群集内所有ESXi主机的CPU型号完全相同可以禁用EVC。(2)为AMD主机启用EVC。适用于AMD CPU只允许使用AMD公司CPU的ESXi主机加入群集。如果群集内所有ESXi主机的CPU都是AMD公司的产品但是属于不同的年代则需要使用这种EVC模式。(3)为Intel主机启用EVC。适用于Intel CPU只允许使用Intel公司CPU的ESXi主机加入群集。如果群集内所有ESXi主机的CPU都是Intel公司的产品但是属于不同的年代则需要使用这种EVC模式。下面将在vCenter中创建vSphere群集配置EVC等群榘参数并且将两台ESXi主机都加入到群集中。第1步打开创建群集向导在vCenter-“主机和群集”-Datacenter的右键快捷菜单中选择“新建群集”命令第2步输入群集名称输入群集名称为vSphere如图5-41所示。在创建群集时可以选择是否启用vSphere DRS和vSphere HA等功能在这里暂不启用。第3步设置EVC选中群集vSphere单击“管理”-“设置”-VMware EVC在这里VMware EVC的状态为“已禁用”如图5-42所示。由于在本实验环境中两台ESXi主机都是通过VMware Workstation模拟出来的硬件配置特别是CPU完全相同所以可以不启用VMware EVC。在生产环境中如果ESXi主机的CPU是来自同一厂商不同年代的产品例如所有ESXi主机的CPU都是Intel公司Ivy Bridge系列、Haswell系列的产品则需要将EVC模式配置为 “为Intel主机启用EVC”然后选择“Intel®“Merom”Generation”如图5-43所示。第4步拖动主机esxi1.lab.net到群集选中主机esxi1.lab.net将其拖动到群集vSphere中第5步拖动主机esxi2.lab.net到群集可以使用相同的方法将主机esxi2.lab.net也加入到群集中或者在群集的右键快捷菜单中选择“将主机移入群集”命令第6步查看摘要信息两台ESXi主机都已经加入群集vSphere如图5-46所示在群集的“摘要”选项卡中可以查看群集的基本信息。群集中包含两台主机群集的CPU、内存和存储资源是群集中所有ESXi主机的CPU、内存和存储资源之和。第1步编辑DRS选中群集vSphere单击“管理”-“设置”-“vSphere DRS”单击“编辑”按钮如图5-47所示。第2步调整自动化级别选中“打开vSphere DRS”将自动化级别修改为“手动”如图5-48所示。第3步选择虚拟机运行的主机打开虚拟机Database Server的电源vCenter Server会给出虚拟机运行在哪台主机的建议。在这里选择将虚拟机Database Server置于主机esxi1.lab.net上如图5-49所示。第4步选择另外虚拟机运行的主机打开虚拟机Web Server的电源由于主机esxi1.lab.net的可用资源小于主机esxi2.lab.net因此vCenter Server建议将虚拟机Web Server置于主机esxi2.labnet上如图5-50所示。为了进一步针对特定环境自定义vSphere DRS的行为vSphere提供了DRS规则功能使某些虚拟机始终运行在同一台ESXi主机上亲和性规则或使某些虚拟机始终运行在不同的ESXi主机上反亲和性规则或始终在特定的主机上运行特定的虚拟机主机亲和性。(1)聚集虚拟机允许实施虚拟机亲和性。这个选项确保使用DRS迂移虚拟机时某些特定的虚拟机始终在同一台ESXi主机上运行。同一台ESXi主机上的虚拟机之间的通信速度非常快因为这种通信只发生在ESXi主机内部不需要通过外部网络。假设有一个多层应用程序包括一个Web应用服务器和一个后端数据库服务器两台服务器之间需要频繁通信。在这种情况下可以定义一条亲和性规则聚集这两个虚拟机使这两个虚拟机在群集内始终在一台ESXi主机内运行。(2)分开虚拟机允许实施虚拟机反亲和性。这个选项确保某些虚拟机始终位于不同的ESXi主机上。这种配置主要用于操作系统层面的高可用性场合(如使用微软的Windows Server Failover Cluster)使用这种规则多个虚拟机分别位于不同的ESXi主机上若一个虚拟机所在的ESXi主机损坏可以确保应用仍然运行在另一台ESXi主机的虚拟机上。(3)虚拟机到主机允许利用主机亲和性将指定的虚拟机放在指定的ESXi主机上这样可以微调群集中虚拟机和ESXi主机之间的关系。 如果想在启用vSphere DRS的情况下让Web Server和Database Server运行在同一台ESXi主机上则需要按照以下步骤配置DRS规则。第1步打开添加规则向导选中群集vSphere选择“管理”-“设置”-“DRS规则”单击“添加”按钮如图5-51所示。第2步设置规则名称与类型设置名称为WebDatabase Servers Together规则类型为“聚集虚拟机”单击“添加”按钮如图5-52所示。第3步选择适用的虚拟机选中Database Server和Web Server两个虚拟机如图5-53所示。以下为已经配置的DRS规则两个虚拟机Database Server和Web Server将在同一台主机上运行如图5-54所示。第4步选择运行虚拟机的主机启动虚拟机Database Server选择在主机esxi1.lab.net上运行如图5-55所示。第5步查看规则当启动虚拟机Web Server时vCenter Server 仍然建议将虚拟机Web Server 置于主机esxi1.lab.net 上如图5-56所示。这是因为DRS规则在起作用。第6步验证 “分开虚拟机”规则类型将原有的DRS规则删除添加新的规则设置名称为Separate Web ServerDatabase Server规则类型为“分开虚拟机”选中Database Server和Web Server两个虚拟机如图5-57所示。此规则会使虚拟机Web Server和Database Server在不同的ESXi主机上运行。第7步设置特别虚拟机禁用规则虽然多数虚拟机都应该允许使用DRS的负载均衡行为但是管理员可能需要特定的关键虚拟机不使用DRS然而这些虚拟机应该留在群集内以利用vSphere HA提供的高可用性功能。比如要配置虚拟机Database Server不使用DRS始终在一台ESXi主机上运行则将之前创建的与该虚拟机有关的DRS规则删除然后在群集vSphere的“管理”-“设置”-“虚拟机替代项”中单击“添加”按钮。单击“选择虚拟机”选中Database Server将“自动化级别”设置为“已禁用”即可如图5-58所示。至此本子任务结束。四、启用虚拟机高可用性HA高可用性(High AvailabilityHA)通常描述一个系统为了减少停工时间经过专门的设计从而保持其服务的高度可用性。当ESXi主机出现故障时vSphere HA能够让该主机内的虚拟机在其他ESXi主机上重新启动与vSphere DRS不同vSphere HA没有使用vMotion技术作为迁移手段。第1步了解高可用性实现的四种级别应用程序级别应用程序级别的高可用性技术包括Oracle Real Application Clusters( RAC)等。 操作系统级别在操作系统级别使用操作系统群集技术实现高可用性如Windows Server的故障转移群集等。 虚拟化级别VMware vSphere虚拟化架构在虚拟化级别提供vSphere IIA和vSphere FT功能以实现虚拟化级别的高可用性。 物理级别物理级别的高可用性主要体现在冗余的硬件组件如多个网卡、多个HBA卡、SAN多路径冗余、存储阵列上的多个控制器以及多电源供电等。第2步了解vSphereHA的必备组件从vSphere 5.0开始VMware重新编写了HA架构使用了Fault Domain架构通过选举方式选出唯一的Master主机其余为Slave主机。vSphere HA有以下必备组件。(1)故障域管理器(Fault Domain ManagerFDM)代理FDM代理的作用是与群集内其他主机交流有关主机可用资源和虚拟机状态的信息。它负责心跳机制、虚拟机定位和与hostd代理相关的虚拟机重启。(2) hostd代理hostd代理安装在Master主机上FDM直接与hostd和vCenter Server通信。(3) vCenter ServervCenter Server负责在群集ESXi主机上部署和配置FDM代理。vCenter Server向选举出的Master主机发送群集的配置修改信息。第3步了解Master和Slave主机创建一个vSphere HA群集时FDM代理会部署在群集的每台ESXi主机上其中一台主机被选举为Master主机其他主机都是Slave主机。Master主机的选举依据是哪台主机的存储最多如果存储的数量相等则比较哪台主机的管理对象ID最高。(1) Master主机的任务Master主机负责在vSphere HA的群集中执行下面一些重要任务。Master主机负责监控Slave主机当Slave主机出现故障时在其他ESXi主机上重新启动虚拟机。Master主机负责监控所有受保护虚拟机的电源状态。如果一个受保护的虚拟机出现故障Master主机会重新启动虚拟机。Master主机负责管理一组受保护的虚拟机。它会在用户执行启动或关闭操作之后更新这个列表。即当虚拟机打开电源该虚拟机就要受保护一旦主机出现故障就会在其他主机上重新启动虚拟机。当虚拟机关闭电源时就没有必要再保护它了。Master主机负责缓存群集配置。Master主机会向Slave主机发送通知告诉它们群集配置发生的变化。Master主机负责向Slave主机发送心跳信息告诉它们Master主机仍然处于正常激活状态。如果Slave主机接收不到心跳信息则重新选举出新的Master主机。Master主机向vCenter Server报告状态信息。vCenter Server通常只和Master主机通信。(2) Master主机的选举Master主机的选举在群集中vSphere HA第一次激活时发生在以下情况下也会重新选举Master。Master主机故障。Master主机与网络隔离或者被分区。Master主机与vCenter Server失去联系。Master主机进入维护模式。 管理员重新配置vSphere HA代理。(3) Slave主机的任务Slave主机执行下面这些任务。Slave主机负责监控本地运行的虚拟机的状态这些虚拟机运行状态的显著变化会被发送到Master主机。Slave主机负责监控Master主机的状态。如果Master主机出现故障Slave主机会参与新Master主机的选举。Slave主机负责实现不需要Master主机集中控制的vSphere HA特性如虚拟机健康监控。第4步了解心跳信号vSphere HA群集的FDM代理是通过心跳信息相互通信的如图5-59所示。心跳是用来确定主机服务器仍然正常工作的一种机制Master主机与Slave主机之间会互相发送心跳信息心跳的发送频率为每秒1次。如果Master主机不再从Slave主机接收心跳则意味着网络通信出现问题但这不一定表示Slave主机出现了故障。为了验证Slave主机是否仍在工作Master主机会使用以下两种方法进行检查。Master主机向Slave主机的管理IP地址发送ping数据包。Master主机与Slave主机在数据存储级别进行信息交换称作数据存储心跳这可以区分Slave主机是在网络上隔离还是完全崩溃。vSphere HA使用了管理网络和存储设备进行通信。正常情况下Master主机与Slave主机通过管理网络进行通信。如果Master主机无法通过管理网络与Slave主机通信那么Master主机会检查它的心跳数据存储如果心跳数据存储有应答则说明Slave主机仍在工作。在这种情况下Slave主机可能处于网络分区(Network Partition)或网络隔离(Network Isolation)状态。网络分区是指即使一个或多个Slave主机的网络连接没有问题它们却无法与Master主机通信。在这种情况下vSphere HA能够使用心跳数据存储检查这些主机是否存活以及是否需要执行一些操作保护这些主机中的虚拟机或在网络分区内选择新的Master主机。网络隔离是指有一个或多个Slave主机失去了所有管理网络连接。隔离主机既不能与Master主机通信也不能与其他ESXi主机通信。在这种情况下Slave主机使用心跳数据存储通知Master主机它已经被隔离。Slave主机使用一个特殊的二进制文件(host-X-poweron)通知Master主机然后vSphere HA主机可以执行相应的操作保证虚拟机受到保护。第5步了解实施vSphere HA的条件在实施vSphere HA时必须满足以下条件(1)群集vSphere HA依靠群集实现需要创建群集然后在群集上启用vSphere HA。(2)共享存储在一个vSphere HA群集中所有主机都必须能够访问相同的共享存储这包括FC光纤通道存储、FCoE存储和iSCSI存储等。(3)虚拟网络在一个vSphere HA群集中所有ESXi主机都必须有完全相同的虚拟网络配置。如果一个ESXi主机上添加了一个新的虚拟交换机那么该虚拟交换机也必须添加到群集中所有其他ESXi主机上。(4)心跳网络vSphere HA通过管理网络和存储设备发送心跳信号因此管理网络和存储设备最好都有冗余否则vSphere会给出警告。(5)充足的计算资源每台ESXi主机的计算资源都是有限的当一台ESXi主机出现故障时该主机上的虚拟机需要在其他ESXi主机上重新启动。如果其他ESXi主机的计算资源不足则可能导致虚拟机无法启动或启动后性能较差。vSphere HA使用接入控制策略来保证ESXi主机为虚拟机分配足够的计算资源。(6) VMware Tools虚拟机中必须安装VMware Tools才能实现vSphere HA的虚拟机监控功能。下面将在群集中启用vSphere HA并检查群集的工作状态。第1步开始编辑vSphere HA选中群集vSphere选择“管理”-“设置”-“vSphere HA”单击“编辑”按钮如图所示。第2步选中共享存储 选中“打开vSphere HA”在“数据存储检测信号”中选择“使用指定列表中的数据存储并根据需要自动补充”选中“共享存储iSCSI-Starwind”如图所示。在“近期任务”中可以看到正在配置vSphere HA群集第3步查看摘要信息 经过一段时间vSphere HA配置完成在主机esxi2.lab.net的“摘要”选项卡中可以看到其身份为Master主要如图所示。主机esxi1.lab.net的身份为Slave从属如图所示。第4步调整优先级对于群集中某些重要的虚拟机需要将“虚拟机重新启动优先级”设置为“高”。这样当ESXi主机发生故障时这些重要的虚拟机就可以优先在其他ESXi主机上重新启动。下面将把虚拟机Database Server的“虚拟机重新启动优先级”设置为“高”。在群集vSphere的“管理”-“设置”-“虚拟机替代项”处单击“添加”按钮单击“选择虚拟机”选中“虚拟机Database Server”为虚拟机配置其特有的DRS和HA选项如图5-65所示。在这里“自动化级别”设置为“已禁用”这可以让Database Server始终在一台ESXi主机上运行不会被vSphere DRS迁移到其他主机“虚拟机重新启动优先级”设置为“高”可以使该虚拟机所在的主机出现问题时优先让该虚拟机在其他ESXi主机上重新启动。注意建议将提供最重要服务的VM的重启优先级设置为“高”。具有高优先级的VM最先启动如果某个VM的重启优先级为“禁用”那么它在ESXi主机发生故障时不会被重启。如果出现故障的主机数量超过了容许控制范围重启优先级为低的VM可能无法重启。下面将以虚拟机Database Server为例验证vSphere HA能否起作用。第1步开启虚拟机启动虚拟机Database Server此时vCenter Server不会询问在哪台主机上启动虚拟机而是直接在其上一次运行的ESXi主机esxi1.lab.net上启动虚拟机如图5-66所示。这是因为虚拟机Database Server的DRS自动化级别设置为“已禁用”。第2步使用ping命令测试虚拟机在本机输入“ping虚拟机IP -t”持续ping虚拟机Database Server的IP地址如图5-67所示。第3步模拟主机故障下面将模拟ESXi主机esxi1.lab.net不能正常工作的情况。在VMware Workstation中将VMware ESXi 5-1的电源挂起如图5-68所示。此时到虚拟机Database Server的ping会中断。第4步观察ping命令测试状态此时vSphere HA会检测到ESXi主机esxi1.lab.net发生了故障并且将其上的虚拟机Database Server在另一台ESXi主机esxi2.lab.net上重新启动。经过几分钟到虚拟机DatabaseServer的ping又恢复正常如图5-69所示。第5步查看虚拟机摘要信息在虚拟机Database Server的“摘要”选项卡中可以看到虚拟机已经在esxi2.lab.net上重新启动虚拟机受vSphere HA的保护如图5-70所示。在使用vSphere HA时一定要注意ESXi主机故障期间会发生服务中断。如果物理主机出现故障vSphere HA会重启虚拟机而在虚拟机重启的过程中虚拟机所提供的应用会中止服务。如果用户需要实现比vSphere HA更高要求的可用性可以使用vSphere FT容错。 至此本子任务结束。