SSH를 통해 X 터널을 설정할 때만 비디오 드라이버에 문제가 발생함

SSH를 통해 X 터널을 설정할 때만 비디오 드라이버에 문제가 발생함

저는 오래된 물리적 서버를 교체하기 위해 RHEL 6.7 서버(VMware 가상 머신 내에서 실행)를 구성하는 책임을 물려받은 마지못해 시스템 관리자입니다.

이 새 서버에서는 사용자가 SSH를 통해 원격으로 서버에 로그인하고 X 프로토콜을 터널링할 때 일부 X11 응용 프로그램이 제대로 작동하지 않습니다. 구체적으로,프리 서퍼Neuroscience Application Suite는 SSH를 통해 원격으로 작동하지 않습니다. 그러나 사용자가 동일한 사용자(ssh 대신 NoMachine을 통해 원격으로 액세스)와 동일한 옵션을 사용하여 서버의 로컬 세션에서 동일한 프로그램을 실행하면 제대로 작동합니다.

예를 들어 다음 명령은 MRI 데이터에 포함된 데이터를 기반으로 뇌의 우반구를 표시합니다.내 주요 주제폴더는 지정된 뇌 영역 색상을 사용합니다.aparc.annot문서:

tksurfer mySubject rh pial -annotation aparc.annot

서버의 로컬 세션에서는 오류 없이 실행됩니다. 사용자가 원격으로 로그인하면(X 모니터를 CentOS 6 PC로 터널링) ssh -Y user@hostname사용자에게 다음 오류가 표시됩니다.

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

온라인에서 조사한 결과 이러한 오류 메시지는 일반적으로 Nvidia 드라이버 설치가 필요한 응용 프로그램과 관련이 있는 것으로 나타났습니다. 나는 X 서버를 망칠 수 있다는 두려움 때문에 Nvidia 드라이버 설치를 꺼려왔습니다.

Nvidia 드라이버가 설치된 VMware 환경에서 RHEL을 성공적으로 실행한 사람이 있습니까? 그렇다면 가상 머신 환경과의 호환성을 유지하는 방식으로 드라이버를 설치하는 프로세스는 무엇입니까?

이 서버에서 이것을 실행 하면 lspci | grep VGA다음과 같은 결과가 나타납니다.

00:0f.0 VGA compatible controller: VMware SVGA II Adapter

답변1

애플리케이션을 원격으로 렌더링하고 결과를 노드로 스트리밍하려고 합니다.
한 가지 해결책은 다음을 사용하는 것입니다.가상 GL(함께 있을 수도 있음터빈 CNC단순화를 위해): https://cdn.rawgit.com/VirtualGL/virtualgl/2.5/doc/index.html https://cdn.rawgit.com/TurboVNC/turbovnc/2.0.x/doc/index.html

기본적으로 virtualgl을 설치하고,turbovnc를 설치한 후 다음의 프로세스를 따라야 합니다.https://cdn.rawgit.com/TurboVNC/turbovnc/2.0.x/doc/index.html#hd009:

프로그램

Follow the procedure described in Chapter 6 for starting a TurboVNC session and connecting to it.
Open a new terminal inside the TurboVNC desktop.
In the same terminal window, open a Secure Shell (SSH) session into the VirtualGL server:

/opt/VirtualGL/bin/vglconnect {user}@{server}

Replace {user} with your username on the VirtualGL server and {server} with the hostname or IP address of that server. Refer to the VirtualGL User’s Guide for additional vglconnect options.
In the SSH session, set the VGL_COMPRESS environment variable to rgb

Passing an argument of -c rgb to vglrun achieves the same effect.
In the SSH session, start a 3D application using VirtualGL:

/opt/VirtualGL/bin/vglrun [vglrun options] {application_executable_or_script} {arguments}

완전히 다른 접근 방식은 GPU-PASSTHROUGH를 사용하여 nvidia pci 장치를 가상 머신에 전달하는 것입니다. 이를 위해서는 BIOS와 호스트 OS가 IIRC를 지원해야 하지만 가상 머신 내에서 직접 NVIDIA 드라이버를 사용할 수 있습니다.
nvidia passthrough에 대한 vmware의 지원은 소비자 Geforce 제품이 아닌 Grid 제품에만 해당되는 것으로 보입니다.
해당 솔루션에 대한 일부 링크:

https://www.citrix.com/content/dam/citrix/en_us/documents/go/reviewers-guide-remote-3d-graphics-apps-part-2-vsphere-gpu-passthrough.pdf

https://www.pugetsystems.com/labs/articles/Multi-headed-VMWare-Gaming-Setup-564/

다른 것들도 있는데, 귀하의 사용 사례가 이 접근 방식에 적합한지 잘 모르겠습니다.

관련 정보