笔者在过去半年的项目中,接到不下三次客户的紧急故障报告,内容都是“我们的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”
2.进入摘要界面,点击右上角的备份
3.填写备份使用的协议,目标服务器地址,是否加密等设置
注:备份路径下不能有任何文件或者文件夹,必须为空
4.系统会验证管理员输入
注:如果备份路径不为空,系统会提示“备份路径不为空”的错误提醒
5.根据需要选择备份的内容,为备份任务添加描述
6.确认各项参数设置无误后,点击完成,启动手动备份操作
7.等待备份任务启动
8.等待备份任务完成
9.备份进度显示备份作业已完成后,关闭界面
10.在FTP服务器的对应目录下,可以看到已经自动生成了备份文件
在完成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安装向导,选择“还原”
2.首先执行第一阶段操作,安装新的vCenter实例
3.操作基本与vCenter全新安装相同
4.选择备份还原使用的FTP服务器
5.后续的配置操作与新安装VC无异
注:如果备份虚拟机备份大小为小型,那么选择新的部署时,只能选择小型以上的部署规模
6.完成第一阶段设置后,点击完成,开始执行第一阶段的vCenter实例部署
注:如果通过单击“ 关闭”退出向导,则必须登录vCenter Server Appliance Management Interface才能继续后续操作
7.开始执行第二阶段,配置还原的部署操作
8.对于加密备份的情况,需要输入备份还原密码
9.点击完成,开始vCenter实例的数据还原操作
10.等待vCenter还原操作完成
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部署失败
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站点配置还原
4.vCenter数据中心、集群和ESXi主机拓扑还原
5.许可证文件和分配情况不变
6.分布式交换机、交换机端口组等网络设置还原
相信通过上文的描述,相信各位读者对VC的备份与还原一定有所了解了。
其实,VC也支持自动备份,需要管理员在VC的操作系统底层调用Linux的crontab定时执行预先配置的脚本,来完成周期性的备份工作。
不过,经过笔者测试,在VCSA6.5以后,会出现crontab不生效的情况,原因是/etc/pam.d/crond配置文件中,将认证方式设置为VCSA6.5不存在的password-auth方式
第一种解决方案,将password-auth改成system-auth
第二种解决方案,使用命令ln -s system-auth password-auth
笔者的第一篇技术文章,欢迎各位技术大拿斧正。