Як запустити віддалене ядро 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 — один із компонентів цього шляху, і що раніше робочий процес це відображає, то менше часу йде на повторне підключення тунелю, який ніколи не був проблемою.