Jak uruchomić zdalne jądro Wolfram z laptopa przez VPN
VPN przenosi tylko połączenie. Zaplanuj uprawnienie jądra, uruchomienie SSH, zdalny plik wykonywalny i ścieżki plików przed pierwszą oceną.
Łączysz się z VPN, otwierasz notes i oczekujesz, że ciężka komórka zostanie uruchomiona na serwerze. W praktyce tunel przenosi tylko pakiety. Nie instaluje ewaluatora, nie przyznaje licencji i nie wybiera, która maszyna wykonuje kod. To trzy odrębne rzeczy, a przepływ pracy ze zdalnym jądrem potrzebuje wszystkich trzech, zanim pierwsze obliczenie będzie wiarygodne.
Mit: połączenie VPN to konfiguracja
VPN zapewnia ścieżkę sieciową między laptopem a serwerem. To przydatne i często konieczne, ponieważ kanał uruchamiania i połączenie jądra muszą dotrzeć do zdalnego hosta. Nie mówi nic o tym, czy na tym hoście istnieje jądro Wolfram, czy licencja pozwala na drugi równoległy proces ani czy interfejs przedni jest skonfigurowany do jego używania.
Zarządzany laptop może mieć tylko interfejs przedni, a uprawnienie jest powiązane z serwerem. Bywa też odwrotnie: licencja desktopowa na laptopie nie upoważnia do jądra na współdzielonej infrastrukturze. Żadnego z tych przypadków nie rozwiązuje ponowne połączenie tunelu.
Sprawdź to założenie wcześnie. Oceń $MachineName w nowym notesie i porównaj odpowiedź z hostem, którego oczekujesz. Jeśli zwraca nazwę laptopa, komórka działała lokalnie, niezależnie od tego, jak zdrowy wygląda VPN.
Oddziel interfejs przedni od ewaluatora
Interfejs przedni to okno: edytuje komórki, wyświetla dane wyjściowe i zapisuje plik notesu. Jądro to proces, który ocenia wyrażenia i przechowuje definicje w pamięci. Zamknięcie interfejsu przedniego nie przenosi jądra, a zapisanie notesu nie zapisuje stanu jądra.
Po podłączeniu zdalnego jądra położenie pliku notesu i katalog roboczy jądra to dwie różne rzeczy. Directory[] zgłasza katalog ewaluatora i to jest ścieżka, która ma znaczenie dla Import, Export i względnych nazw plików. Zbiór danych obok notesu na laptopie nie jest widoczny dla jądra działającego na innej maszynie.
Zdecyduj, jak dane dotrą do serwera, zanim napiszesz analizę: wspólna zamontowana lokalizacja, zatwierdzony krok transferu lub baza danych dostępna dla serwera bezpośrednio. Ten wybór wpływa na powtarzalność, ponieważ notes zależny od ścieżki na laptopie zawiedzie następnym razem, gdy uruchomi go ktoś inny.
Uruchom jądro zatwierdzonym kanałem
Przewodnik po zdalnych jądrach Wolfram opisuje dodawanie wpisu jądra, wybór zdalnej maszyny i uruchamianie przez SSH. Ścieżka pliku wykonywalnego i argumenty w przykładzie należą do przepływu pracy tego produktu; dostosuj je do hosta i wersji wskazanych przez administratora, zamiast wklejać je bez zmian.
Tożsamość hosta jest częścią konfiguracji. Zweryfikuj klucz hosta SSH zgodnie z procesem organizacji, użyj wydanej metody uwierzytelniania i trzymaj klucze prywatne oraz hasła poza plikami notesu, które są udostępniane lub trafiają do repozytorium. Notes z poleceniem uruchomienia i hasłem to wyciek poświadczeń, a nie udogodnienie.
Nie otwieraj nasłuchu WSTP do internetu jako skrótu. Obsługiwany wzorzec to uruchomienie przez SSH, które utrzymuje kanał jądra w uwierzytelnionym połączeniu. Jeśli zespół sieciowy zatwierdził inny transport, użyj go, ale odsłonięty port ewaluatora traktuj jako zmianę projektu, a nie krok rozwiązywania problemów.
Najpierw sprawdź uprawnienie, dane i rozmiar danych wyjściowych
Potwierdź z właścicielem licencji, że serwer może uruchomić jądro dla tego użytkownika i że sesje równoległe są dozwolone. Zdalne obliczenia są często licencjonowane osobno od interfejsu przedniego pulpitu, a nieudane uruchomienie z powodu uprawnień wygląda jak nieudane polecenie SSH, dopóki ktoś nie przeczyta komunikatu serwera.
Następnie oszacuj rozmiar wyniku. Jądro zwracające wyrażenie o rozmiarze kilku gigabajtów wysyła je kanałem uruchamiania i kanałem jądra do interfejsu przedniego, co może zablokować lub wyczerpać pamięć laptopa. Trzymaj ciężką agregację na serwerze i zwracaj podsumowania albo zapisuj duże wyniki do ścieżki na serwerze i przenoś je świadomie.
Zapisz ścieżkę pliku wykonywalnego, argumenty uruchomienia i katalog roboczy w notatkach konfiguracyjnych notesu. Następny użytkownik odtworzy wtedy ten układ, zamiast ponownie odkrywać, której z pięciu możliwych ścieżek używa serwer.
Diagnozuj etapy po kolei
Pięć etapów musi się powieść, a każdy ma odrębny test. Zacznij od laptopa i zatrzymaj się na pierwszej awarii, zamiast zmieniać kilka ustawień naraz:
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'Nieudane sprawdzenie TCP wskazuje na routing, DNS lub dozwolone miejsca docelowe VPN. Udane sprawdzenie TCP z nieudanym logowaniem SSH wskazuje na uwierzytelnianie lub politykę klucza hosta. Logowanie, które działa, ale nie znajduje pliku wykonywalnego, wskazuje na instalację jądra lub ścieżkę przekazaną interfejsowi przedniemu. Jądro, które startuje, ale nigdy się nie łączy, wskazuje na argumenty uruchomienia lub lokalną zaporę.
Zachowaj pierwszy istotny błąd i wyślij etapy po stronie serwera do administratora, który zarządza tą maszyną. Wielokrotne odtwarzanie wpisu jądra ukrywa, który etap naprawdę zawiódł, i wyrzuca dowody potrzebne administratorowi.
Na koniec chcesz mieć okno, które rozpoznajesz, ewaluator, który możesz nazwać, oraz uzgodnioną trasę dla kodu i plików. VPN jest jednym składnikiem tej drogi, a im wcześniej przepływ pracy to odzwierciedla, tym mniej czasu idzie na ponowne łączenie tunelu, który nigdy nie był problemem.