Vă conectați la VPN, deschideți caietul și vă așteptați ca celula grea să ruleze pe server. În practică, tunelul transportă doar pachete. Nu instalează un evaluator, nu acordă o licență și nu alege ce mașină execută codul. Sunt trei lucruri separate, iar un flux de lucru cu nucleu la distanță are nevoie de toate trei înainte ca primul calcul să fie de încredere.

Mitul: o conexiune VPN este configurarea

VPN-ul oferă o cale de rețea între laptop și server. Acest lucru este util și adesea necesar, deoarece canalul de lansare și conexiunea nucleului trebuie să ajungă la gazda de la distanță. Nu spune nimic despre existența unui nucleu Wolfram pe acea gazdă, despre faptul că licența permite un al doilea proces simultan sau despre configurarea interfeței frontale pentru a-l folosi.

Un laptop administrat poate avea doar interfața frontală, cu dreptul legat de server. Se întâmplă și invers: o licență desktop pe laptop nu autorizează un nucleu pe infrastructură partajată. Niciunul dintre cazuri nu se rezolvă prin reconectarea tunelului.

Testați această presupunere devreme. Evaluați $MachineName într-un caiet nou și comparați răspunsul cu gazda pe care o așteptați. Dacă returnează numele laptopului, celula a rulat local, oricât de sănătos ar părea VPN-ul.

Separați interfața frontală de evaluator

Interfața frontală este fereastra: editează celule, afișează rezultatele și salvează fișierul caietului. Nucleul este procesul care evaluează expresii și păstrează definițiile în memorie. Închiderea interfeței frontale nu mută nucleul, iar salvarea caietului nu salvează starea nucleului.

După conectarea unui nucleu la distanță, locația fișierului caietului și directorul de lucru al nucleului sunt două lucruri diferite. Directory[] raportează directorul evaluatorului, iar aceasta este calea care contează pentru Import, Export și numele relative de fișiere. Un set de date de lângă caietul de pe laptop nu este vizibil pentru un nucleu care rulează pe altă mașină.

Decideți cum vor ajunge datele la server înainte de a scrie analiza: o locație montată partajată, un pas de transfer aprobat sau o bază de date la care serverul poate accesa direct. Alegerea afectează reproductibilitatea, deoarece un caiet care depinde de o cale de pe laptop va eșua data viitoare când îl rulează altcineva.

Lansați nucleul printr-un canal aprobat

Ghidul de nuclee la distanță al Wolfram descrie adăugarea unei intrări de nucleu, selectarea mașinii de la distanță și lansarea prin SSH. Calea executabilului și argumentele din exemplu aparțin fluxului de lucru al acelui produs; adaptați-le la gazda și versiunea pe care le numește administratorul în loc să le lipiți neschimbate.

Identitatea gazdei face parte din configurare. Verificați cheia de gazdă SSH prin procesul organizației, folosiți metoda de autentificare emisă și țineți cheile private și parolele în afara fișierelor caietului care sunt partajate sau confirmate în depozit. Un caiet cu o comandă de lansare și o parolă este o scurgere de acreditări, nu o comoditate.

Nu deschideți un ascultător WSTP către internet ca scurtătură. Modelul acceptat este lansarea prin SSH, care ține canalul nucleului într-o conexiune autentificată. Dacă echipa de rețea a aprobat alt transport, folosiți-l, dar tratați un port de evaluator expus ca o schimbare de proiectare, nu ca un pas de depanare.

Verificați mai întâi dreptul, datele și dimensiunea rezultatului

Confirmați cu deținătorul licenței că serverul poate rula un nucleu pentru acest utilizator și că sesiunile simultane sunt permise. Calculul la distanță este adesea licențiat separat de interfața frontală desktop, iar o lansare eșuată din cauza dreptului arată ca o comandă SSH eșuată până când cineva citește mesajul serverului.

Apoi estimați dimensiunea rezultatului. Un nucleu care returnează o expresie de câțiva gigabaiți o trimite prin canalul de lansare și canalul nucleului către interfața frontală, ceea ce poate bloca sau epuiza memoria laptopului. Păstrați agregarea grea pe server și returnați rezumate, sau scrieți rezultatele mari într-o cale de pe server și transferați-le în mod deliberat.

Notați calea executabilului, argumentele de lansare și directorul de lucru în notele de configurare ale caietului. Următorul utilizator reproduce atunci aranjamentul în loc să redescopere care dintre cele cinci căi posibile este folosită de server.

Diagnosticați etapele în ordine

Cinci etape trebuie să reușească, iar fiecare are un test distinct. Începeți de la laptop și opriți-vă la primul eșec în loc să schimbați mai multe setări deodată:

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

O verificare TCP eșuată indică rutarea, DNS sau destinațiile permise ale VPN-ului. O verificare TCP reușită cu o autentificare SSH eșuată indică autentificarea sau politica cheii de gazdă. O autentificare care funcționează dar nu găsește niciun executabil indică instalarea nucleului sau calea dată interfeței frontale. Un nucleu care pornește dar nu se conectează niciodată indică argumentele de lansare sau paravanul local.

Păstrați prima eroare semnificativă și trimiteți etapele din partea serverului administratorului care deține acea mașină. Recrearea repetată a intrării de nucleu ascunde care etapă a eșuat de fapt și aruncă dovezile de care administratorul are nevoie.

La final doriți o fereastră pe care o recunoașteți, un evaluator pe care îl puteți numi și o rută convenită pentru cod și fișiere. VPN-ul este o componentă a acelei căi, iar cu cât fluxul de lucru reflectă mai repede acest lucru, cu atât mai puțin timp se pierde reconectând un tunel care nu a fost niciodată problema.

Articole similare