简述

笔者在过去半年的项目中,接到不下三次客户的紧急故障报告,内容都是“我们的vCenter挂掉了,业务受到了影响。”

在客户的业务系统中,vCenter是一个管理平面的组件,用来管理vSphere Server(ESXi)和虚拟机VM;随着技术的发展,现在的vCenter已经成为VMware Infrastructure的核心,用来统一管理服务器虚拟化vSphere、软件定义网络NSX和超融合vSAN。另外,在VC6.5以前,我们一般采用基于MSCS故障转移集群+SQL Server AWO来实现VC实例的高可用;在VC6.5之后,由于VCSA6.5强大的原生态HA功能,在项目中均采用VMware的最佳实践,通过开启VCHA来实现VC实例的高可用。

如此看,VC的备份似乎不那么重要,很多人会说,“一个管理平面组件的故障,理论上不会影响客户的业务系统。即使没有备份,大不了重装就是了。”可事实真的如此么?我们来看一下一个案例。

某虚拟桌面用户规模约3000人,VCHA由于误操作失效,在vCenter故障的情况下,桌面交付控制器无法获取桌面清单和虚拟机的电源状态,导致用户无法正常登陆,业务停摆。由于没有VC备份,管理员不得不重新安装部署VC以尽快回复业务。同时,须要手动更新交付控制器上信赖的VC证书、VC的清单列表、分布式交换机及相关配置,并且要在最后完成近3200台业务虚拟机网络的迁移工作。

由此可见,VC的容灾是一件不容忽略的大事,不容忽略的大事,不容忽略的大事(重要的事情说三遍)。


那么VC的备份如何来做呢?请看下面一个简单的LAB。

实例环境:

VCSA65T:vCenter Server Appliance6.5U2,172.20.5.237,模拟故障的VC

ESXI65T:ESXI6.5U1,172.20.1.237,双物理网卡,vNIC0管理业务-标准交换机;vNIC1生产业务-分布式交换机,模拟承载业务的ESXI

备份服务器:172.20.1.199,使用FTP协议进行备份

测试用例:

1.VCSA65T采用FQDN作为主机名,证书签发给vcsa65t.at.ent.com,测试VC证书是否保留

2.VCSA65T配置了数据中心DC-65T,集群CL-65T,一台ESXi主机ESXI65T,测试VC清单是否保留

3.ESXI65T有2个虚拟交换机,vSwitch0承载管理流量,新建分布式交换机vDS-65T承载生产流量,新建分布式端口组DPG-65T,测试分布式交换机是否保留

4.许可证,包含vcenter6标准版,vsphere6企业增强版,测试许可文件是否保留

5.vCenter SSO配置,密码永不过期,测试VC系统配置是否保留

6.VAMI配置,root密码永不过期,测试VC底层操作系统配置是否保留

首先我们采用手动备份:

1.管理员访问VCSA的VAMI界面,俗称“5480”

🎥2x00 常常被人忽略的VC备份 - 图1

2.进入摘要界面,点击右上角的备份

🎥2x00 常常被人忽略的VC备份 - 图2


3.填写备份使用的协议,目标服务器地址,是否加密等设置

注:备份路径下不能有任何文件或者文件夹,必须为空

🎥2x00 常常被人忽略的VC备份 - 图3

4.系统会验证管理员输入

注:如果备份路径不为空,系统会提示“备份路径不为空”的错误提醒

🎥2x00 常常被人忽略的VC备份 - 图4

5.根据需要选择备份的内容,为备份任务添加描述

🎥2x00 常常被人忽略的VC备份 - 图5

6.确认各项参数设置无误后,点击完成,启动手动备份操作

🎥2x00 常常被人忽略的VC备份 - 图6

7.等待备份任务启动

🎥2x00 常常被人忽略的VC备份 - 图7

8.等待备份任务完成

🎥2x00 常常被人忽略的VC备份 - 图8

9.备份进度显示备份作业已完成后,关闭界面

🎥2x00 常常被人忽略的VC备份 - 图9

10.在FTP服务器的对应目录下,可以看到已经自动生成了备份文件

🎥2x00 常常被人忽略的VC备份 - 图10

在完成VC的备份后,一旦VC出现故障,管理员可以通过备份快速恢复VC,笔者环境的RTO小于20分钟。

那么VC的还原机制是如何进行的呢?下面我们模拟VC故障,管理员通过备份恢复业务的场景。

恢复准备工作:

1.下载并装入vCenter Server Appliance安装程序

2.如果计划在ESXi主机上还原vCenter Server Appliance,请验证目标ESXi主机是否未处于锁定状态或维护模式

3.如果计划在vCenter Server清单的DRS群集上还原vCenter Server Appliance,请验证群集是否包含至少一个未处于锁定或维护模式的ESXi主机

4.如果计划为设备分配静态IP地址,请验证是否已为IP地址配置了正向和反向DNS记录

5.如果您尝试还原仍在运行的vCenter Server实例,请在开始还原操作之前关闭备份的vCenter Server

详细的还原步骤:

1.启动VCSA安装向导,选择“还原”

🎥2x00 常常被人忽略的VC备份 - 图11

2.首先执行第一阶段操作,安装新的vCenter实例

🎥2x00 常常被人忽略的VC备份 - 图12

3.操作基本与vCenter全新安装相同

🎥2x00 常常被人忽略的VC备份 - 图13

4.选择备份还原使用的FTP服务器

🎥2x00 常常被人忽略的VC备份 - 图14
🎥2x00 常常被人忽略的VC备份 - 图15

5.后续的配置操作与新安装VC无异

🎥2x00 常常被人忽略的VC备份 - 图16
🎥2x00 常常被人忽略的VC备份 - 图17

注:如果备份虚拟机备份大小为小型,那么选择新的部署时,只能选择小型以上的部署规模

🎥2x00 常常被人忽略的VC备份 - 图18
🎥2x00 常常被人忽略的VC备份 - 图19

6.完成第一阶段设置后,点击完成,开始执行第一阶段的vCenter实例部署

🎥2x00 常常被人忽略的VC备份 - 图20
🎥2x00 常常被人忽略的VC备份 - 图21
🎥2x00 常常被人忽略的VC备份 - 图22

注:如果通过单击“ 关闭”退出向导,则必须登录vCenter Server Appliance Management Interface才能继续后续操作

🎥2x00 常常被人忽略的VC备份 - 图23

7.开始执行第二阶段,配置还原的部署操作

🎥2x00 常常被人忽略的VC备份 - 图24

8.对于加密备份的情况,需要输入备份还原密码

🎥2x00 常常被人忽略的VC备份 - 图25

9.点击完成,开始vCenter实例的数据还原操作

🎥2x00 常常被人忽略的VC备份 - 图26
🎥2x00 常常被人忽略的VC备份 - 图27

10.等待vCenter还原操作完成

🎥2x00 常常被人忽略的VC备份 - 图28
🎥2x00 常常被人忽略的VC备份 - 图29

11.还原后的其他操作:

具有外部Platform Services Controller的vCenter Server Appliance

1.登录已还原的vCenter Server Appliance Bash shell

2.运行脚本/usr/bin/vcenter-restore

Platform Services Controller设备

对于域中的所有vCenter Server节点

1.登录已还原的vCenter Server Appliance Bash shell。

2.运行脚本/usr/bin/vcenter-restore。

具有嵌入式Platform Services Controller的vCenter Server Appliance

此节点类型不需要恢复后恢复。

通过VC备份还原后,我们所关注的,包括VC证书、许可、分布式交换机的配置是否也同样恢复了呢?

对于我们的测试用例,一一检验:

1.VAMI界面的系统配置保留

注:SSH自动关闭,需要重新手动打开,否则会造成VCHA部署失败

🎥2x00 常常被人忽略的VC备份 - 图30

2.签发给vCenter的证书不变

文件: C:\Users\柒月流火\Desktop\vcsa65t-origin.cer

大小: 1368 字节

修改时间: 2018年11月27日, 11:27:38

MD5: 5DCF677679CB463B73C4851CCC8EA1E8

SHA1: AF8D657E94846BFCB3764AC26896F6A2FBD96745

CRC32: CEE82A81

文件: C:\Users\柒月流火\Desktop\vcsa65t-restore.cer

大小: 1368 字节

修改时间: 2018年11月27日, 13:43:48

MD5: 5DCF677679CB463B73C4851CCC8EA1E8

SHA1: AF8D657E94846BFCB3764AC26896F6A2FBD96745

CRC32: CEE82A81

3.嵌入式PSC模式的vCenter SSO站点配置还原

🎥2x00 常常被人忽略的VC备份 - 图31

4.vCenter数据中心、集群和ESXi主机拓扑还原

🎥2x00 常常被人忽略的VC备份 - 图32

5.许可证文件和分配情况不变

🎥2x00 常常被人忽略的VC备份 - 图33

6.分布式交换机、交换机端口组等网络设置还原

🎥2x00 常常被人忽略的VC备份 - 图34

相信通过上文的描述,相信各位读者对VC的备份与还原一定有所了解了。

其他自动备份方式

其实,VC也支持自动备份,需要管理员在VC的操作系统底层调用Linux的crontab定时执行预先配置的脚本,来完成周期性的备份工作。

不过,经过笔者测试,在VCSA6.5以后,会出现crontab不生效的情况,原因是/etc/pam.d/crond配置文件中,将认证方式设置为VCSA6.5不存在的password-auth方式

🎥2x00 常常被人忽略的VC备份 - 图35

第一种解决方案,将password-auth改成system-auth

🎥2x00 常常被人忽略的VC备份 - 图36

第二种解决方案,使用命令ln -s system-auth password-auth