2013-07-08 227 views
0

我有一个连接到几个工作站服务器(具有专用图形卡/ 2个磁头的服务器)的处理服务器(仅板载图形和无磁头)。有一套opengl应用程序,我无法更改并且处理密集型。我希望能够将它们移到不同的工作站服务器上,而无需重新加载这些应用程序。到目前为止,我一直无法做到这一点,我正在寻找建议,如果这是可能的。将X显示从一个服务器移动到另一个服务器

如果我将显示导出到工作站服务器,则在处理服务器上运行应用程序会正常工作,但如果不重新启动应用程序,我无法将这些显示移动到其他服务器。

我试过x11vnc并且工作正常,但只有当它连接到当前运行的X会话。这将允许应用程序在工作站之间移动,但是一个工作站经常致力于运行不合需要的应用程序。

我试过x11vnc与xfvb,但我无法将它连接到显卡,所以我错过了应用程序所需的NV-GLX扩展。

我也试过turbovnc与virtualgl,但这些应用程序似乎没有与virtualgl正常工作。此外,这将需要我运行在工作站服务器上的应用程序是不可取的。

在我看来,理想的解决方案是让处理服务器能够运行应用程序,但移动导出的显示,但这似乎不可能。我看过xmove和xpra,但他们似乎使用类似于VNC的东西,我担心我会再次遇到NV-GLX扩展问题。

感谢您提供任何帮助。

+0

它看起来像xmove是唯一适用于您的方法,但该项目已经死了15年了。也有XImove,也似乎已经死了。也许你可以接管其中的一个。这不会很简单。 –

+1

这是方式,离题 - 请把它带到SuperUser.com! –

回答

2

不,这是不可能的,因为你已经描述过。

现在你有一台处理服务器在执行GPU密集型渲染的CPU密集型工作和工作站服务器。它们通过X11显示器连接紧密耦合。 Xlib和OpenGL都是在假设显卡/屏幕不会在其下面改变的情况下设计的,这就是为什么您不能在不重新启动的情况下移动到另一个工作站的原因。

附加到现有X会话的VNC可以工作,因为它根本没有进行任何渲染。它只是从现有窗口读取像素并将它们复制到其他地方。

使用xfvb,您要求OpenGL应用程序在不是很好的软件渲染器上运行,它拒绝这么做。 (即使你可以得到它的工作,性能会很糟糕。)

我会在处理服务器上粘贴一个像样的图形卡和监视器,并完全在该服务器/显示器上运行OpenGL应用程序。使用工作站中的x11vnc查看结果。

+0

谢谢您的输入。不幸的是,服务器的配置不能改变。我想我会继续在无头服务器上运行应用程序,但在需要移动时用不同的导出显示重新启动它们,它根本不是理想的,但如果没有其他方法,我认为它将不得不工作。 – john

相关问题