Як запускаць аддаленае ядро Wolfram з ноўтбука праз VPN
VPN толькі пераносіць злучэнне. Сплануйце правы на ядро, запуск праз SSH, аддалены выканальны файл і шляхі да файлаў да першай праверкі.
Вы падключаеце VPN, адкрываеце нататнік і чакаеце, што цяжкая ячэйка выканаецца на серверы. На практыцы тунель пераносіць толькі пакеты. Ён не ўсталёўвае вылічальнік, не выдае ліцэнзію і не выбірае, на якой машыне выконваецца код. Гэта тры асобныя рэчы, і працоўнаму працэсу з аддаленым ядром патрэбны ўсе тры, перш чым першы разлік будзе надзейным.
Міф: падключэнне да VPN і ёсць налада
VPN забяспечвае сеткавы шлях паміж ноўтбукам і серверам. Гэта карысна і часта неабходна, бо канал запуску і злучэнне з ядром павінны дасягаць аддаленага хоста. Ён нічога не кажа пра тое, ці існуе ядро Wolfram на гэтым хосце, ці дазваляе ліцэнзія другі адначасовы працэс і ці наладжаны інтэрфейс на яго выкарыстанне.
Кіраваны ноўтбук можа мець толькі інтэрфейс, а правы прывязаныя да сервера. Бывае і наадварот: ліцэнзія для настольнага камп'ютара на ноўтбуку не дазваляе ядро на агульнай інфраструктуры. Ні адзін з выпадкаў не выпраўляецца паўторным падключэннем тунеля.
Праверце гэтае дапушчэнне загадзя. Вылічыце $MachineName у новым нататніку і параўнайце адказ з хостам, якога чакаеце. Калі ён вяртае імя ноўтбука, ячэйка выканалася лакальна, як бы добра ні выглядаў VPN.
Аддзяліце інтэрфейс ад вылічальніка
Інтэрфейс — гэта акно: ён рэдагуе ячэйкі, паказвае вынікі і захоўвае файл нататніка. Ядро — гэта працэс, які вылічвае выразы і трымае вызначэнні ў памяці. Закрыццё інтэрфейсу не пераносіць ядро, а захаванне нататніка не захоўвае стан ядра.
Пасля падключэння аддаленага ядра месцазнаходжанне файла нататніка і працоўны каталог ядра — розныя рэчы. Directory[] паказвае каталог вылічальніка, і гэта шлях, які важны для Import, Export і адносных імёнаў файлаў. Набор даных, які ляжыць побач з нататнікам на ноўтбуку, не бачны ядру, што працуе на іншай машыне.
Вырашыце, як даныя дабяруцца да сервера, перш чым пісаць аналіз: агульнае сманціраванае месца, зацверджаны крок перадачы або база даных, да якой сервер мае прамы доступ. Гэты выбар уплывае на ўзнаўляльнасць, бо нататнік, які залежыць ад шляху на ноўтбуку, не спрацуе наступны раз, калі яго запусціць хтосьці іншы.
Запусціце ядро праз зацверджаны канал
Кіраўніцтва па аддаленых ядрах Wolfram апісвае даданне запісу ядра, выбар аддаленай машыны і запуск праз SSH. Шлях да выканальнага файла і аргументы ў прыкладзе належаць працоўнаму працэсу гэтага прадукту; адаптуйце іх да хоста і версіі, якія называе адміністратар, замест таго каб устаўляць іх без змен.
Ідэнтычнасць хоста — частка налады. Праверце ключ хоста SSH праз працэс арганізацыі, выкарыстоўвайце выдадзены метад аўтэнтыфікацыі і трымайце прыватныя ключы і паролі па-за файламі нататніка, якія дзеляцца або трапляюць у рэпазітый. Нататнік з камандай запуску і паролем — гэта ўцечка ўліковых даных, а не зручнасць.
Не адкрывайце слухач WSTP у інтэрнэт як хуткі абыход. Падтрымліваны шаблон — запуск праз SSH, які трымае канал ядра ўнутры аўтэнтыфікаванага злучэння. Калі сеткавая каманда зацвердзіла іншы транспарт, выкарыстоўвайце яго, але лічыце адкрыты порт вылічальніка змяненнем праекта, а не крокам пошуку няспраўнасцей.
Спачатку праверце правы, даныя і аб'ём вынікаў
Пацвердзіце ва ўладальніка ліцэнзіі, што сервер можа запускаць ядро для гэтага карыстальніка і што адначасовыя сеансы дазволеныя. Аддаленыя вылічэнні часта ліцэнзуюцца асобна ад настольнага інтэрфейсу, і няўдалы запуск праз правы выглядае падобна да няўдалай каманды SSH, пакуль хтосьці не прачытае паведамленне сервера.
Потым ацаніце памер выніку. Ядро, якое вяртае выраз на некалькі гігабайт, перасылае яго праз канал запуску і канал ядра да інтэрфейсу, што можа прыпыніць або вычарпаць памяць на ноўтбуку. Трымайце цяжкае агрэгаванне на серверы і вяртайце зводкі або запісвайце вялікія вынікі ў шлях на серверы і перадавайце іх свядома.
Запішыце шлях да выканальнага файла, аргументы запуску і працоўны каталог у нататкі аб наладзе нататніка. Тады наступны карыстальнік узнавіць гэтую схему, а не будзе зноў выяўляць, які з пяці магчымых шляхоў выкарыстоўвае сервер.
Дыягнастуйце этапы па парадку
Пяць этапаў павінны прайсці, і кожны мае асобны тэст. Пачніце з ноўтбука і спыніцеся на першай няўдачы замест таго каб змяняць некалькі налад адразу:
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'Няўдалая праверка TCP паказвае на маршрутызацыю, DNS або дазволеныя прызначэнні VPN. Паспяховая праверка TCP з няўдалым уваходам SSH паказвае на аўтэнтыфікацыю або палітыку ключа хоста. Уваход, які працуе, але не знаходзіць выканальнага файла, паказвае на ўстаноўку ядра або на шлях, які атрымаў інтэрфейс. Ядро, якое запускаецца, але ніколі не злучаецца, паказвае на аргументы запуску або лакальны міжсеткавы экран.
Захавайце першую значную памылку і перадайце этапы на баку сервера адміністратару, які валодае гэтай машынай. Паўторнае стварэнне запісу ядра хавае, які этап сапраўды не прайшоў, і страчвае доказы, патрэбныя адміністратару.
У рэшце рэшт вам патрэбна акно, якое вы пазнаеце, вылічальнік, які вы можаце назваць, і ўзгоднены маршрут для кода і файлаў. VPN — адзін кампанент гэтага шляху, і чым хутчэй працоўны працэс гэта адлюструе, тым менш часу пойдзе на паўторнае падключэнне тунеля, які ніколі не быў праблемай.