技术分享 > 基础网络

VMware vSphere 环境应急关闭及恢复讨论

发布时间:2015-01-05
41人关注

    为了提高业务的高可用性、可靠性等,某公司将现有服务器整合到了 VMware vSphere 虚拟化环境(如下图)。但当地供电环境不稳定,机房会面临不时的停电,UPS 的供电时长也有限。机房维护人员因此为维护虚拟环境而苦恼。 
 


    某日机房突然停电,确认短时间内不能供电后,为了避免意外断电对业务系统造成伤害,工作人员按以下顺序立即采取了措施:
    1、关闭核心和汇聚交换机;
    2、在 VC 中手动操作关闭 ESX ServerA,再立即利用同样的方法关闭 ESX ServerB;
    3、关闭 VC、存储交换机和共享存储。
首先,我们考虑此操作过程会对 VMware vSphere 环境造成影响或者说会报什么样的错误?

实际的表象结果是:
    1、当关闭核心和汇聚交换机后在两台 ESX Server 上都会报错:“主机未能到达隔离地
       址……”,当虚拟化环境恢复业务后此报错消失;
    2、在集群上显示“VMware HA 上进行了故障切换操作”,虚拟化环境恢复后错误仍在;

我们如何理解这两个报错呢?
    第一个错误:主机网络隔离是当主机正在运行但已经无法再与群集内的其它主机进行通讯时发生,主机的网络隔离地址默认是 Service Console 的网关。此案例中网关设置在核心交换机上,当汇聚交换机关闭后两台主机都无法与其它主机进行通讯,它们就尝试 ping 隔离地址,但显然是无法到达的。这样它们就会出现错误报警“主机未能到达隔离地址”,当业务恢复后错误也就随之消失。
     第二个错误:从字面上理解确实是当关闭 ESX ServerA 后,其上的 VM 是需要进行故障切换操作。但为什么之前进行模拟关闭一台 ESX Server 后,VM 切换,但集群并没有报错呢?个人认为可能是由于当 ESX ServerA 关闭后其上的 VM 还未能转移到 ESX ServerB 时,B 也随之关闭了,也就是说 A 上的 VM 不能正常切换,就造成此错误提示的出现。那如何消除错误提示呢?其实很简单,只需将 VMware HA 关闭,完成后再启动即可。
工作人员的关机顺序还有一个问题就是当手动关闭 ESX Server,对于 VM 来说是强制断电关闭的,因此可能会导致操作系统和业务出现意外。
 
正确的应该关闭和恢复虚拟化环境方案:
当机房停电后观察数分钟,向电力部门确认在 UPS 供电时间内不能供电时,有以下两种方案可供选择,根据时间而定:
有单独关闭 VM 的时间
    1、在 VC 里,选中 VM 利用客户机菜单来关闭所有 VM;
    2、关闭 VMware HA;
    3、待 VM 和 HA 都完成关闭后将两台 ESX Server 关机;
    4、关闭 VC 服务器;
    5、任意顺序核心交换机、汇聚交换机、存储交换机和共享存储。
无单独关闭 VM 的时间
    1、关闭 VMware HA;
    2、完成后关闭两台 ESX Server(由于 VMware HA 未启用,VM 不会尝试切换);
    3、关闭 VC 服务器;
    4、完成后任意顺序分别核心交换机、汇聚交换机、存储交换机和共享存储。
 
正确恢复顺序:
若供电正常后可按以下顺序进行启动恢复:
    1、按任意顺序启动核心交换机、汇聚交换机和存储交换机;
    2、待存储交换机正常后将启动共享存储;
    3、待存储启动完成后将两台 ESX Server 开机和 VC 服务器;
    4、在 VC 内重新连接 ESX Server;
    5、待硬件环境都正常后将 VMware HA 开启;
    6、成功后将所有业务 VM 启动(建议启动 VM 的间隔超过 20 秒,如果之前已设置 VM
       随主机启动刚无需做此操作)。
建议采取正确的应急方案,尽量使其对 VMware vSphere 虚拟环境造成的危害减到最小。


版权所有 陕西瑞金电子科技有限公司 陕ICP备07013778号-1 TEL: 029-82261090