Sie verbinden das VPN, öffnen das Notebook und erwarten, dass die schwere Zelle auf dem Server läuft. In der Praxis transportiert der Tunnel nur Pakete. Er installiert keinen Evaluator, erteilt keine Lizenz und wählt nicht, welche Maschine den Code ausführt. Das sind drei getrennte Dinge, und ein Arbeitsablauf mit entferntem Kernel braucht alle drei, bevor die erste Berechnung vertrauenswürdig ist.

Der Mythos: Eine VPN-Verbindung ist die Einrichtung

Das VPN stellt einen Netzwerkpfad zwischen dem Laptop und dem Server bereit. Das ist nützlich und oft notwendig, weil der Startkanal und die Kernelverbindung den entfernten Host erreichen müssen. Es sagt nichts darüber aus, ob auf diesem Host ein Wolfram-Kernel existiert, ob die Lizenz einen zweiten gleichzeitigen Prozess erlaubt oder ob das Frontend für seine Verwendung konfiguriert ist.

Ein verwalteter Laptop kann nur das Frontend enthalten, während der Anspruch am Server hängt. Auch der umgekehrte Fall kommt vor: Eine Desktop-Lizenz auf dem Laptop berechtigt nicht zu einem Kernel auf gemeinsamer Infrastruktur. Keiner der beiden Fälle wird durch erneutes Verbinden des Tunnels behoben.

Prüfen Sie die Annahme früh. Werten Sie $MachineName in einem neuen Notebook aus und vergleichen Sie die Antwort mit dem erwarteten Host. Wenn sie den Namen des Laptops zurückgibt, lief die Zelle lokal, so gesund das VPN auch aussieht.

Trennen Sie das Frontend vom Evaluator

Das Frontend ist das Fenster: Es bearbeitet Zellen, stellt Ausgaben dar und speichert die Notebook-Datei. Der Kernel ist der Prozess, der Ausdrücke auswertet und Definitionen im Speicher hält. Das Frontend zu schließen verschiebt den Kernel nicht, und das Notebook zu speichern sichert nicht den Zustand des Kernels.

Sobald ein entfernter Kernel verbunden ist, sind der Dateispeicherort des Notebooks und das Arbeitsverzeichnis des Kernels zwei verschiedene Dinge. Directory[] meldet das Verzeichnis des Evaluators, und das ist der Pfad, der für Import, Export und relative Dateinamen zählt. Ein Datensatz neben dem Notebook auf dem Laptop ist für einen Kernel auf einer anderen Maschine nicht sichtbar.

Entscheiden Sie vor dem Schreiben der Analyse, wie die Daten den Server erreichen: ein gemeinsam eingebundener Speicherort, ein genehmigter Übertragungsschritt oder eine Datenbank, die der Server direkt erreichen kann. Die Wahl beeinflusst die Reproduzierbarkeit, denn ein Notebook, das von einem Laptop-Pfad abhängt, schlägt beim nächsten Lauf durch jemand anderen fehl.

Starten Sie den Kernel über einen genehmigten Kanal

Wolframs Leitfaden für entfernte Kernel beschreibt das Hinzufügen eines Kernel-Eintrags, die Auswahl der entfernten Maschine und den Start über SSH. Der Pfad zur ausführbaren Datei und die Argumente im Beispiel gehören zum Arbeitsablauf dieses Produkts; passen Sie sie an den Host und die Version an, die der Administrator nennt, statt sie unverändert einzufügen.

Die Host-Identität ist Teil der Einrichtung. Prüfen Sie den SSH-Hostschlüssel über den Prozess der Organisation, verwenden Sie die ausgegebene Authentifizierungsmethode und halten Sie private Schlüssel und Passwörter aus Notebook-Dateien heraus, die geteilt oder eingecheckt werden. Ein Notebook mit einem Startbefehl samt Passwort ist ein Leck von Anmeldedaten, keine Bequemlichkeit.

Öffnen Sie keinen WSTP-Listener ins Internet als Abkürzung. Das unterstützte Muster ist der SSH-Start, der den Kernelkanal innerhalb einer authentifizierten Verbindung hält. Hat das Netzwerkteam einen anderen Transport genehmigt, verwenden Sie diesen, aber behandeln Sie einen offenen Evaluator-Port als Designänderung und nicht als Fehlerbehebungsschritt.

Prüfen Sie zuerst Anspruch, Daten und Ausgabegröße

Bestätigen Sie mit dem Lizenzinhaber, dass der Server für diesen Benutzer einen Kernel ausführen darf und dass gleichzeitige Sitzungen zulässig sind. Entfernte Berechnungen werden oft getrennt vom Desktop-Frontend lizenziert, und ein fehlgeschlagener Start wegen des Anspruchs sieht einem fehlgeschlagenen SSH-Befehl ähnlich, bis jemand die Meldung des Servers liest.

Schätzen Sie dann die Größe des Ergebnisses. Ein Kernel, der einen Ausdruck von mehreren Gigabyte zurückgibt, schickt ihn über den Start- und den Kernelkanal an das Frontend, was den Speicher des Laptops blockieren oder erschöpfen kann. Halten Sie schwere Aggregation auf dem Server und geben Sie Zusammenfassungen zurück, oder schreiben Sie große Ergebnisse in einen Pfad auf dem Server und übertragen Sie sie bewusst.

Notieren Sie den Pfad der ausführbaren Datei, die Startargumente und das Arbeitsverzeichnis in den Einrichtungsnotizen des Notebooks. Der nächste Benutzer reproduziert dann die Anordnung, statt neu herauszufinden, welchen der fünf möglichen Pfade der Server verwendet.

Diagnostizieren Sie die Stufen der Reihe nach

Fünf Stufen müssen gelingen, und jede hat einen eigenen Test. Beginnen Sie am Laptop und stoppen Sie beim ersten Fehler, statt mehrere Einstellungen gleichzeitig zu ändern:

nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'

Eine fehlgeschlagene TCP-Prüfung deutet auf Routing, DNS oder die erlaubten Ziele des VPNs hin. Eine erfolgreiche TCP-Prüfung mit fehlgeschlagener SSH-Anmeldung deutet auf die Authentifizierung oder die Hostschlüssel-Richtlinie hin. Eine Anmeldung, die funktioniert, aber keine ausführbare Datei findet, deutet auf die Kernel-Installation oder den Pfad hin, den das Frontend erhalten hat. Ein Kernel, der startet, aber nie verbindet, deutet auf die Startargumente oder die lokale Firewall hin.

Bewahren Sie den ersten aussagekräftigen Fehler auf und geben Sie die server-seitigen Stufen an den Administrator weiter, dem diese Maschine gehört. Das wiederholte Neuanlegen des Kernel-Eintrags verdeckt, welche Stufe tatsächlich fehlschlug, und es verwirft die Beweise, die der Administrator braucht.

Am Ende wollen Sie ein Fenster, das Sie wiedererkennen, einen Evaluator, den Sie benennen können, und eine vereinbarte Route für Code und Dateien. Das VPN ist eine Komponente dieses Weges, und je schneller der Arbeitsablauf das widerspiegelt, desto weniger Zeit fließt in das erneute Verbinden eines Tunnels, der nie das Problem war.

Ähnliche Artikel