Acceso al clúster



Ordenador de origen

Como norma de seguridad, el firewall del sistema ha sido configurado para permitir únicamente conexiones con el protocolo SSH desde ordenadores de la red uniovi.es, lo que implica que sólo aquellos ordenadores que estén dados de alta en el servidor de nombres (DNS) de la Universidad pueden conectarse directamente al cluster.

En el caso de que el usuario trabaje desde un ordenador externo a la red de la Universidad, deberá conectarse primero a un ordenador que se encuentre en la red universitaria y, desde él, conectarse a los ordenadores de la Unidad; alternativamente, se puede utilizar el método descrito a continuación.

Enlace de un ordenador externo a la red de la Universidad de Oviedo

La red de la Universidad permite enlazar virtualmente un ordenador externo a través del servicio de "acceso remoto". Para ello, el usuario debe conectarse a la página "Acceso directo" .

Una vez que el usuario se identifica con su nombre de usuario y password, se presentan una serie de opciones entre las que está:

Activando el Network Connect, el ordenador pasará a formar parte de la red de la Universidad y podrá acceder a los ordenadores de la Unidad sin ningún problema, ya sea mediante una conexión en modo texto o en modo gráfico. La sesión de acceso remoto permanece operativa mientras se registre actividad. Pasado un tiempo sin actividad, el enlace a la red de la Universidad de Oviedo se pierde y debe reiniciarse el servicio si se desea continuar en sesión.


Servidores de acceso a los recursos del Clúster de Modelización Científica

El usuario puede acceder a los tres nodos de control de la Unidad mientras que el acceso a los nodos de cálculo se realiza automáticamente a través del sistema de colas.

Se recomienda acceder los recursos del clúster a través del nodo principal de control (cmi.uniovi.es), aunque los otros nodos (CMQ y CMD) se encuentran igualmente disponibles. Los nombres e IPs de acceso a estos nodos se resumen en la siguiente tabla:

Nombre externo cmi.uniovi.es cmq.uniovi.es cmd.uniovi.es
IP externa 156.35.45.94 156.35.45.87 156.35.45.88
Nombre interno jaula04 jaula01 jaula02

Conexión en modo texto

El acceso a los ordenadores de la Unidad en modo texto sólo está permitido mediante conexiones seguras que usen el protocolo SSH.

Acceso desde un sistema MacOS o Linux/Unix

La mayoría de las distribuciones de Unix/Linux tienen, si no ya instalado, la posibilidad de instalar el paquete OpenSSH para realizar este tipo de conexiones.

El acceso a la cuenta de un usuario debe realizarse con el comando ssh:

ssh –X usuario@cmi.uniovi.es

donde usuario es efectivamente el nombre del usuario en el Clúster de Modelización y la opción -X activa la exportación del display gráfico X-windows (veáse más adelante).

La transferencia de ficheros entre el nodo de control y otra máquina externa al cluster debe realizarse mediante los comandos sftp o scp. Por ejemplo, al ejecutar la siguiente instrucción en los ordenadores del Clúster:

usuario@jaula04:> scp –r /home/usuario/DATA usuario@externo.uniovi.es:TEMP/

copia la carpeta DATA situada en directorio raíz del usuario en el Clúster a la carpeta TEMP situada en la máquina externo.uniovi.es.

Acceso desde un sistema Windows

Para conectar desde un ordenador con un sistema operativo tipo Windows (XP, Vista, 7, etc.) es necesario emplear un programa cliente para acceso a sistemas remotos con el protocolo SSH. Se trata de programas como PuTTY (libre) o SSH Secure Shell (comercial).

De este último, el clúster posee una versión antigua, no comercial, que se puede descargar aquí. Este cliente SSH también incluye una versión segura de transferencia de ficheros accesible desde la opción Windows->New File Transfer. Se abre entonces una ventana que permite mover ficheros entre el servidor remoto y la máquina local, crear carpetas, etc.

Alternativamente, se puede emplear el programa WinSCP como un complemento de PuTTY para la transferencia de ficheros. El programa WinSCP puede descargarse desde http://winscp.net/.


Conexión en modo gráfico

Aunque el uso normal del clúster puede realizarse en modo de texto (edición y visualización de ficheros, transferencia de los mismos, envío de trabajos a las colas,...), el usuario también acceder gráficamente, ya sea para emplear aplicaciones gráficas o por simple preferencia. Para ello, es posible emplear dos modos de acceso gráfico distintos. El primero, basado en la expotación del display gráfico X-windows a través de SSH, presupone una conexión en modo texto. El segundo, basado en el protocolo VNC (Virtual Network Console), realiza una conexión directa al escritorio gráfico de las máquinas de acceso del Clúster aunque es necesaria al menos una primera conexión en modo texto para arrancar y configurar el servicio que gestiona el escritorio virtual del usuario. A continuación, se dan los detalles para emplear una u otra opción.

X-Windows

La comunicación gráfica a través de un servidor de X Window es muy común en los sistemas Unix/Linux Si la conexión al clúster se realiza desde una máquina con sistema Linux, el servidor de X Window ya se encuentra instalado y se ejecuta siempre que la terminal del ordenador remoto esté en modo gráfico. Pero en los sistemas con MS Windows, se requiere la instalación adicional de un programa servidor de las X-windows. Algunas de las opciones para instalar en MS-windows un programa servidor de X-windows son:

Con el servidor X-windows ejecutándose en el ordenador en el que se va a hacer la visualización, el usuario se conecta en modo texto con el ordenador del Clúster:

ssh –X usuario@cmi.uniovi.es

La opción –X del comando ssh permitirá visualizar en la terminal local el display de los programas gráficos ejecutados en los nodos del clúster. La comunicación, al contrario que con el protocolo VNC, será encriptada y segura, pero con un coste de velocidad de comunicación.

Una vez que se ha conectado al ordenador de la Unidad, sólo se debe iniciar la aplicación como se haría desde el display local y la ventana se mostrará en el ordenador donde está corriendo el servidor.

Imagen de una conexión desde un ordenador Linux a CMI utilizando el servidor de X Window; la ventana superior se corresponde con el Acrobat Reader que se está ejecutando en CMI. La ventana que se encuentra justo detrás, se corresponde con otra aplicación que se ejecuta en otro ordenador, también distinto del que las está mostrando.

Como se puede ver en el ejemplo anterior, en este caso no se muestra el escritorio completo del ordenador remoto, si no sólo las ventanas de las aplicaciones.

VNC

VNC es un protocolo para compartir el escritorio de un ordenador que interconecta ordenadores y sistemas operativos diferentes. Aunque el protocolo no es muy seguro (a pesar de la encriptación), puede ser utilizado a través de SSH o de una red virtual, aumentando su seguridad. Los ordenadores del clúster tienen instalado del servidor de VNC denominado TigerVNC), que se encuentra disponible tanto para sistemas operativos de tipo Unix como MS Windows; en cualquiera de las dos versiones, el software se compone de un programa cliente y un programa servidor; sólo el primero de estos es requerido para conectar a los ordenadores de la Unidad, por lo que usuario puede omitir la instalación del segundo (alternativamente, se puede utilizar también TightVNC.

Los pasos para configurar, arrancar o detener el servidor VNC son:

  1. El usuario se conecta a uno de los ordenadores de entrada de la Unidad via SSH en modo texto.
  2. Una vez conectado, el usuario puede ejecutar el servidor VNC para habilitar la conexión gráfica a su escritorio en el ordenador del Clúster; para ello, antes de la primera conexión, debe crear su passwordpara el servidor VNC con el siguiente comando:

    [agr@jaula02 ~]$ vncpasswd

    La password introducida debería ser distinta de la de acceso al clúster ya que la comunicación no es tan segura como por SSH. En el caso de que se desee, se puede cambiar ejecutando de nuevo el programa.

  3. Se debe iniciar el servidor de VNC llamando a un script preparado por la Unidad desde la línea de comandos:

    [agr@jaula02 ~]$ tvncserver -geometry 1400x900
    P= 
    
    New 'jaula02.sct.uo:5900 (agr)' desktop is jaula02.sct.uo:5900
    
    Starting applications specified in /home/agr/.vnc/xstartup
    Log file is /home/agr/.vnc/jaula02.sct.uo:5900.log
    
    WARNING!!
    Server started.
    Connect to:
            cmi.uniovi.es:5900
    DO NOT FORGET to stop/kill the server with
            tvncserver -k
    when finished.
    

    El script se encarga de asignar un puerto de comunicaciones y display únicos para cada usuario e indica la dirección de acceso al mismo desde el exterior (en este caso cmi.uniovi.es:5900). El script también pasa los argumentos que se deseen al servidor VNC; en el ejemplo se espcifica que el escritorio gráfico tendrá una resolución de 1400×900 pixels. Una vez arrancado, el servidor VNC se mantiene operativo aunque el usuario salga de la sesión en modo texto que lo inició.

  4. En el mensaje de arranque del servidor VNC se informa al usuario del comando necesario para su detención cuando no se requiera la conexión gráfica:

    tvncserver -k

    En ocasiones, si se interrumpe la comunicación o si se ha dejado el servidor >VNC ejecutándose demasiado tiempo, es posible que el usuario deba localizar el proceso del servidor que ha quedado colgado para detenerlo manualmente con el comando kill

    ps aux | grep vnc
    agr      18294  0.1  0.3  35200 12720 pts/0    S    17:20   0:00 /opt/tigervnc/1.1.0/bin/Xvnc :5900 -desktop jaula01.sct.uo:5900 (agr) -httpd /usr/share/vnc/classes -auth /home/agr/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /home/agr/.vnc/passwd -rfbport 11800 -fp /usr/share/X11/fonts/misc,/usr/share/X11/fonts/75dpi,/usr/share/X11/fonts/100dpi,/usr/share/X11/fonts/Type1,/usr/share/fonts/default/Type1 -pn -rfbport 5900
    agr      18306  0.0  0.0  33556  1396 pts/0    S    17:20   0:00 vncconfig -iconic
    agr      18492  0.0  0.0  61216   780 pts/0    S+   17:22   0:00 grep vnc
    kill -9 18294

    También puede ser necesario borrar los ficheros y directorios correspondientes al servidor que todavía se encuentren en el directorio /tmp (obsérvese que en el nombre de los ficheros siempre se encuentra el número del puerto carácterístico del usuario):

    ls -la /tmp | grep agr
    r--r--r--  1 agr  cluster      11 Jan 18 17:20 .X5900-lock
    ls -la /tmp/.X11-unix/
    srwxrwxrwx  1 agr  cluster    0 Jan 18 17:20 X5900
    rm -rf /tmp/.X11-unix/X5900 

En el ordenador donde se pretende realizar la visualización, debe estar instalado un cliente de VNC que, en el caso de Tiger VNC se ejecuta con en los sistemas Unix

vncviewer
VNCviewer <>Ventana del cliente vncviewer de TigerVNC en la que se solicitan los datos de conexión.

o con el icono correspondiente en los sistemas MS Windows. En ese momento se le debe suministrar al cliente la dirección en la que está el servidor, que es la indicada por el mismo al iniciarse; en este ejemplo:

cmi.uniovi.es:5900

Y, posteriormente se suministra la password que se haya escogido en al arrancar el servidor.

Es bastante probable que el usuario desee arrancar un Windows Manager para poder operar de igual manera que en una sesión local, para lo que se puede utilizar un fichero ~/.vnc/xstartup de inicio similar este:

#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
gnome-session &

donde gnome-session es el Windows Manager deseado.

Imagen de una conexión desde un ordenador Linux a CMQ utilizando el cliente de TigerVNC en el que se ve el escritorio inicial de GNOME en CMQ.

Trabajo interactivo en modo gráfico(VNC, X Window y sistema de colas)

Es posible utilizar el sistema de colas en modo interactivo con una aplicación gráfica. Los pasos a seguir son los siguentes (los pasos 1 y 2 sólo son necesarios si previamente no se ha activado el modo de conexión gráfica vía VNC:

  1. Conexión con uno de los ordenadores del clúster mediante ssh:

    ssh usuario@cmi.uniovi.es
  2. Se activa la comunicación mediante el servidor VNC:

    tvncserver

    y se conecta al mismo desde el ordenador local a través de VNC.

  3. Como el display se va a mostrar en el nodo de control, se debe indicar en éste que admita las ventanas creadas por el nodo de cálculo; esto se consige con la instrucción:

    xhost+

    en el nodo de control.

  4. Se inicia un trabajo interactivo en una cola, por ejemplo:

    cola8 -I
  5. Una vez que el trabajo en la cola se inicia, en el nodo de cálculo se debe establecer la variable DISPLAY para indicarle a la aplicación dónde debe mostrar las ventanas gráficas; puesto que en este caso la comunicación va a ser interna (del nodo de cálculo al nodo de control en el que el servidor VNC se ejecuta), la dirección del nodo debe ser la interna.

    Aparte del nodo donde se está ejecutando el servidor VNC, se debe también indicar el display (no confundir con la variable de entorno DISPLAY) en el que se debe mostrar la aplicación; cuando una aplicación se ejecuta en el servidor de X window local, este valor suele ser 0 pero en este caso , se debe suministrar el correspondiente al servidor VNC, que se corresponde con el valor obtenido cuando se ejecuta en el paso 2, por ejemplo 5900. Para una shell bash, se define la variable DISPLAY del siguiente modo:

    export DISPLAY=jaula04:5900.0
  6. Se ejecuta la aplicación:

    module add matlab
    matlab

    La ventana de la aplicación deberá aparecer en la ventana del cliente VNC en el ordenador local.

    VNC & X

    Ventana del cliente vncviewer de TigerVNC en la que se muestra una ventana de MATLAB que se está ejecutando en una cola. Nótese en la ventana que se encuentra detrás cómo se ha realizado el proceso descrito y MATLAB se encuentra siendo ejecutado en un nodo de cálculo.

Última actualización: 18 enero 2012