服务器崩溃/重启后,服务 xend start 挂起

服务器崩溃/重启后,服务 xend start 挂起

各位朋友,

我已经有一个 CENTOS 机器运行两个 xen VM 好几年了。昨天,ISP 出现了热问题,服务器宕机了。现在机器上的主机操作系统已经恢复,但我无法重新启动 XEND 服务。我执行了“service xend start”,在日志文件中看到的唯一输出是:

    [2010-11-08 08:25:57 xend 2970] INFO (SrvDaemon:283) Xend Daemon started
[2010-11-08 08:25:57 xend 2970] INFO (SrvDaemon:287) Xend changeset: unavailable .
[2010-11-08 08:25:57 xend 2970] ERROR (SrvDaemon:297) Exception starting xend ((111, 'Connection refused'))
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvDaemon.py", line 291, in run
    servers = SrvServer.create()
  File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvServer.py", line 108, in create
    root.putChild('xend', SrvRoot())
  File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvRoot.py", line 40, in __init__
    self.get(name)
  File "/usr/lib/python2.4/site-packages/xen/web/SrvDir.py", line 82, in get
    val = val.getobj()
  File "/usr/lib/python2.4/site-packages/xen/web/SrvDir.py", line 52, in getobj
    self.obj = klassobj()
  File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvDomainDir.py", line 39, in __init__
    self.xd = XendDomain.instance()
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomain.py", line 655, in instance
    inst.init()
  File "/usr/lib/python2.4/site-packages/xen/xend/XendDomain.py", line 71, in init
    xstransact.Mkdir(VMROOT)
  File "/usr/lib/python2.4/site-packages/xen/xend/xenstore/xstransact.py", line 345, in Mkdir
    complete(path, lambda t: t.mkdir(*args))
  File "/usr/lib/python2.4/site-packages/xen/xend/xenstore/xstransact.py", line 351, in complete
    t = xstransact(path)
  File "/usr/lib/python2.4/site-packages/xen/xend/xenstore/xstransact.py", line 20, in __init__
    self.transaction = xshandle().transaction_start()
  File "/usr/lib/python2.4/site-packages/xen/xend/xenstore/xsutil.py", line 18, in xshandle
    xs_handle = xen.lowlevel.xs.xs()
Error: (111, 'Connection refused')
~

当我按 Ctrl+c 启动命令时,我看到了此跟踪,这看起来好像问题出在 xenstored 上:

Starting xend: Traceback (most recent call last):
  File "/usr/sbin/xend", line 134, in ?
    sys.exit(main())
  File "/usr/sbin/xend", line 111, in main
    start_xenstored()
  File "/usr/sbin/xend", line 90, in start_xenstored
    s,o = commands.getstatusoutput(cmd)
  File "/usr/lib/python2.4/commands.py", line 54, in getstatusoutput
    text = pipe.read()
KeyboardInterrupt

有什么想法吗?

答案1

以防万一它对后代有用。问题似乎是 Xen 库的安装损坏。很可能当服务器崩溃时,它们被巧妙地弄乱了。使用新的 RPM 进行升级解决了这个问题。然后可以启动并使用现有的 VM 映像,而无需更改。

相关内容