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.
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.
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 |
El acceso a los ordenadores de la Unidad en modo texto sólo está permitido mediante conexiones seguras que usen el protocolo SSH.
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
.
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/.
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.
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:
El programa Xwin-32
es un programa comercial, aunque
dispone de una versión de prueba que funciona durante 30 minutos:
http://www.starnet.com/products/xwin32/
Otra posibilidad es instalar el emulador completo de sistema Linux para PCs
Cygwin
:
http://www.cygwin.com/
Este programa se distribuye con licencia GNU e incorpora un cliente X-window
totalmente funcional.
Una tercera posibilidad sería instalar el programa X-ming
accesible desde:
http://www.starnet.com/products/xwin32/
Este programa es básicamente una versión reducida de las X-windows incluidas en Cygwin
.
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 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:
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.
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ó.
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
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.
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:
Conexión con uno de los ordenadores del clúster mediante ssh
:
ssh usuario@cmi.uniovi.es
Se activa la comunicación mediante el servidor VNC:
tvncserver
y se conecta al mismo desde el ordenador local a través de VNC.
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.
Se inicia un trabajo interactivo en una cola, por ejemplo:
cola8 -I
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
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.
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.