在虚拟化环境中需要有备份设备对重要的虚拟机进行备份,需要备份的虚拟机有生产用的虚拟机、用于管理ESXi的vCenter Server。如果当前没有备份设备,建议定期对vCenter Server Appliance数据库进行备份,当出现问题时通过备份恢复安装。如果vCenter Server没有备份,在vCenter Server出现问题后,通过各种方法都无法恢复时,只能重新安装vCenter Server。
在重新安装vCenter Server的时候,如果当前的环境只是简单的运行虚拟机,没有虚拟桌面等产品,重新安装vCenter Server之后,新建数据中心、群集、将ESXi添加到群集,并重新创建资源池即可。如果原来的vSphere环境是标准交换机,在将ESXi主机添加到群集之后其他上不需要再对虚拟网络进行配置。如果原来的vSphere使用了分布式交换机,还需要重新配置分布式交换机。下面通过具体的案例介绍重新安装vCenter Server并重建分布式交换机的方法。
为了介绍vCenter Server重新安装与配置,本文采用图10-3所示实验环境进行介绍。本次实验用到两台交换机,2台交换机使用2条光纤以链路聚合方式连接到一起。每台主机有一块集成的网卡,每台主机安装了一块2端口网卡。其中集成的网卡连接到S5700-24TP-SI交换机的Access端口用于ESXi主机管理,配置标准交换机vSwitch0,设置管理地址依次是172.18.96.41~172.18.96.45。另外安装的2端口网卡连接到S5720S-20P-SI的Trunk端口,用于vSAN流量与虚拟机的流量。其中为vSAN流量的VMkernel配置的IP地址分别是172.18.93.141~172.18.93.145。这5台主机连接拓扑如图10-3所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
5台实验主机的2端口网卡连接到S5720S-28P-SI交换机的端口1~端口10,5台实验主机集成的网卡连接到S5700-24TP-SI的端口1~端口5。华为S5720S-28P-SI交换机端口划分如表10-1所列,华为S5700-24TP-SI交换机端口划分如表10-2所列。
表10-1 华为S5720S-28P-SI交换机端口划分
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
vSphere虚拟化中重装vCenter并重建分布式交换机的方法

本次实验中5台ESXi主机、vCenter Server的IP地址规划如表10-3所列。
表10-3 标准vSAN群集主机与vCenter Server Appliance的IP地址规划
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
在本实验中,图10-3中每台主机两条绿色的网线连接到交换机的TRUNK端口,配置分布式交换机,在分布式交换机上创建vlan2001、vlan2002、vlan2003的分布式端口组,其中vlan2001、vlan2002用来承载虚拟机的流量,vlan2003用来承载vSAN流量。
当前的实验是模拟vCenter Server出现故障,并且vCenter Server没有备份的情况下,通过重新安装vCenter Server,重新添加ESXi主机、重建分布式交换机的内容。

1 重新安装vCenter Server Appliance

在vCenter Server Appliance没有备份的情况下,如果vCenter Server出了问题,只能通过重新安装vCenter Server Appliance,然后将ESXi主机添加到群集中。
【说明】当vCenter Server停止时,不能修改虚拟机使用分布式虚拟交换机的端口组,但可以修改虚拟机的配置,从使用分布式虚拟交换机的端口组改为标准端口组。如果修改端口组为分布式端口组会弹出“不支持添加或重新配置连接到非临时分布式虚拟端口组的网络适配器”,如图10-4所示。

vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-4 不能修改分布式端口组
在vSAN主机都正常工作,除了vCenter Server 虚拟机出问题导致不能使用外,其他的虚拟机都正常工作。在无备份、修复无效的情况下,只能重新安装vCenter Server Appliance。如果确认需要重新安装vCenter Server Appliance,可以找同版本的vCenter Server Appliance,也可以找较新版本的vCenter Server,但不建议跨度太大(主版本号相同,次版本号可以高一些)。
在重新安装前,原来出故障的vCenter Server虚拟机可以关机或重命名。重新安装前要了解当前环境中有几台ESXi主机,每台主机的IP地址、管理员帐户和密码,每台主机的配置、磁盘组、虚拟交换机、虚拟端口组等情况。在了解这些信息之后,在网络中的一台计算机中,加载vCenter Server Appliance安装镜像,开始vCenter Server的安装。在安装的时候可以使用原来的IP地址和域名,也可以使用新的IP地址和域名。
vCenter Server的安装配置本文不做过多介绍,本节只介绍关键步骤。
(1)运行vCenter Server Appliance安装程序,在“设备部署目标”对话框的“ESXi主机名或vCenter Server名称”文本框中,输入要放置vCenter Server Appliance虚拟机的ESXi主机的IP地址,本示例为172.18.96.45,然后在用户名和密码中输入172.18.96.45的root帐户和密码。
(2)在“设置设备虚拟机”对话框的“虚拟机名称”文本框中输入新部署的虚拟机名称,本示例为vc.heinfo.edu.cn-96.10-New3。
(3)在“配置网络设置”对话框中,为新部署的vCenter Server设置FQDN和IP地址等参数,本示例仍然使用vc.heinfo.edu.cn的域名和172.18.96.10的IP地址。
(4)在“即将完成第1阶段”对话框中显示了部署虚拟机的信息,如图10-8所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-8 即将完成第1阶段
(5)然后根据向导完成第二阶段的部署所示。

2 将ESXi主机添加到新的vCenter Server

在重新安装了vCenter Server之后,需要在vCenter Server中新建数据中心、新建群集,并将ESXi主机添加到群集中,主要步骤如下。
(1)使用vSphere Client登录到vCenter Server,在添加并分配许可证之后,新建数据中心,本示例使用默认名Datacenter。
(2)在创建数据中心之后,用鼠标右键单击新建的数据中心名称,在弹出的快捷菜单中选择“新建群集”,在弹出的“新建群集”对话框中的“名称”文本框中设置新建群集名称,本示例为vSAN-HA,然后选择开启DRS、vSphere HA、vSAN。
(3)创建群集之后,在“群集快速入门”中显示了后续任务,在“添加主机”选项中单击“添加”按钮,在“将新主机和现有主机添加到您的群集”对话框中,将172.18.96.41~172.18.96.45共5台主机添加到群集,如图10-14所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
(4)添加之后只有部分主机在群集中,要将其余主机移入群集,需要先并主机置于维护模式,然后移入群集。之后将主机退出维护模式。
(5)在导航器中选中主机,在“配置→网络→虚拟交换机”中看到分布式交换机不再位于vCenter Server中,如图10-16所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
(7)此时vSAN数据存储正常,在“配置→vSAN→磁盘管理”中可以看到所有主机都在组1中,vSAN磁盘挂载正常,如图10-17所示。但分布式交换机不正常,需要重新配置分布式交换机。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-17 vSAN存储正常

3 重新配置分布式虚拟交换机

如果ESXi主机配置的是标准交换机,在重新安装了vCenter Server之后,将ESXi主机添加到vCenter Server并配置了HA即可完成设置,但如果ESXi主机使用的是分布式交换机,还需要重新配置分布式交换机。如果重新配置分布式交换机,需要通过以下步骤完成(以原来的分布式交换机至少有2个上行链路为例)。
(1)新建分布式交换机DSwitch-B。假设原来的分布式交换机的名称为DSwitch-A,新建分布式交换机DSwitch-B,为其指定2个上行链路。
(2)修改MTU。新建分布式交换机DSwitch-B后,修改MTU数据与原来DSwitch-A的数值相同。
(3)为DSwitch-B添加一条上行链路。修改DSwitch-B,添加管理主机,为DSwitch-B分配一条上行链路,使用原来DSwitch-A的一条上行链路(即从原来DSwitch-A中移除一条上行链路,将其分配给DSwitch-B)。这一步配置完成后,原来的DSwitch-A、新配置的DSwitch-B各使用一条上行链路,保证迁移端口组前、后通讯不中断。
(4)对照DSwitch-A创建端口组。在DSwitch-B创建与DSwitch-A对应的端口组,这需要有类似的名称以及相同的vlan属性等。
(5)迁移原DSwitch-A的端口组、涉及到的VMkernel,如果vSAN流量在DSwitch-A上,迁移该VMkernel流量的端口组到DSwitch-B。在迁移的过程中,原DSwitch-A的端口组、绑定在DSwitch-A端口组的VMkernel迁移到DSwitch-B,在迁移过程中,这些端口组的上行链路从DSwitch-A剩余的一条链路切换到DSwitch-B的一条链路,因为这两个链路连接到物理交换机相同的端口及属性,所以迁移过程中网络不会中断。
在这一步中,如果虚拟机使用DSwitch-A的端口组,也在这一阶段将这些虚拟机的端口组从DSwitch-A迁移到DSwitch-B对应的端口组。
(6)修改DSwitch-B的上行链路2为原来DSwitch-A剩余的一条上行链路,这一步的操作是将原来DSwitch-A的上行链路移除,迁移到DSwitch-B。
(7)到这一阶段,DSwitch-A没有上行链路,其端口组也没有分配给虚拟机,DSwitch-A会自动清除。如果没有从ESXi主机清除,一般是某台虚拟机或某个模板虚拟机分配了DSwitch-A的端口组,如果是模板虚拟机,将模板转换成虚拟机,修改虚拟机网络使用DSwitch-B的端口组后,可以手动将DSwitch-A移除。
在本节中需要创建分布式交换机、为分布式交换机分配上行链路、创建分布式端口组等内容,这些内容在前文已经做过介绍。本节的操作涉及到这些知识的灵活使用。下面介绍关键步骤。
(1)使用vSphere Client登录到vCenter Server,单击“”图标,用鼠标右键单击“Datacenter”,在弹出的快捷菜单中选择“Distributed Switch→新建Distributed Switch”,在“新建Distributed Switch”对话框的“名称和位置→名称”处输入新建交换机的名称,在此使用默认值DSwitch。
(2)在“编辑设置”对话框的“上行链路数”中选择2,选中“创建默认端口组”的选择,设置端口组名称为vlan2003。
(3)在“即将完成”对话框中显示了新建分布式虚拟交换机的信息,检查无误之后单击“Finish”按钮。
(4)创建分布式交换机及端口组完成后,用鼠标右键单击vlan2003,在弹出的快捷菜单中选择“编辑设置”,在弹出的“vlan2003-编辑设置”对话框的“VLAN”选项,修改VLAN类型为VLAN,VLAN ID为2003,如图10-21所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-21 修改VLAN ID
(5)检查虚拟交换机的MTU值,如果启用了巨型帧,需要将DSwitch分布式虚拟交换机的MTU修改为9000,这与原来分布式虚拟交换机的MTU值相同。
(6)然后添加VLAN2001、VLAN2002的分布式端口组,这些不再介绍。
下面为新创建的分布式虚拟交换机添加上行链路,主要步骤如下。
(1)在vSphere Client的“网络”界面中,用鼠标右键单击新建的虚拟交换机DSwitch,在弹出的快捷菜单中选择“添加和管理主机”,在“添加和管理主机→选择任务”对话框中选择“添加主机”,添加当前节点所有主机,如图10-22所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-22 添加管理主机
(2)在“管理物理适配器”对话框中为此分布式虚拟交换机添加物理网卡。虽然在重新安装vCenter Server之后,原来的分布式交换机不能重新配置,但原来分布式交换机的上行链路仍在使用。所以在此操作中,不要将所有的上行链路一次分配完,先从原来的2块物理网卡中选择其中一块,这样新配置的分布式交换机和原来的分布式交换机各使用一块上行链路,这样保证网络不会中断。在本示例中,将每台主机的vmnic2配置为上行链路1,如图10-23所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-23 分配一条上行链路
(3)在添加了上行链路后,其他选择默认值,直到本次操作完成。
在添加了上行链路后,迁移vSAN流量的VMkernel,主要步骤如下。
(1)用鼠标右键单击分布式交换机DSwitch,在弹出的快捷菜单中选择“添加和管理主机”,在“选择任务”对话框中选择“管理主机网络”,在“选择主机”中添加172.18.96.41~172.18.96.45的主机。
(2)在“管理VMkernel适配器”对话框中,选中vmk1单击“分配端口组”,如图10-24所示。在此示例中,由于vCenter Server重新安装导致原来的分布式交换机无法配置,所以在此图中vmk1有黄色的感叹号,其“源端口组”中无端口组信息。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-24 分配端口组
(3)在“选择网络”对话框中选择vlan2003,并选择“将此端口组分配应用于其余主机”,如图10-25所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-25 选择端口组
(4)为每台ESXi主机的vmk1(用于vSAN流量的VMkernel)分配新配置的DSwitch的vlan2003端口组。
(5)在“即将完成”对话框单击“Finish”按钮完成VMkernel的迁移。
然后将每台主机的另一个物理网卡端口为与到分布式交换机的“上行链路2”,如图10-28所示。其他选项使用默认值不变。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-28 分配上行链路
【说明】通过两步分配完2个上行链路是为了保证在重新配置虚拟交换机的过程中网络不中断。
此时每台物理主机的原来遗留的分布式虚拟交换机应该已经自动移除,如果还有遗留的分布式虚拟交换机,一般是在vCenter Server故障期间(在原来的vCenter Server损坏之后、在重新安装新的vCenter Server之前)修改了虚拟机的端口组导致,对于这种情况,将涉及到的虚拟机修改为新的分布式交换机的端口组,然后删除遗留的分布式交换机即可。
(1)在vSphere Client的导航器中选择每台主机,在“配置→网络→虚拟交换机”中检查是否有多余的分布式交换机,如果存在,选中故障的虚拟交换机,单击“…”在弹出的快捷菜单中选择“移除”,如图10-29所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-29 移除
(2)在“从Distributed Switch中移除主机”对话框中选择“是”按钮。移除之后,每台主机配置如图10-31所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-31 虚拟交换机

4 更新ESXi主机配置

因为重新配置了分布式交换机的上行链路(分两次完成),此时在vSAN监控中会有“网络连接丢失”的报警,另外由于ESXi主机添加到新的vCenter,也需要在vCenter Server中更新ESXi的信息。
(1)使用vSphere Client登录到vCenter Server,在导航器中选择vSAN群集(本示例中群集名称为vSAN-HA),在“监控→vSAN→运行状况”的vCenter状态具有权威性中显示了未同步的主机,单击“更新ESXi配置”链接,如图10-32所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-32 更新ESXi主机
(2)在“确认-更新ESXi配置”对话框中,单击“确定”按钮,更新之后显示“vSAN群集配置一致性”。
在导航器中选择群集,在“监控→问题与警报→已触发的警报”中选中所有警告,单击“重置为绿色”,重置之后,每台主机前面的红色报警取消,状态正常,如图10-36所示。
vSphere虚拟化中重装vCenter并重建分布式交换机的方法
图10-36 报警取消
最后还要重新创建资源池,将虚拟机根据原来的规划移入对应的资源池,这些不一一介绍。