Sådan kører du en fjern Wolfram-kerne fra en bærbar computer over VPN
En VPN transporterer kun forbindelsen. Planlæg kerneberettigelsen, SSH-opstart, den fjerne eksekverbare fil og filstierne før den første evaluering.
Du opretter VPN-forbindelsen, åbner notesbogen og forventer, at den tunge celle kører på serveren. I praksis transporterer tunnelen kun pakker. Den installerer ikke en evaluator, giver ikke en licens og vælger ikke, hvilken maskine der udfører koden. Det er tre separate ting, og et arbejdsforløb med en fjern kerne har brug for alle tre, før den første beregning er troværdig.
Myten: en VPN-forbindelse er opsætningen
VPN'en leverer en netværksvej mellem den bærbare computer og serveren. Det er nyttigt og ofte nødvendigt, fordi startkanalen og kerneforbindelsen skal nå den fjern vært. Den siger intet om, hvorvidt der findes en Wolfram-kerne på den vært, om licensen tillader en anden samtidig proces, eller om frontenden er konfigureret til at bruge den.
En administreret bærbar computer kan kun indeholde frontenden, mens berettigelsen er knyttet til serveren. Det modsatte sker også: en skrivebordslicens på den bærbare computer giver ikke ret til en kerne på delt infrastruktur. Ingen af de to tilfælde løses ved at genoprette tunnelens forbindelse.
Test antagelsen tidligt. Evaluer $MachineName i en ny notesbog, og sammenlign svaret med den vært, du forventer. Hvis den returnerer den bærbare computers navn, kørte cellen lokalt, uanset hvor sund VPN'en ser ud.
Adskil frontenden fra evaluatoren
Frontenden er vinduet: den redigerer celler, viser output og gemmer notesbogsfilen. Kernen er den proces, der evaluerer udtryk og holder definitioner i hukommelsen. At lukke frontenden flytter ikke kernen, og at gemme notesbogen gemmer ikke kernens tilstand.
Når en fjern kerne er tilsluttet, er notesbogens filplacering og kernens arbejdsmappe to forskellige ting. Directory[] rapporterer evaluatorens mappe, og det er stien, der betyder noget for Import, Export og relative filnavne. Et datasæt ved siden af notesbogen på den bærbare computer er ikke synligt for en kerne, der kører på en anden maskine.
Beslut, hvordan data når serveren, før du skriver analysen: en delt monteret placering, et godkendt overførelsestrin eller en database, som serveren kan nå direkte. Valget påvirker reproducerbarheden, fordi en notesbog, der afhænger af en sti på den bærbare computer, fejler næste gang, nogen andre kører den.
Start kernen gennem en godkendt kanal
Wolframs vejledning til fjernkerner beskriver tilføjelse af en kernepost, valg af den fjerne maskine og start gennem SSH. Stien til den eksekverbare fil og argumenterne i eksemplet hører til dette produkts arbejdsforløb; tilpas dem til den vært og version, administratoren angiver, i stedet for at indsætte dem uændret.
Værtens identitet er en del af opsætningen. Bekræft SSH-værtsnøglen gennem organisationens proces, brug den udstedte godkendelsesmetode, og hold private nøgler og adgangskoder ude af notesbogsfiler, der deles eller lægges i et repository. En notesbog med en startkommando og en adgangskode er en lækage af legitimationsoplysninger, ikke en bekvemmelighed.
Åbn ikke en WSTP-lytter mod internettet som en genvej. Det understøttede mønster er SSH-start, som holder kernekanalen inde i en godkendt forbindelse. Hvis netværksteamet har godkendt en anden transport, så brug den, men betragt en eksponeret evaluatorport som en designændring, ikke som et fejlfindingsskridt.
Kontroller berettigelse, data og outputstørrelse først
Bekræft med licensindehaveren, at serveren må køre en kerne for denne bruger, og at samtidige sessioner er tilladt. Fjernberegning licenseres ofte separat fra skrivebordsfrontenden, og en mislykket start på grund af berettigelse ligner en mislykket SSH-kommando, indtil nogen læser serverens meddelelse.
Vurder derefter resultatets størrelse. En kerne, der returnerer et udtryk på flere gigabyte, sender det gennem start- og kernekanalen til frontenden, hvilket kan blokere eller udtømme hukommelsen på den bærbare computer. Hold tung aggregering på serveren og returner resuméer, eller skriv store resultater til en sti på serveren og overfør dem bevidst.
Notér stien til den eksekverbare fil, startargumenterne og arbejdsmappen i notesbogens opsætningsnoter. Den næste bruger gengiver så arrangementet i stedet for at genopdage, hvilken af fem mulige stier serveren bruger.
Diagnostiser faserne i rækkefølge
Fem faser skal lykkes, og hver har en særskilt test. Start fra den bærbare computer, og stop ved den første fejl i stedet for at ændre flere indstillinger på én gang:
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'En mislykket TCP-kontrol peger på routing, DNS eller VPN'ens tilladte destinationer. En vellykket TCP-kontrol med et mislykket SSH-login peger på godkendelse eller værtsnøglepolitik. Et login, der virker, men ikke finder nogen eksekverbar fil, peger på kerneinstallationen eller den sti, frontenden fik. En kerne, der starter, men aldrig forbinder, peger på startargumenterne eller den lokale firewall.
Bevar den første meningsfulde fejl, og send server-siden-faserne til administratoren, der ejer den maskine. Gentagen genskabelse af kerneposten skjuler, hvilken fase der faktisk fejlede, og den kasserer de beviser, administratoren har brug for.
Det, du vil have til sidst, er et vindue, du genkender, en evaluator, du kan navngive, og en aftalt rute for kode og filer. VPN'en er én komponent i den vej, og jo hurtigere arbejdsforløbet afspejler det, desto mindre tid går der med at genoprette forbindelsen til en tunnel, der aldrig var problemet.