Jak spustit vzdálené jádro Wolfram z notebooku přes VPN
VPN přenáší jen připojení. Naplánujte nárok na jádro, spuštění přes SSH, vzdálený spustitelný soubor a cesty k souborům ještě před prvním výpočtem.
Připojíte VPN, otevřete notebook a očekáváte, že těžká buňka poběží na serveru. V praxi tunel přenáší jen pakety. Neinstaluje vyhodnocovač, neuděluje licenci ani nevybírá, který stroj kód spustí. To jsou tři oddělené věci a pracovní postup se vzdáleným jádrem potřebuje všechny tři, než je první výpočet důvěryhodný.
Mýtus: připojení VPN je nastavení
VPN poskytuje síťovou cestu mezi notebookem a serverem. To je užitečné a často nutné, protože spouštěcí kanál a připojení jádra musí dosáhnout vzdáleného hostitele. Neříká nic o tom, zda na tomto hostiteli existuje jádro Wolfram, zda licence povoluje druhý souběžný proces nebo zda je čelní rozhraní nakonfigurováno k jeho použití.
Spravovaný notebook může nést jen čelní rozhraní a nárok může být vázán na server. Stává se i opak: licence pro stolní počítač na notebooku neopravňuje jádro na sdílené infrastruktuře. Ani jeden případ se nevyřeší opětovným připojením tunelu.
Otestujte tento předpoklad brzy. Vyhodnoťte $MachineName v novém notebooku a porovnejte odpověď s hostitelem, který očekáváte. Pokud vrátí název notebooku, buňka běžela lokálně, bez ohledu na to, jak zdravě VPN vypadá.
Oddělte čelní rozhraní od vyhodnocovače
Čelní rozhraní je okno: upravuje buňky, vykresluje výstup a ukládá soubor notebooku. Jádro je proces, který vyhodnocuje výrazy a drží definice v paměti. Zavření čelního rozhraní jádro nepřesune a uložení notebooku neuloží stav jádra.
Jakmile je připojeno vzdálené jádro, umístění souboru notebooku a pracovní adresář jádra jsou různé věci. Directory[] hlásí adresář vyhodnocovače a to je cesta, na které záleží pro Import, Export a relativní názvy souborů. Datová sada ležící vedle notebooku na notebooku není viditelná pro jádro běžící na jiném stroji.
Rozhodněte, jak se data dostanou na server, než začnete psát analýzu: sdílené připojené umístění, schválený krok přenosu nebo databáze, ke které má server přímý přístup. Tato volba ovlivňuje reprodukovatelnost, protože notebook závislý na cestě z notebooku selže, až ho příště spustí někdo jiný.
Spusťte jádro schváleným kanálem
Wolframův průvodce vzdálenými jádry popisuje přidání položky jádra, výběr vzdáleného stroje a spuštění přes SSH. Cesta ke spustitelnému souboru a argumenty v příkladu patří pracovnímu postupu tohoto produktu; přizpůsobte je hostiteli a verzi, které určí správce, místo abyste je vkládali beze změny.
Identita hostitele je součástí nastavení. Ověřte klíč hostitele SSH prostřednictvím procesu organizace, použijte vydanou metodu autentizace a držte soukromé klíče a hesla mimo soubory notebooku, které se sdílejí nebo ukládají do repozitáře. Notebook se spouštěcím příkazem a heslem je únik pověření, ne pohodlí.
Neotvírejte naslouchající službu WSTP do internetu jako zkratku. Podporovaným vzorem je spuštění přes SSH, které drží kanál jádra uvnitř ověřeného připojení. Pokud síťový tým schválil jiný transport, použijte jej, ale odhalený port vyhodnocovače berte jako změnu návrhu, nikoli jako krok při řešení potíží.
Nejprve zkontrolujte nárok, data a velikost výstupu
Potvrďte s vlastníkem licence, že server smí spustit jádro pro tohoto uživatele a že souběžné relace jsou povoleny. Vzdálené výpočty se často licencují odděleně od stolního čelního rozhraní a neúspěšné spuštění kvůli nároku vypadá podobně jako neúspěšný příkaz SSH, dokud někdo nepřečte zprávu serveru.
Potom odhadněte velikost výsledku. Jádro, které vrací výraz o několika gigabajtech, jej posílá přes spouštěcí a jádrový kanál do čelního rozhraní, což může zablokovat nebo vyčerpat paměť notebooku. Držte těžkou agregaci na serveru a vracejte souhrny, nebo zapisujte velké výsledky do cesty na serveru a přenášejte je záměrně.
Zapište cestu ke spustitelnému souboru, argumenty spuštění a pracovní adresář do poznámek k nastavení notebooku. Další uživatel pak uspořádání zopakuje, místo aby znovu objevoval, kterou z pěti možných cest server používá.
Diagnostikujte fáze v pořadí
Pět fází musí uspět a každá má jiný test. Začněte u notebooku a zastavte se u prvního selhání, místo abyste měnili několik nastavení najednou:
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'Neúspěšná kontrola TCP ukazuje na směrování, DNS nebo povolené cíle VPN. Úspěšná kontrola TCP s neúspěšným přihlášením SSH ukazuje na autentizaci nebo politiku klíče hostitele. Přihlášení, které funguje, ale nenajde spustitelný soubor, ukazuje na instalaci jádra nebo na cestu, kterou dostalo čelní rozhraní. Jádro, které se spustí, ale nikdy se nepřipojí, ukazuje na spouštěcí argumenty nebo místní firewall.
Zachovejte první smysluplnou chybu a pošlete fáze na straně serveru správci, který ten stroj vlastní. Opakované vytváření položky jádra skrývá, která fáze skutečně selhala, a zahazuje důkazy, které správce potřebuje.
Na konci chcete okno, které poznáte, vyhodnocovač, který dokážete pojmenovat, a dohodnutou cestu pro kód a soubory. VPN je jednou součástí této cesty a čím dříve to pracovní postup odrazí, tím méně času padne na opětovné připojování tunelu, který nikdy nebyl problémem.