项目5vCenter Server高级功能的配置与应用

【项目说明】
在前面的几个项目中,已经使用VMware ESXi 7.0搭建了服务器虚拟化测试环境,基本掌握了安装VMware ESXi、配置vSphere虚拟网络、配置iSCSI共享存储、创建虚拟机的方法,但是使用vSphere Host Client只能直接管理单台的ESXi主机,实现的功能非常有限,vCenter Server提供了ESXi主机管理、虚拟机管理、模板管理、虚拟机部署、任务调度、统计与日志、警报与事件管理等特性,vCenter Server还提供了很多适应现代数据中心的高级特性,如vSphere vMotion(在线迁移)、vSphere DRS(分布式资源调度)、vSphere HA(高可用性)以及物理机与虚拟机之间的转换等,在本项目中,将一一部署它们。


视频讲解


任务5.1使用模板批量部署虚拟机
【任务介绍】


如果需要在一个虚拟化架构中创建多个具有相同操作系统的虚拟机(如创建多个操作系统为Windows Server 2016的虚拟机),使用模板可大大减少工作量。模板是一个预先配置好的虚拟机的备份,也就是说,模板是由现有的虚拟机创建出来的。
要使用虚拟机模板,需要首先使用操作系统光盘ISO文件安装好一个虚拟机。虚拟机操作系统安装完成后,安装VMware Tools,同时可以安装必要的软件,然后将虚拟机转换或克隆为模板,将来可以随时使用此模板部署新的虚拟机。从一个模板创建出来的虚拟机具有与原始虚拟机相同的网卡类型和驱动程序,但是会拥有不同的MAC地址。
如果需要使用模板部署多台加入同一个活动目录域的Windows虚拟机,每个虚拟机的操作系统必须具有不同的SID(Security Identifier,安全标识符)。SID是Windows操作系统用来标识用户、组和计算机账户的唯一号码。Windows操作系统会在安装时自动生成唯一的SID。
【任务实施】
第1步: 将虚拟机转换为模板
下面将把虚拟机WindowsServer2016R2转换成模板。
(1) 关闭虚拟机WindowsServer2016R2,在虚拟机名称处右击,选择“模板”→“转换成模板”命令,如图5.1.1所示。



图5.1.1将虚拟机转换成模板


系统弹出“确认转换”页面,如图5.1.2所示,单击“是”按钮,开始转换。




图5.1.2确认转换页面


(2) 虚拟机转换成模板之后,在“主机和集群”中就看不到原始虚拟机了,在主页→“虚拟机”→“虚拟机模板”中可以看到转换后的虚拟机模板,如图5.1.3所示。



图5.1.3虚拟机模板


第2步: 创建自定义规范
下面将为Windows Server 2016操作系统创建新的自定义规范,当使用模板部署虚拟机时,可以调用此自定义规范。
(1) 在“主页”的“策略和配置文件”中选择“虚拟机自定义规范”,如图5.1.4所示。



图5.1.4创建新规范


(2) 单击“新建”按钮,创建新规范,在“名称”处输入自定义规范为“Windows Server 2016”,选择“目标客户机操作系统”为“Windows”,如图5.1.5所示。



图5.1.5输入自定义规范名称


(3) 设置客户机操作系统的名称和单位,如图5.1.6所示。




图5.1.6设置客户机操作系统的名称和单位


(4) 设置计算机名称,在这里使用“在克隆/部署向导中输入名称”单选按钮,如图5.1.7所示。



图5.1.7设置计算机名称


(5) 输入Windows产品密钥,如图5.1.8所示。



图5.1.8输入Windows产品密钥


(6) 设置管理员Administrator的密码,如图5.1.9所示。



图5.1.9设置管理员的密码




(7) 设置时区为“(GMT+0800)北京,重庆,香港特别行政区,乌鲁木齐”,如图5.1.10所示。




图5.1.10设置时区


(8) 设置用户首次登录系统时运行的命令,这里不运行任何命令,如图5.1.11所示。




图5.1.11设置用户首次登录系统时运行的命令


(9) 配置网络,这里选择“手动选择自定义设置”单选按钮,选中“网卡1”,单击“编辑”图标,如图5.1.12所示。



图5.1.12配置网络


(10) 选择“当使用规范时,提示用户输入IPv4地址”,输入“子网掩码”为“255.255.255.0”、“默认网关”为“192.168.2.1”,如图5.1.13所示。首选DNS服务器为运营商的服务器202.102.128.68,如图5.1.14所示。




图5.1.13IPv4设置





图5.1.14DNS地址设置


(11) 设置工作组或域,这里使用默认的工作组WORKGROUP,如图5.1.15所示。



图5.1.15设置工作组或域


(12) 完成向导之前,检查设置的选择,如图5.1.16所示。



图5.1.16生成新的安全ID






SID是安装Windows操作系统时自动生成的,在活动目录域中每台成员服务器的SID必须不相同。如果部署的Windows虚拟机需要加入域,则必须生成新的SID。完成自定义规范向导。在从模板部署虚拟机时,vCenter Server支持使用sysprep工具为虚拟机操作系统创建新的SID。






第3步: 从模板部署新的虚拟机
下面将从虚拟机模板WindowsServer2016R2部署一个新的虚拟机WebServer,调用刚创建的自定义规范,并进行自定义。
(1) 在菜单→“虚拟机和模板”中,右击虚拟机模板WindowsServer2016R2,选择“从此模板新建虚拟机”命令,如图5.1.17所示。



图5.1.17从模板新建虚拟机


(2) 输入“虚拟机名称”为“WebServer”,选择虚拟机保存位置为Datacenter,如图5.1.18所示。




图5.1.18输入虚拟机名称


(3) “选择计算资源”为192.168.11.99,如图5.1.19所示。



图5.1.19选择计算资源



(4) 选择虚拟磁盘格式为“精简置备”,选择存储为iSCSIStarwind,如图5.1.20所示。




图5.1.20选择虚拟磁盘格式和存储器


(5) 选择克隆选项,选中“自定义操作系统”和“创建后打开虚拟机电源”复选框,如图5.1.21所示。




图5.1.21选择克隆选项



(6) 选中之前创建的自定义规范Windows Server 2016,如图5.1.22所示。




图5.1.22选中自定义规范


(7) 输入虚拟机的“计算机名称”为“WebServer”,“网络适配器1”的IP地址为“192.168.2.8”,如图5.1.23所示。




图5.1.23配置虚拟机用户设置



(8) 完成从模板部署虚拟机。
(9) 在近期任务中可以看到正在克隆新的虚拟机,部署完成后,新的虚拟机会自动启动,可以登录进入操作系统,检查新虚拟机的IP地址、主机名等信息是否正确,如图5.1.24所示。




图5.1.24检查新虚拟机的配置


第4步: 将模板转换为虚拟机
在进行后面的内容之前,在这里先把模板WindowsServer2016转换回虚拟机。
(1) 在“虚拟机”菜单的“虚拟机模板”选项卡下WindowsServer2016R2的右键快捷菜单中选择“转换为虚拟机”命令,如图5.1.25所示。



图5.1.25将模板转换为虚拟机


(2) 接下来的步骤中选择计算资源为192.168.11.88即可完成将模板转换成虚拟机。
(3) 右击刚转换过来的虚拟机,选择“编辑设置”命令,在“虚拟机选项”设置中,将“虚拟机名称”改为“DatabaseServer”,如图5.1.26所示。



图5.1.26更改虚拟机名称






图5.1.27两个虚拟机DatabaseServer

和WebServer


(4) 以下为在“主机和集群”中显示的两个虚拟机,如图5.1.27所示。这两个虚拟机将在任务5.2~任务5.4中使用。



第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删除网卡设备相关配置文件。
ls/etc/udev/rules.d确认文件是否删除,保留如下三个文件即可。



60-raw.rules 99-fuse.rules 99-vmware-scsi-udev.rules




(2) 编辑网卡配置文件,将MAC地址信息删除。
输入命令vi/etc/sysconfig/network_scripts/ifcfg_eth0编辑网卡配置文件,将HWADDR这一行删除。
(3) 输入命令: rmrf/etc/ssh/moduli/etc/ssh/ssh_host_*删除SSH相关文件。
ls/etc/ssh确认文件是否删除,只看到以下文件即可。



ssh_configsshd_config




(4) 输入命令vi/etc/sysconfig/network编辑网络配置文件,将“HOSTNAME”这一行删除。
(5) 配置文件删除完成后,输入shutdownhnow关闭虚拟机,这时可以将虚拟机转换为模板了。
(6) 创建针对Linux操作系统的自定义规范,然后从模板部署新的CentOS虚拟机即可。
至此,便完成了Windows与Linux两种版本的虚拟机模板批量部署,此任务结束。


视频讲解


任务5.2在线迁移虚拟机
【任务说明】


迁移是指将虚拟机从一个主机或存储位置移至另一个主机或存储位置的过程,虚拟机的迁移包括关机状态的迁移和开机状态的迁移。为了维持业务不中断,通常需要在开机状态迁移虚拟机,vSphere vMotion能够实现虚拟机在开机状态的迁移。在虚拟化架构中,虚拟机的硬盘和配置信息是以文件方式存储的,这使得虚拟机的复制和迁移非常方便。
vSphere vMotion是vSphere虚拟化架构的高级特性之一。vMotion允许管理员将一台正在运行的虚拟机从一台物理主机迁移到另一台物理主机,而不必关闭虚拟机,如图5.2.1所示。




图5.2.1虚拟机实时迁移


当虚拟机在两台物理主机之间迁移时,虚拟机仍在正常运行,不会中断虚拟机的网络连接。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主机都能访问的共享存储上。
【任务分析】
要使vMotion正常工作,必须在执行vMotion的两台ESXi主机上添加支持vMotion的VMkernel端口。
vMotion需要使用千兆以太网卡,但这块网卡不一定专供vMotion使用。在设计ESXi主机时,尽量为vMotion分配一块网卡。这样可以减少vMotion对网络带宽的争用,vMotion操作可以更快、更高效。
【任务实施】
第1步: 打开添加网络向导
在“主页”→“主机和集群”→192.168.11.88→“配置”→“网络”,选择“虚拟交换机”,再选择“添加网络”命令,添加支持vMotion的VMkernel端口,如图5.2.2所示。



图5.2.2添加网络


在“选择连接类型”页面选择“VMkernel网络适配器”,在“选择目标设备”页面选择“选择现有交换机”,浏览选择vSwitch1标准交换机。
第2步: 配置端口属性
输入网络标签“vMotion”,在“已启用的服务”中选中vMotion,如图5.2.3所示。



图5.2.3配置端口属性


第3步: 设置端口IP地址
输入VMkernel端口的IP地址为192.168.2.11,“子网掩码”为255.255.255.0,如图5.2.4所示。



图5.2.4配置IP地址


完成创建VMkernel端口。
第4步: 使用相同的步骤为192.168.11.99主机添加VMkernel端口
使用相同的步骤为192.168.11.99主机添加支持vMotion的VMkernel端口,同样绑定到vmnic3网卡,IP地址为192.168.2.12,如图5.2.5所示。




图5.2.5配置IP地址


下面将把正在运行的虚拟机WebServer从一台ESXi主机迁移到另一台ESXi主机,通过持续ping虚拟机的IP地址,测试虚拟机能否在迁移的过程中对外提供服务。
第5步: 设置防火墙规则
在虚拟机WebServer的“高级安全Windows防火墙”的入站规则中启用规则“文件和打印机共享(回显请求ICMPv4In)”,如图5.2.6所示。




图5.2.6配置服务器允许ping


第6步: 持续ping服务器
在本机打开命令行,输入“ping192.168.2.8t”持续ping服务器WebServer。 
第7步: 打开迁移虚拟机向导
在WebServer的右键快捷菜单中选择“迁移”命令,如图5.2.7所示。




图5.2.7迁移虚拟机


“选择迁移类型”为“仅更改计算资源”,如图5.2.8所示。



图5.2.8选择迁移类型


第8步: 选择计算资源
选择主机192.168.11.88,如图5.2.9所示。



图5.2.9选择计算资源


第9步: 选择网络
选择默认目标网络VM Network, 如图5.2.10所示。



图5.2.10选择网络


第10步: 选择优先级
vMotion优先级选择默认的“安排优先级高的vMotion(建议)”单选按钮,如图5.2.11所示。




图5.2.11选择vMotion优先级


第11步: 开始迁移虚拟机
单击“完成”按钮开始迁移客户机,在近期任务中可以看到正在迁移虚拟机,等待一段时间,虚拟机WebServer已经迁移到主机192.168.11.88上,如图5.2.12所示。



图5.2.12虚拟机已迁移


在迁移期间,虚拟机一直在响应ping,中间有一个数据包的请求超时,如图5.2.13所示。




图5.2.13虚拟机迁移过程中ping的回复


也就是说,在使用vMotion迁移正在运行中的虚拟机时,虚拟机一直在正常运行,其上所提供的服务一直处于可用状态,只在迁移将要完成之前中断很短的时间,最终用户感觉不到服务所在的虚拟机已经发生了迁移。
至此,已经成功地将虚拟机WebServer从192.168.11.99上迁移到主机192.168.11.88上,此任务结束。


视频讲解


任务5.3配置分布式资源调度
【任务说明】


分布式资源调度(Distributed Resource Scheduler,DRS)是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主机或者修改虚拟机的资源设置。
【任务分析】
在本任务中首先在vCenter中创建vSphere集群,配置EVC等集群参数,并且将两台ESXi主机都加入到集群中。接着在集群中启用vSphere DRS并验证配置,最后配置vSphere DRS规则。
【相关知识】
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步: 打开创建集群向导
在主页→“主机和集群”→Datacenter的右键快捷菜单中选择“新建集群”命令,如图5.3.1所示。




图5.3.1新建集群


第2步: 输入集群名称
输入集群“名称”为“vSphere”,如图5.3.2所示。在创建集群时,可以选择是否启用vSphere DRS和vSphere HA等功能,在这里暂不启用。



图5.3.2输入集群名称


第3步: 设置EVC
选中集群vSphere,单击“配置”→“配置”→VMware EVC,在这里VMware EVC的状态为“已禁用”,如图5.3.3所示。由于在本实验环境中,两台ESXi主机都是通过VMware Workstation模拟出来的,硬件配置(特别是CPU)完全相同,所以可以不启用VMware EVC。



图5.3.3EVC模式


在生产环境中,如果ESXi主机的CPU是来自同一厂商不同年代的产品,例如,所有ESXi主机的CPU都是Intel公司IvyBridge系列、Haswell系列的产品,则需要将EVC模式配置为“为Intel主机启用EVC”,然后选择Intel“Merom”Generation,单击“编辑”按钮,打开如图5.3.4所示的更改页面。




图5.3.4更改EVC模式


第4步: 拖动主机192.168.11.88到集群
选中主机192.168.11.88,按住鼠标左键将其拖动到集群vSphere中,如图5.3.5所示。



图5.3.5拖动ESXi主机到集群中


第5步: 拖动主机192.168.11.99到集群
可以使用相同的方法将主机192.168.11.99也加入到集群中,或者在集群vSphere的右键快捷菜单中选择“添加主机”命令,如图5.3.6所示。



图5.3.6添加主机


打开添加主机页面,在“新主机”选项卡页面填写主机的IP地址与用户名和密码,如图5.3.7所示。




图5.3.7添加新主机


切换到“现有主机”选项卡,勾选新添加的主机,如图5.3.8所示。



图5.3.8勾选现有主机


第6步: 查看摘要信息
两台ESXi主机都已经加入集群vSphere,如图5.3.9所示,在集群的“摘要”选项卡中可以查看集群的基本信息。集群中包含两台主机,集群的CPU、内存和存储资源是集群中所有ESXi主机的CPU、内存和存储资源之和。




图5.3.9集群摘要


至此,集群创建完成。
下面的步骤中将在集群中启用vSphere DRS并验证配置。
第7步: 编辑DRS
选中集群vSphere,单击“配置”→“服务”→vSphere DRS,单击“编辑”按钮,如图5.3.10所示。




图5.3.10编辑DRS设置


第8步: 调整自动化级别
选中“打开vSphere DRS”,将自动化级别修改为“手动”,如图5.3.11所示。



图5.3.11集群自动化级别


第9步: 选择虚拟机运行的主机
首先关闭DatabaseServer与WebServer这两台虚拟机,然后再打开虚拟机DatabaseServer的电源,vCenter Server会给出虚拟机运行在哪台主机的建议。在这里选择将虚拟机DatabaseServer置于主机192.168.11.99上,如图5.3.12所示。



图5.3.12打开电源建议(DatabaseServer)


第10步: 选择另外虚拟机运行的主机
打开虚拟机WebServer的电源,由于主机192.168.11.99的可用资源小于主机192.168.11.88,因此vCenter Server建议将虚拟机WebServer置于主机192.168.11.88上,如图5.3.13所示。




图5.3.13打开电源建议(WebServer)


实验完成,将DatabaseServer和WebServer两个虚拟机关机,至此, vSphere DRS已经启用并验证了相应的配置。
在接下来的步骤中将配置vSphere DRS的规则。
为了进一步针对特定环境自定义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主机之间的关系。
(4) 虚拟机到虚拟机: 指定选定的单个虚拟机是应在同一主机上运行还是应保留在其他主机上。此类型规则用于创建所选单个虚拟机之间的关联性或反关联性。可以创建并使用多个虚拟机虚拟机关联性规则,但是,这可能会导致规则相互冲突的情况发生。当两个虚拟机虚拟机关联性规则发生冲突时,将优先使用老的规则,并禁用新的规则。DRS 仅尝试满足已启用的规则,会忽略已禁用的规则。与关联性规则的冲突相比,DRS 将优先阻止反关联性规则的冲突。
如果想在启用vSphere DRS的情况下,让WebServer和DatabaseServer运行在同一台ESXi主机上,则需要按照以下步骤配置DRS规则。
第11步: 打开添加规则向导
选中集群vSphere,选择“配置”→“配置”→“虚拟机/主机规则”,单击“添加”按钮,如图5.3.14所示。




图5.3.14添加DRS规则


第12步: 设置规则名称与类型
设置名称为Web&DatabaseServersTogether,规则类型为“集中保存虚拟机”,单击“添加”按钮,如图5.3.15所示。



图5.3.15创建DRS规则


第13步: 选择适用的虚拟机
选中DatabaseServer和WebServer两个虚拟机,如图5.3.16所示。




图5.3.16添加规则成员


以下为已经配置的DRS规则,两个虚拟机DatabaseServer和WebServer将在同一台主机上运行,如图5.3.17所示。




图5.3.17已经配置好的DRS规则


第14步: 选择运行虚拟机的主机
启动虚拟机DatabaseServer,选择在主机192.168.11.99上运行,如图5.3.18所示。




图5.3.18打开电源建议(DatabaseServer)


第15步: 查看规则
当启动虚拟机WebServer时,vCenter Server仍然建议将虚拟机WebServer置于主机192.168.11.99上,如图5.3.19所示,这是因为DRS规则在起作用。



图5.3.19打开电源建议(WebServer)


第16步: 验证“分开虚拟机”规则类型
将原有的DRS规则删除,添加新的规则,设置名称为Separate WebServer&DatabaseServer,规则类型为“分开虚拟机”,选中DatabaseServer和WebServer两个虚拟机,如图5.3.20所示。此规则会使虚拟机WebServer和DatabaseServer在不同的ESXi主机上运行。



图5.3.20创建新的DRS规则


第17步: 设置特别虚拟机禁用规则
虽然多数虚拟机都应该允许使用DRS的负载均衡行为,但是管理员可能需要特定的关键虚拟机不使用DRS,然而这些虚拟机应该留在集群内,以利用vSphere HA提供的高可用性功能。例如,要配置虚拟机DatabaseServer不使用DRS,始终在一台ESXi主机上运行,则将之前创建的与该虚拟机有关的DRS规则删除,然后在集群vSphere的“配置”→“配置”→“虚拟机替代项”中单击“添加”按钮。单击“选择虚拟机”,选中DatabaseServer,将“自动化级别”设置为“禁用”即可,如图5.3.21所示。


图5.3.21添加虚拟机替代项


至此,本任务结束。


视频讲解


任务5.4启用虚拟机高可用性
【任务说明】


高可用性(High Availability,HA)通常描述一个系统为了减少停工时间,经过专门的设计,从而保持其服务的高度可用性。HA是生产环境中的重要指标之一。实际上,在虚拟化架构出现之前,在操作系统级别和物理级别就已经大规模使用了高可用性技术和手段。vSphere HA实现的是虚拟化级别的高可用性,具体来说,当一台ESXi主机发生故障(硬件故障或网络中断等)时,其上运行的虚拟机能够自动在其他ESXi主机上重新启动,虚拟机在重新启动完成之后可以继续提供服务,从而最大限度地保证服务不中断。
【任务分析】
当ESXi主机出现故障时,vSphere HA能够让该主机内的虚拟机在其他ESXi主机上重新启动,与vSphere DRS不同,vSphere HA没有使用vMotion技术作为迁移手段。vMotion只适用于预先规划好的迁移,而且要求源和目标ESXi主机都处于正常运行状态。由于ESXi主机的硬件故障无法提前预知,所以没有足够的时间来执行vMotion操作。vSphere HA适用于解决ESXi主机硬件故障所造成的计划外停机。
【相关知识】
在实施HA之前,先来了解一下它的工作原理与实施条件。
1. 高可用性实现的四种级别
应用程序级别: 应用程序级别的高可用性技术包括Oracle Real Application Clusters(RAC)等。
操作系统级别: 在操作系统级别,使用操作系统集群技术实现高可用性,如Windows Server的故障转移集群等。
虚拟化级别: VMware vSphere虚拟化架构在虚拟化级别提供vSphere HA和vSphere FT功能,以实现虚拟化级别的高可用性。
物理级别: 物理级别的高可用性主要体现在冗余的硬件组件,如多个网卡、多个HBA卡、SAN多路径冗余、存储阵列上的多个控制器以及多电源供电等。
2. vSphere HA的必备组件
从vSphere 5.0开始,VMware重新编写了HA架构,使用了Fault Domain架构,通过选举方式选出唯一的Master主机,其余为Slave主机。vSphere HA有以下必备组件。
(1) 故障域管理器(Fault Domain Manager,FDM)代理: FDM代理的作用是与集群内其他主机交流有关主机可用资源和虚拟机状态的信息。它负责心跳机制、虚拟机定位和与hostd代理相关的虚拟机重启。
(2) hostd代理: hostd代理安装在Master主机上,FDM直接与hostd和vCenter Server通信。
(3) vCenter Server: vCenter 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主机负责监控本地运行的虚拟机的状态,这些虚拟机运行状态的显著变化会被发送到Master主机。
② Slave主机负责监控Master主机的状态。如果Master主机出现故障,Slave主机会参与新Master主机的选举。
③ Slave主机负责实现不需要Master主机集中控制的vSphere HA特性,如虚拟机健康监控。
4. 心跳信号
vSphere HA集群的FDM代理是通过心跳信息相互通信的,如图5.4.1所示。



图5.4.1FDM代理通过心跳通信


心跳是用来确定主机服务器仍然正常工作的一种机制,Master主机与Slave主机之间会互相发送心跳信息,心跳的发送频率为每秒一次。如果Master主机不再从Slave主机接收心跳,则意味着网络通信出现问题,但这不一定表示Slave主机出现了故障。为了验证Slave主机是否仍在工作,Master主机会使用以下两种方法进行检查。
(1) Master主机向Slave主机的管理IP地址发送ping数据包。
(2) 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可用性”,单击“编辑”按钮,如图5.4.2所示。




图5.4.2编辑vSphere HA


第2步: 选中共享存储
启用vSphere HA,在“检测信号数据存储”中选择“使用指定列表中的数据存储并根据需要自动补充”单选按钮,选中共享存储iSCSIStarwind,如图5.4.3所示。



图5.4.3选择共享存储


在“近期任务”中可以看到正在配置vSphere HA集群,如图5.4.4所示。




图5.4.4正在配置vSphere HA集群


第3步: 查看摘要信息
经过一段时间,vSphere HA配置完成,在主机192.168.11.99的“摘要”选项卡中可以看到其身份为“主”,如图5.4.5所示。



图5.4.5查看主机192.168.11.99的身份


主机192.168.11.88的身份为“辅助”,如图5.4.6所示。



图5.4.6查看主机192.168.11.88的身份


第4步: 调整优先级
对于集群中某些重要的虚拟机,需要将“虚拟机重新启动优先级”设置为“高”。这样,当ESXi主机发生故障时,这些重要的虚拟机就可以优先在其他ESXi主机上重新启动。下面将把虚拟机DatabaseServer的“虚拟机重新启动优先级”设置为“高”。
在集群vSphere的“配置”→“配置”→“虚拟机替代项”处单击“添加”按钮,单击“选择虚拟机”,选中“虚拟机DatabaseServer”,为虚拟机配置其特有的DRS和HA选项,如图5.4.7所示。在这里,“自动化级别”设置为“禁用”,这可以让DatabaseServer始终在一台ESXi主机上运行,不会被vSphere DRS迁移到其他主机; “虚拟机重新启动优先级”设置为“高”,可以使该虚拟机所在的主机出现问题时,优先让该虚拟机在其他ESXi主机上重新启动。




图5.4.7虚拟机DatabaseServer的替代项





建议将提供最重要服务的虚拟机(VM)的重启优先级设置为“高”。具有高优先级的VM最先启动,如果某个VM的重启优先级为“禁用”,那么它在ESXi主机发生故障时不会被重启。如果出现故障的主机数量超过了允许的控制范围,重启优先级为低的VM可能无法重启。






至此,vSphere HA启用完毕。在接下来的步骤中,将验证vSphere HA的功能。
下面将以虚拟机DatabaseServer为例,验证vSphere HA能否起作用。
第5步: 开启虚拟机
启动虚拟机DatabaseServer,此时vCenter Server不会询问在哪台主机上启动虚拟机,而是直接在其上一次运行的ESXi主机192.168.11.99上启动虚拟机,如图5.4.8所示。这是因为虚拟机DatabaseServer的DRS自动化级别设置为“禁用”。




图5.4.8启动虚拟机DatabaseServer


第6步: 模拟主机故障
下面将模拟ESXi主机192.168.11.99不能正常工作的情况。在VMware Workstation中将192.168.11.99的电源挂起,如图5.4.9所示。



图5.4.9挂起VMware Workstation中的ESXi主机


第7步: 观察测试状态
此时vSphere HA会检测到主机192.168.11.99发生了故障,并且将其上的虚拟机DatabaseServer在另一台主机192.168.11.88上重新启动。
第8步: 查看虚拟机摘要信息
在虚拟机DatabaseServer的“摘要”选项卡中可以看到虚拟机已经在主机192.168.11.88上重新启动,虚拟机受vSphere HA的保护,如图5.4.10所示。



图5.4.10虚拟机已经重新启动


在使用vSphere HA时,一定要注意ESXi主机故障期间会发生服务中断。如果物理主机出现故障,vSphere HA会重启虚拟机,而在虚拟机重启的过程中,虚拟机所提供的应用会中止服务。
至此,本任务结束。


视频讲解


任务5.5将物理机转换为虚拟机
【任务说明】


本任务是将安装在物理机上的操作系统迁移到ESXi中,即将物理机转换为虚拟机。
【任务分析】
使用VMware vCenter Converter软件可将物理机转换为虚拟机。VMware vCenter Converter支持本地安装与服务器模式安装,在大多数情况下,本地安装就可以完成物理机(包括本地计算机)到虚拟机、虚拟机到虚拟机的迁移工作。它不仅能够实现快速的转换,还能够保持非常稳定高效的运行。
【相关知识】
使用 VMware vCenter Converter 直观的向导驱动界面,可以自动化和简化物理机转换到虚拟机以及虚拟机格式之间转换的过程。
将基于 Microsoft Windows 的物理机和第三方映像格式转换为VMware 虚拟机,通过集中式管理控制台同时完成多个转换。易于使用的向导可将转换步骤减到最少,在几分钟内将物理机转换为虚拟机。
VMware vCenter Converter可以在多种硬件上运行,并支持最常用的 Microsoft Windows 操作系统版本。通过这一功能强大的企业级迁移工具,可以: 
① 快速而可靠地将本地和远程物理机转换为虚拟机,而不会造成任何中断或停机。
② 通过集中式管理控制台和直观的转换向导同时完成多个转换。
③ 将其他虚拟机格式(如 Microsoft HyperV、Microsoft Virtual PC 和 Microsoft Virtual Server)或物理机的备份映像(如 Symantec Backup Exec System Recovery 或 Norton Ghost)转换为 VMware 虚拟机。
④ 将虚拟机的 VMware Consolidated Backup (VCB) 映像恢复到运行中的虚拟机。
⑤ 作为灾难恢复计划的一部分,将物理机克隆并备份为虚拟机。
【任务实施】
第1步: 下载和安装VMware vCenter Converter
关于怎么安装VMware vCenter Converter这里就不做介绍了,此处使用的版本是VMware vCenter Converter Standalone 6.2。
第2步: 选择要转换的源
首先单击菜单栏中的Convert machine命令,打开Conversion窗口,选择Powered on单选按钮,在下拉菜单中选择This local machine,如图5.5.1所示。




图5.5.1源系统设置1


如果选择Remote Windows machine或Remote Linux machine则需要输入需要转换物理机的 IP地址和管理员密码,如图5.5.2所示。弹出窗口询问是自动卸载还是手动,选择自动,单击YES按钮后就会部署代理。




图5.5.2源系统设置2


第3步: 选择存放的目标系统
在Destination System页面,在Select destination type项选择VMwere Infrastructure virtual machine项,然后填写vCenter Server的IP地址以及登录的用户名与密码,如图5.5.3所示。




图5.5.3目标系统设置


单击Next按钮后,弹出安全警告,如图5.5.4所示,单击Ignore按钮忽略即可。




图5.5.4警告页面


第4步: 设置放置的位置以及显示的虚拟机名称
在Name框中填写转换后在vCenter Server中显示的虚拟机名称,然后选择放置的位置,如图5.5.5所示。




图5.5.5虚拟机名称及位置设置


单击Next按钮后,选择放置的主机或者放置的资源池以及放置的存储,如图5.5.6所示。




图5.5.6设置存储位置


第5步: 修改转换的资源
修改要转换的资源,此处只转换了C盘。取消其他盘的选择,如图5.5.7所示。




图5.5.7选择要转换的资源


单击Advanced按钮,将视图切换到高级模式,将磁盘格式选择Thin精简模式,如图5.5.8所示。




图5.5.8设置转换的磁盘格式


选择左边的Advance高级选项,在高级选项这里要注意,勾选Synchronize changes复选框,立即运行。注意: 不要勾选Perform final synchronization复选框,因为选择后只能执行一次同步操作后确认同步完成,之后不能进行多次手工数据同步,如图5.5.9所示。




图5.5.9同步选项设置


单击Next按扭后,显示Summary摘要信息页面,核对信息无误即可单击Finish按钮选择完成,出现如图5.5.10所示页面。这样就是在转换的过程当中了。




图5.5.10执行中的转换任务


第6步: 数据同步
当任务2完成后,会自动执行同步任务。同步任务完成后,还有一个同步任务不会自动完成,需手动执行同步作业才可执行。
右击执行Synchronize命令执行同步任务,如图5.5.11所示。




图5.5.11执行同步任务


进入同步确认界面,直接单击“下一步”再单击“完成”,就可以手工执行同步。
第7步: 调整虚拟机资源
迁移完成后,可以在vCenter Server里边看到刚才迁移命名的虚拟机。选中该虚拟机名称,右击选择“编辑设置”命令,适当调整虚拟机的vCPU与内存资源,即可打开该虚拟机,如图5.5.12所示。



图5.5.12迁移完成后的虚拟机


在迁移完成后,会自动做一次同步,同步数据是迁移过程中,源物理机变更的数据。第一次自动同步后VMware vCenter Converter就不会自动进行多次同步。如迁移完成后物理机还未正式关闭,虚拟机未正式启动这段时间,物理机发生的数据变更,只能通过手工执行同步到虚拟机。测试P2V迁移完成后,对物理机进行多次数据变更(包括添加、删除数据等),VMware vCenter Converter可以多次手工执行“同步”,在虚拟机上检查数据与物理机变更数据一致。(手工执行同步是重复上边的作业操作。)
第8步: 迁移Linux物理机
安装有Linux操作系统的物理机的系统数据迁移与Windows迁移差别很小,主要的开始的选项不同,如图5.5.13所示。



图5.5.13迁移Linux物理机的源设置


如果迁移在1%时失败,就需要设定助手虚拟机的IP。IPv4默认,如果转换失败,则手动设置一个空闲的能与vCenter Server以及Linux系统通信的IP,去掉IPv6的勾选,如图5.5.14所示。




图5.5.14助手虚拟机设置


按照《VMware Converter 6.0安装指南》中的描述,对其功能做了这样的定义,当转换已启动的Linux计算机时,Converter Standalone将在目标上创建助手虚拟机。助手虚拟机需要具有源计算机的网络访问权,才能克隆源文件。默认转换设置将强制为助手虚拟机自动获取IPv4地址和DNS服务器,但可以手动设置此网络连接。助手虚拟网络配置时,需要创建一个助手虚拟机,要有网络访问权,而在迁移中,设定了只是一个能互通的但无虚拟机使用的IP地址,也就是说,这个地方只需要设置网络中一个空闲的IP即可。同样地,迁移完成后,在vCenter Server下可以看到迁移过来的Linux虚拟机。
第9步: 使用Acronis BR迁移Linux物理机
首先要清楚为什么要使用第三方的工具来迁移,在使用VMware vCenter Converter无法迁移Linux物理机时(有多种情况,如Linux引导方式为LILO的引导方式,而VMware vCenter Converter仅支持GRUB引导,不支持 LILO 引导),所以就不得不借助第三方工具来迁移。
当要迁移真实物理机时,Acronis BR使用最新版本为最好,因为新的物理服务器阵列卡都比较新,如果使用旧版的Acronis BR有可能无法识别阵列信息,这样就更无法读取磁盘的信息。
使用Acronis BR的思路是先将物理服务器的所有磁盘进行备份。然后再通过Acronis BR恢复成一台新的虚拟机。具体演示在此不再详述,至此本任务完成。