我最近从运行Debian Squeeze的服务器上从VirtualBox切换到Xen。 这种工作只有一台虚拟机在运行。 但是一旦我启动第二台虚拟机,第一台虚拟机就不能再通过networking访问了。 只要我重新启动第一个我不能达到第二个了。 我不知道这是否只是一个networking问题,或者如果整个虚拟机停止运行。 另外,即使只有一个虚拟机在运行,它也会在一段时间后无响应。
我的机器是AMD Athlon(TM)XP 3000+,配有1G RAM。 虚拟机的networking路由。 一个VM运行Ubuntu,另一个运行openSUSE。 对于DomUs,我使用Debian提供的内核。
我想我可能会在这里错过一些重要的信息,所以如果你需要知道其他的东西只是问。
所以现在我终于得到控制台访问工作。 但这并没有真正帮助缩小问题的范围。 DomU在失去networking可达性后继续运行。 在DomU或Dom0的任何日志中没有关于这些问题的信息。 试图从DomU ping Dom0(反之亦然)产生消息“Destination Host Unreachable”。 ifconfig和ip route的输出在工作时是一样的。
您可以为domUconfiguration一个vnc控制台。 这样一来,更容易排除domU的问题,因为您可以看到domU的vga输出并直接input到控制台。 为此,可以将以下行添加到domU Config文件中:
vfb = [ 'type=vnc,vncdisplay=12,vncpasswd=password' ]
如果您重新启动domU,您可以使用端口5912上的vnc查看器连接到您的服务器,请确保连接到Xen服务器IP,因为这是vnc控制台可用的地址。 您可以使用vncdisplay参数设置端口偏移量。 vncdisplay = 11会将你的domU vnc控制台放在servername:5911上。在上面的代码中密码被设置为'password',但是你可以将它设置为你喜欢的任何东西,只要你记住vnc只会检查给定密码的前8个字符。 如果您将密码设置为“imsingingintherain”,“imsingin”会让您访问您的服务器。
如果你不需要为你的domUbuild立一个路由networking,你可以通过在你的Xen服务器上连接domU和nic来简化设置。 为此,请在您的domUconfiguration文件中添加以下内容:
vif=[ 'bridge=mybridge' ]
您的domU将与Xen服务器位于同一networking中
你是怎么创build你的第二个domU的? 如果你只是把configuration文件从dom1复制到dom2,有没有机会忘记更改第二台机器的mac?
我终于可以自己解决这个问题了。 Debian提供的2.6.32-5-xen-686内核有一个导致这种行为的错误。 我编译了我自己的内核(vanilla 2.6.35.4),并将其用于DomU。 现在问题没有了。