Povežete se z VPN, odprete prenosni zvezek in pričakujete, da se bo težka celica izvedla na strežniku. V praksi tunel prenaša le pakete. Ne namesti ocenjevalnika, ne dodeli licence in ne izbere, kateri stroj izvaja kodo. To so tri ločene stvari, delovni tok z oddaljenim jedrom pa potrebuje vse tri, preden je prvi izračun zanesljiv.

Mit: povezava VPN je nastavitev

VPN zagotavlja omrežno pot med prenosnikom in strežnikom. To je koristno in pogosto potrebno, ker morata zagonski kanal in povezava z jedrom doseči oddaljenega gostitelja. Ne pove ničesar o tem, ali na tem gostitelju obstaja jedro Wolfram, ali licenca dovoljuje drugi sočasni proces in ali je čelni vmesnik nastavljen za njegovo uporabo.

Upravljani prenosnik ima lahko samo čelni vmesnik, pravica pa je vezana na strežnik. Zgodi se tudi obratno: namizna licenca na prenosniku ne dovoljuje jedra na skupni infrastrukturi. Nobenega od primerov ne reši ponovna povezava tunela.

To predpostavko preizkusite zgodaj. Ocenite $MachineName v novem prenosnem zvezku in odgovor primerjajte z gostiteljem, ki ga pričakujete. Če vrne ime prenosnika, se je celica izvedla lokalno, ne glede na to, kako zdravo je videti VPN.

Ločite čelni vmesnik od ocenjevalnika

Čelni vmesnik je okno: ureja celice, prikazuje izhod in shranjuje datoteko prenosnega zvezka. Jedro je proces, ki vrednoti izraze in hrani definicije v pomnilniku. Zaprtje čelnega vmesnika jedra ne premakne, shranjevanje prenosnega zvezka pa ne shrani stanja jedra.

Ko je oddaljeno jedro povezano, sta lokacija datoteke prenosnega zvezka in delovni imenik jedra dve različni stvari. Directory[] poroča imenik ocenjevalnika in to je pot, ki je pomembna za Import, Export in relativna imena datotek. Nabor podatkov ob prenosnem zvezku na prenosniku ni viden jedru, ki teče na drugem stroju.

Odločite se, kako bodo podatki dosegli strežnik, preden napišete analizo: skupna pripeta lokacija, odobren korak prenosa ali zbirka podatkov, do katere ima strežnik neposreden dostop. Ta izbira vpliva na ponovljivost, ker bo prenosni zvezek, ki je odvisen od poti na prenosniku, ob naslednjem zagonu pri nekom drugem spodletel.

Zaženite jedro po odobrenem kanalu

Wolframov vodnik za oddaljena jedra opisuje dodajanje vnosa jedra, izbiro oddaljenega stroja in zagon prek SSH. Pot do izvršljive datoteke in argumenti v primeru pripadajo delovnemu toku tega izdelka; prilagodite jih gostitelju in različici, ki ju navede skrbnik, namesto da jih prilepite nespremenjene.

Identiteta gostitelja je del nastavitve. Preverite ključ gostitelja SSH po postopku organizacije, uporabite izdano metodo preverjanja pristnosti in hranite zasebne ključe ter gesla zunaj datotek prenosnega zvezka, ki se delijo ali shranjujejo v repozitorij. Prenosni zvezek z zagonskim ukazom in geslom je uhajanje poverilnic, ne udobje.

Ne odpirajte poslušalca WSTP v internet kot bližnjico. Podprti vzorec je zagon prek SSH, ki drži kanal jedra znotraj preverjene povezave. Če je omrežna ekipa odobrila drug transport, uporabite tega, vendar izpostavljena vrata ocenjevalnika obravnavajte kot spremembo zasnove, ne kot korak za odpravljanje težav.

Najprej preverite pravico, podatke in velikost izhoda

Potrdite z imetnikom licence, da strežnik sme izvajati jedro za tega uporabnika in da so sočasne seje dovoljene. Oddaljeno računanje se pogosto licencira ločeno od namiznega čelnega vmesnika in neuspešen zagon zaradi pravice je videti kot neuspešen ukaz SSH, dokler nekdo ne prebere sporočila strežnika.

Nato ocenite velikost rezultata. Jedro, ki vrne izraz velikosti nekaj gigabajtov, ga pošlje po zagonskem in jedrnem kanalu v čelni vmesnik, kar lahko blokira ali izčrpa pomnilnik prenosnika. Težko združevanje ohranite na strežniku in vračajte povzetke, ali zapišite velike rezultate v pot na strežniku in jih prenesite namerno.

Zapišite pot do izvršljive datoteke, zagonske argumente in delovni imenik v zapiske o nastavitvi prenosnega zvezka. Naslednji uporabnik bo nato razporeditev ponovil, namesto da bi znova odkrival, katero od petih možnih poti uporablja strežnik.

Diagnosticirajte faze po vrstnem redu

Pet faz mora uspeti in vsaka ima svoj preizkus. Začnite pri prenosniku in se ustavite pri prvi napaki, namesto da bi spreminjali več nastavitev hkrati:

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

Neuspešno preverjanje TCP kaže na usmerjanje, DNS ali dovoljene cilje VPN. Uspešno preverjanje TCP z neuspešno prijavo SSH kaže na preverjanje pristnosti ali politiko ključa gostitelja. Prijava, ki deluje, a ne najde izvršljive datoteke, kaže na namestitev jedra ali pot, ki jo je prejel čelni vmesnik. Jedro, ki se zažene, a se nikoli ne poveže, kaže na zagonske argumente ali lokalni požarni zid.

Ohranite prvo smiselno napako in pošljite faze na strani strežnika skrbniku, ki je lastnik tega stroja. Ponovno ustvarjanje vnosa jedra skrije, katera faza je v resnici spodletela, in zavrže dokaze, ki jih skrbnik potrebuje.

Na koncu želite okno, ki ga prepoznate, ocenjevalnik, ki ga lahko poimenujete, in dogovorjeno pot za kodo in datoteke. VPN je ena sestavina te poti in hitreje ko delovni tok to odraža, manj časa se porabi za ponovno povezovanje tunela, ki nikoli ni bil težava.

Sorodni članki