Cómo ejecutar un núcleo remoto de Wolfram desde un portátil por VPN
Una VPN solo transporta la conexión. Planifique el derecho del núcleo, el arranque por SSH, el ejecutable remoto y las rutas de archivos antes de la primera evaluación.
Conecta la VPN, abre el cuaderno y espera que la celda pesada se ejecute en el servidor. En la práctica, el túnel solo transporta paquetes. No instala un evaluador, no concede una licencia ni elige qué máquina ejecuta el código. Son tres cosas separadas, y un flujo de trabajo con núcleo remoto necesita las tres antes de que el primer cálculo sea fiable.
El mito: una conexión VPN es la configuración
La VPN proporciona una ruta de red entre el portátil y el servidor. Eso es útil y a menudo necesario, porque el canal de arranque y la conexión del núcleo tienen que llegar al host remoto. No dice nada sobre si existe un núcleo de Wolfram en ese host, si la licencia permite un segundo proceso concurrente o si la interfaz frontal está configurada para usarlo.
Un portátil gestionado puede llevar solo la interfaz frontal, con el derecho vinculado al servidor. También ocurre lo contrario: una licencia de escritorio en el portátil no autoriza un núcleo en infraestructura compartida. Ninguno de los dos casos se resuelve reconectando el túnel.
Compruebe la suposición pronto. Evalúe $MachineName en un cuaderno nuevo y compare la respuesta con el host que espera. Si devuelve el nombre del portátil, la celda se ejecutó localmente, por sana que parezca la VPN.
Separe la interfaz frontal del evaluador
La interfaz frontal es la ventana: edita celdas, muestra la salida y guarda el archivo del cuaderno. El núcleo es el proceso que evalúa expresiones y mantiene las definiciones en memoria. Cerrar la interfaz frontal no mueve el núcleo, y guardar el cuaderno no guarda el estado del núcleo.
Una vez conectado un núcleo remoto, la ubicación del archivo del cuaderno y el directorio de trabajo del núcleo son cosas distintas. Directory[] informa del directorio del evaluador, y esa es la ruta que importa para Import, Export y los nombres de archivo relativos. Un conjunto de datos junto al cuaderno en el portátil no es visible para un núcleo que se ejecuta en otra máquina.
Decida cómo llegarán los datos al servidor antes de escribir el análisis: una ubicación montada compartida, un paso de transferencia aprobado o una base de datos a la que el servidor pueda acceder directamente. La elección afecta la reproducibilidad, porque un cuaderno que depende de una ruta del portátil fallará la próxima vez que lo ejecute otra persona.
Inicie el núcleo por un canal aprobado
La guía de núcleos remotos de Wolfram describe cómo añadir una entrada de núcleo, seleccionar la máquina remota e iniciar por SSH. La ruta del ejecutable y los argumentos del ejemplo pertenecen al flujo de trabajo de ese producto; adáptelos al host y la versión que indique el administrador en lugar de pegarlos sin cambios.
La identidad del host forma parte de la configuración. Verifique la clave de host SSH mediante el proceso de la organización, use el método de autenticación emitido y mantenga las claves privadas y las contraseñas fuera de los archivos del cuaderno que se comparten o se confirman en el repositorio. Un cuaderno con un comando de arranque y una contraseña es una fuga de credenciales, no una comodidad.
No abra un oyente WSTP a internet como atajo. El patrón admitido es el arranque por SSH, que mantiene el canal del núcleo dentro de una conexión autenticada. Si el equipo de red ha aprobado otro transporte, úselo, pero trate un puerto de evaluador expuesto como un cambio de diseño, no como un paso de resolución de problemas.
Compruebe primero el derecho, los datos y el tamaño de la salida
Confirme con el propietario de la licencia que el servidor puede ejecutar un núcleo para este usuario y que se permiten sesiones concurrentes. El cálculo remoto a menudo se licencia por separado de la interfaz frontal de escritorio, y un arranque fallido por derechos parece un comando SSH fallido hasta que alguien lee el mensaje del servidor.
Luego estime el tamaño del resultado. Un núcleo que devuelve una expresión de varios gigabytes la envía por el canal de arranque y el canal del núcleo hasta la interfaz frontal, lo que puede bloquear o agotar la memoria del portátil. Mantenga la agregación pesada en el servidor y devuelva resúmenes, o escriba los resultados grandes en una ruta del servidor y transfiéralos deliberadamente.
Anote la ruta del ejecutable, los argumentos de arranque y el directorio de trabajo en las notas de configuración del cuaderno. Así el siguiente usuario reproduce la disposición en lugar de descubrir de nuevo cuál de las cinco rutas posibles usa el servidor.
Diagnostique las etapas en orden
Cinco etapas deben tener éxito, y cada una tiene una prueba distinta. Empiece por el portátil y deténgase en el primer fallo en lugar de cambiar varios ajustes a la vez:
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'Una comprobación TCP fallida apunta al enrutamiento, al DNS o a los destinos permitidos de la VPN. Una comprobación TCP correcta con un inicio de sesión SSH fallido apunta a la autenticación o a la política de claves del host. Un inicio de sesión que funciona pero no encuentra ningún ejecutable apunta a la instalación del núcleo o a la ruta que recibió la interfaz frontal. Un núcleo que arranca pero nunca se conecta apunta a los argumentos de arranque o al cortafuegos local.
Conserve el primer error significativo y envíe las etapas del lado del servidor al administrador que posee esa máquina. Recrear la entrada del núcleo una y otra vez oculta qué etapa falló realmente y descarta las pruebas que el administrador necesita.
Al final quiere una ventana que reconozca, un evaluador que pueda nombrar y una ruta acordada para el código y los archivos. La VPN es un componente de esa ruta, y cuanto antes lo refleje el flujo de trabajo, menos tiempo se irá en reconectar un túnel que nunca fue el problema.