Xenserver主节点故障处理示例/Xenserver进入单用户

#
## Xenserver主节点故障,XenCenter无法连接—示例篇
# 主节点故障/ toolstack/ xapi


通常在配有HA的XenServer Pool中,当主节点发生故障时,主节点会自动切换成其他节点,并自动将主节点下的虚拟机迁移到其他节点上。有时会出现这样一种情况:主节点丢失后,在XenCenter中无法对Pool进行管理,整个Pool始终无法连上。尝试去ping Pool中的节点时,发现网络正常,运行在Xenserver下的虚拟机也正常运行,但始终无法连上XenServer Pool。
登录各个节点,查看各个节点运行状态:xen host-is-in-emergency-mode,返回“true”,表明新旧两台主节点及子节点均运行在紧急模式下,通过xsconsole回到菜单界面,发现原有管理网卡绑定信息均已经丢失(此时生产网络依旧能通),看不到任何网卡配置信息。于是,试图在XenServer中,选择“Exit Maintenance Mode”,此时系统提示出错,无法退出维护模式。


通过查看pool的列表时出错如下:
# xe pool-list
The server failed to handle your request, due to an internal error. The given m
essage may give details useful for debugging the problem.
message: INTERNAL_ERROR: [ Connection failed: connection refused. ]


查看主机列表时,出错如下:
The server failed to handle your request, due to an internal error. The given m
essage may give details useful for debugging the problem.
message: INTERNAL_ERROR: [ Connection failed: connection refused. ]


经查找资料,发现此问题通常是在主节点突然故障时出现。问题的本质在于slave节点找不到它的master节点,XenServer认为系统出现了故障,为保护运行中的虚拟机,系统自动进入emergency mode。
运气好的话,通过重启时可以解决的,但最近时运不济命途多舛,重启主节点后,仍然无法恢复正常。
此时可以通过命令xe pool-emergency-transition-to-master使子节点顺利启动到正常状态。
这样一来,管理口应该就恢复正常了,可以通过xencenter连接到pool中,首先会连接原来的master,失效后连接新的master。
但没有最衰只有更衰,如果这样还不能退出维护模式的话,就只能重启xapi,命令如下:
# xe-toolstack-restart 
Stopping xapi: ..                                          [  OK  ]
Starting xapi: ...start-of-day complete.                   [  OK  ]


重启xapi后,主节点进入正常模式,在子节点找到主节点后,自动会退出维护模式,进入到正常模式。此时在XenCenter中就可以管理各个节点了。


还有一种情况,就是手动指定新的主节点后,HA未取消,要是原来的主节点发生重启,则此时也无法连接XenCenter,但是不影响其下虚拟机的运行。这时可能会出现两个主节点,如此一来,部分虚机将会处于紧急模式。此时可以在原来的主节点上,恢复到原来的状态:pool-recover-slaves。










#
## XenServer下的Linux虚拟机进入单用户模式—简述篇
# 单用户模式
在root密码丢失、grub出错或系统故障等原因,很多时候都要进入单用户模式对系统进行修改。而XenServer下的虚拟机在启动时并没有类似物理机的lilo或grub选项,无法通过“e”修改启动内容。
解决的方法比较多,但最简单的方法只有一个:在XenCenter对应虚机的管理面板上,仔细翻翻,会发现一段“boot option”输入框,默认时,通常是类似酱紫滴:graphical utf8 vnc。
此时,只要简单将vnc改成single,如:graphical utf8 single,系统启动后将自动进入单用户模式,就可以进行修改了。








E.O.F


2012-12-15

你可能感兴趣的:(Xenserver主节点故障处理示例/Xenserver进入单用户)