SSH-Weiterleitung X11 mit IBM® Spectrum LSF verwenden

Damit X-fähige Anwendungen wie gewünscht funktionieren, muss die X-Verbindung über sshgetunnelt werden. Dies ist die sichere Methode.

Vorbereitende Schritte

Überprüfen Sie Folgendes:
  • ssh ist auf allen LSF -Hosts (sowohl Übergabe-als auch Ausführungshosts) installiert.
  • Der Client-Desktop stellt eine Verbindung zum LSF -Host mit aktivierter ssh X11 -Weiterleitung her.
  • Der X-Server ist auf dem lokalen Desktophost installiert.
  • Sowohl lokale Desktop-Hosts als auch die LSF -Übergabehosts sind ordnungsgemäß für die ssh X11 -Weiterleitung konfiguriert.
  • Die ssh X11 -Weiterleitung funktioniert außerhalb von LSF, d. h., wenn Sie ssh verwenden, um sich am Übergabehost vom Anzeigehost anzumelden, und ssh -X verwenden, um eine X-Anwendung für einen beliebigen Ausführungshost im Cluster zu starten, sollte die X-Anwendung auf dem Anzeigehost angezeigt werden.
  • Der Benutzer $HOME/.cshrc, $HOME/.profileund das Job-Script des Benutzers versuchen nicht, die Umgebungsvariable DISPLAYfestzulegen.

Informationen zu dieser Task

Unter X11 (X Window System) kann eine X-fähige Clientanwendung auf einem Host ausgeführt werden, während die zugehörige GUI auf einem anderen Host angezeigt wird, normalerweise in dem Terminal, an dem der Benutzer angemeldet ist.

Traditionell verwenden Sie die hostbasierte Zugriffssteuerung, die vom X-Server bereitgestellt wird, stellen eine Verbindung zu der fernen Maschine über telnet oder rsh her und weisen Clients an, eine Verbindung zum Server herzustellen, indem Sie die Umgebungsvariable DISPLAY festlegen. Diese Methode ist jedoch nicht sicher.

Der Zugriff auf einen LSF -Cluster ist am häufigsten auf sshbeschränkt, wobei telnet und rsh inaktiviert sind. Damit X-fähige Anwendungen wie gewünscht funktionieren, muss die X-Verbindung über sshgetunnelt werden. Dies wird als sichere Methode betrachtet.

In diesem Abschnitt wird ein Standardszenario für einen fernen Benutzer beschrieben, der sich am Cluster anmelden und einen X-fähigen Job über LSFausführen möchte.

Vorgehensweise

  1. Stellen Sie bei Bedarf eine Verbindung zu Ihrem Unternehmensnetz mit VPN her
  2. Stellen Sie sicher, dass der X-Display-Server auf Ihrer lokalen Maschine ausgeführt wird.
  3. Setzen Sie die Umgebungsvariable DISPLAY auf den entsprechenden Wert.
    • export DISPLAY=:0.0
    • export DISPLAY=local_ip_address:0.0
  4. Stellen Sie mit ssheine Verbindung zum Cluster her.
    ssh -Y username@remote_hostname_or_ip_address

    Geben Sie Ihr Kennwort ein, wenn Sie dazu aufgefordert werden.

    Die ssh -Sitzung zeigt die Eingabeaufforderung für die ferne Maschine an.

    Der ssh -Server setzt die Umgebungsvariable DISPLAY automatisch auf einen Wert wie localhost:10.0, sodass Clients eine Verbindung zu einer Proxyanzeige X11 auf dem fernen Host herstellen, von dem das X11 -Protokoll über ssh an Ihren X-Server weitergeleitet wird. Wenn Ihre Anmeldescripts DISPLAY in einen anderen Wert ändern, wird die X11 -Weiterleitung unterbrochen.

  5. Legen Sie Ihre LSF -Umgebung fest.
    • Für csh oder tcsh:
      source $LSF_ENVDIR/cshrc.lsf
    • Für sh, kshoder bash:
      . $LSF_ENVDIR/profile.lsf
  6. Übergeben Sie Ihren Job mit ssh X11 -Weiterleitung.
    bsub -XF myXapp

    Möglicherweise werden Sie zur Eingabe Ihres ssh -Kennworts aufgefordert.

    Nach der Übergabe Ihres Jobs und der Eingabe Ihres ssh -Kennworts wird die GUI Ihrer X-Anwendung auf Ihrer lokalen Anzeige angezeigt, wenn Sie dazu aufgefordert werden.