Как да стартирате отдалечено ядро на 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 е един компонент от този път и колкото по-скоро работният процес го отразява, толкова по-малко време отива за повторно свързване на тунел, който никога не е бил проблемът.