Diferencia entre las páginas «Tutorial de acceso a Leftraru via SSH» y «Monitoreo»

De NLHPC
(Diferencia entre las páginas)
 
 
Línea 1: Línea 1:
== Ejemplos de conexión ==
== ¿Como listo las tareas? ==
Para realizar una conexión desde un sistema GNU/Linux o MacOSX, use el comando SSH (ejemplo con usuario "prueba"):
Ejecuto el comando [https://slurm.schedmd.com/squeue.html squeue] para conocer por ejemplo el estado, tiempo de ejecución e identificador de los trabajos [https://wiki.nlhpc.cl/SISTEMA_GESTOR_DE_RECURSOS SLURM]
<pre>
<pre>
$ ssh prueba@leftraru.nlhpc.cl
[usuario@leftraru1 ~]$ squeue -o "%.15i %.6P %.8j %.20S %.11M %.11L %.20V %.2t %.10q %.4C %.2D %.7W %N " -S -t,-Q
prueba@leftraru.nlhpc.cl password:


[...]
JOBID    PARTIT  NAME    START_TIME          TIME      TIME_LEFT  SUBMIT_TIME        ST  QOS CPUS NO LICENSE NODELIST
 
12863561  slims  test04  2018-07-08T13:57:53  1-20:25:20 1-03:34:40 2018-07-08T13:57:26  R  120  5  1  (null)  cn000
prueba@leftraru4:~$
12864082  slims  test02  2018-07-09T10:44:15    23:38:58 2-00:21:02 2018-07-09T10:43:51  R  120  10  1  (null)  cn001
12865333  slims  test01  2018-07-10T17:16:38        0:00 3-00:00:00 2018-07-10T09:30:22  PD 120  10  1  (null) 
12865334  slims  test06  2018-07-10T17:49:42        0:00 3-00:00:00 2018-07-10T09:38:13  PD 120  10  1  (null) 
12865335  slims  test09  2018-07-11T07:42:16        0:00 3-00:00:00 2018-07-10T09:28:05  PD 120  20  1  (null)
</pre>
</pre>


Para conectar desde sistemas Windows, se recomienda usar Putty como cliente SSH:
== ¿Como monitoreo los recursos utilizados por mi tarea? ==
=== Conectándose al nodo ===
Siempre y cuando tengamos tareas corriendo en un nodo, podemos entrar en este vía SSH.


Putty.jpg
==== * uptime ====
Para conocer la carga del nodo, cuantos procesos por core existen actualmente.
<pre>
[usuario@leftraru1 ~]# ssh cn109
usuario@cn000 s password:
[usuario@cn000 ~]# uptime
10:40:59 up 27 days, 16:46,  1 user,  load average: 17.04, 13.76, 13.09
</pre>


En este ejemplo, se usará el usuario "prueba".
==== * User Stats ====
Este script permite revisar:


Accesologin1.png
===== La memoria por core (en kb) =====
<pre>
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh mem
00 371695616
01 373268480
02 367038464
03 363290624
04 367382528
</pre>


El password es ingresado sin mostrar ningún carácter en la pantalla.
===== Cantidad de procesos por core =====
<pre>
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh load
00 1
01 2
02 1
03 1
04 1
</pre>


== Cambiar contraseña ==
==== * htop ====
Para cambiar la contraseña de usuario, es necesario que esta cumpla con ciertos requisitos como por ejemplo:
Es un visor de procesos en linux, basado en ncurses.
<pre>
[usuario@cn109 ~]# htop
</pre>


* El mínimo de caracteres son 10.
[[Archivo:Htop.png|no|htop]]
* Debe ser alfanumérica.
* Tener 3 caracteres especiales (al menos 1 mayúscula – 1 minúscula y 1 número).


Para ejecutar esta acción, utilice el siguiente comando:
<pre>
[prueba@leftraru1 ~]$ passwd


Changing password for user prueba.
.
(current) LDAP Password: <- Ingrese su contraseña actual.


New password: ********* <- Ingrese su nueva contraseña.
=== A través de Ganglia ===
Ganglia es un sistema de monitoreo distribuido para sistemas HPC, por cada uno de los nodos de cómputo de las diferentes particiones están disponibles los gráficos de memoria, carga, porcentaje de cpu usada, tráfico, etc.


Retype new password: Reingrese su nueva contraseña.
[[Archivo:Ganglia.png|no|300px]]


passwd: all authentication tokens updated successfully.
=== A través de [http://dashboard.nlhpc.cl/ Dashboard] ===
</pre>
Panel de visualización del estado de los nodos. Muestra una vista rápida del estado de los nodos (de login y de cómputo) y uso general del cluster, ademas de encontrar el listado de tareas en ejecución, pendientes, históricos.


Confirmación de cambio de clave exitoso, le recomendamos cerrar su sesión e ingresar nuevamente a nuestro sistema ingresando su nueva contraseña.
=== En el correo de notificación ===
Al terminar una tarea se adjuntan las siguientes gráficas:


== Conexión a nodos actualmente utilizados ==
==== Porcentaje de uso por core ====
Algunas veces, por distintas circunstancias, sería deseable tener la posibilidad de ingresar al nodo donde se estén ejecutando nuestras tareas con tal de verificar su estado, comprobar ciertos valores, etc.
[[Archivo:300px-Correo CPU.png|izquierda]]


Pensado en la comodidad de los usuarios, se ha implementado un módulo del gestor que colas SLURM que permite esta funcionalidad. Por tanto, el login será permitido en todas aquellas máquinas donde actualmente exista un trabajo nuestro.
==== Memoria utilizada por core ====


Por ejemplo; nuestra tarea de prueba 'tarea_test.sh' ha sido enviada a la cola y ha ingresado con el ID '3469576'. Slurm reservó el nodo 'cn053' para llevar a cabo la ejecución, por tanto el usuario tiene permitido el ingreso mediante ssh al nodo:
[[Archivo:300px-Correo MEMxCPU.png|izquierda]]


==== Archivo report.log ====
<pre>
<pre>
leftraru$ sbatch tarea_test.sh
job_id=12668XXX user=usuario mail=None start_time=2018-07-09T06:51:34 running_time=3:53:28 cores_total=10 nodes_raw=cn094 alarm_cpu=True alarm_memory=False watch|avg|std|ptotal=10800|30|20|50 ptcw=70 command=/home/usuario/tarea.sh nodes={'cn094': {'mem': '10000', 'cpu': [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]}} alarm_count=1 last_time=1531147611 iter=2 job_cancel=None modules=[]
leftraru$ squeue
n=cn094
 
JOBID    PARTITION    NAME    USER  ST    TIME  NODES  NODELIST(REASON)
3469576    slims      Prueba    test  R    1:57    1       cn053
 
leftraru$ ssh cn053
Last login: today 2016 from leftraru.nlhpc.cl
cn053$
</pre>


Tenga en cuenta que aún se mantiene la restricción de ingreso para el resto de los nodos:
  mem max:3586 resv:10000
<pre>
  cpu=10 avg=91.00 std=45.77 / all avg=0.00 std=0.00
leftraru$ ssh cn001
  cpu= 0 avg=98.19 std=44.53 / all avg=0.00 std=0.00
Access denied: user test (uid=000) has no active jobs on this node.
* cpu= 3 avg=0.56 std=0.50 / all avg=0.47 std=0.50
leftraru$
* cpu= 2 avg=0.86 std=0.35 / all avg=0.66 std=0.47
* cpu= 5 avg=0.64 std=0.48 / all avg=0.49 std=0.50
* cpu= 4 avg=0.53 std=0.50 / all avg=0.40 std=0.49
  cpu= 7 avg=82.11 std=48.93 / all avg=0.00 std=0.00
* cpu= 6 avg=0.56 std=0.50 / all avg=0.45 std=0.50
* cpu= 9 avg=0.47 std=0.50 / all avg=0.36 std=0.48
* cpu= 8 avg=0.72 std=0.45 / all avg=0.79 std=0.41
</pre>
</pre>


== Nodos Login ==
* En mem max:'''3586''' resv:10000 se destaca que el máximo de memoria utilizada por la tarea ha sido de 3568M
Aunque disponemos de 4 nodos para el acceso al clúster por parte de los usuarios, en general, hay que usar el nombre:
* Por cada una de los cores se despliega: el uso promedio de cada core, la desviación estándar en las últimas 3 horas / del total de tiempo de ejecución.
 
* leftraru.nlhpc.cl
 
A la hora de conectarse por SSH al clúster. Al acceder a esa dirección se consigue que los usuarios queden conectados aleatoriamente a los nodos login.
 
Pero si resultara necesario, se puede acceder a un nodo login específicamente usando su nombre a la hora de realizar la conexión SSH:
 
* leftraru1.nlhpc.cl
* leftraru2.nlhpc.cl
* leftraru3.nlhpc.cl
* leftraru4.nlhpc.cl
 
== Notas ==
Debido a que leftraru balancea la carga de los nodos Login se debe evitar el uso de screen, ya que no se garantiza el acceso al mismo nodo que tenía la sesión screen abierta una vez que el usuario cierra su sesión.
 
Un usuario sólo podrá acceder por ssh a los cuatro nodos logins y a los nodos de cómputo en los cuales tenga alguna tarea en ejecución mediante nuestro sistema gestor de colas SLURM.
 
Si falla muchas veces el intento de login por SSH o genera muchas conexiones, su IP podría ser bloqueada. Contacte por correo electrónico con Soporte si tiene problemas de conexión: soporte@nlhpc.cl

Revisión del 16:00 6 sep 2022

¿Como listo las tareas?

Ejecuto el comando squeue para conocer por ejemplo el estado, tiempo de ejecución e identificador de los trabajos SLURM

[usuario@leftraru1 ~]$ squeue -o "%.15i %.6P %.8j %.20S %.11M %.11L %.20V %.2t %.10q %.4C %.2D %.7W %N " -S -t,-Q

JOBID    PARTIT   NAME    START_TIME           TIME       TIME_LEFT  SUBMIT_TIME         ST  QOS CPUS NO LICENSE NODELIST 
12863561  slims   test04  2018-07-08T13:57:53  1-20:25:20 1-03:34:40 2018-07-08T13:57:26  R  120  5   1  (null)  cn000 
12864082  slims   test02  2018-07-09T10:44:15    23:38:58 2-00:21:02 2018-07-09T10:43:51  R  120  10  1  (null)  cn001 
12865333  slims   test01  2018-07-10T17:16:38        0:00 3-00:00:00 2018-07-10T09:30:22  PD 120  10  1  (null)  
12865334  slims   test06  2018-07-10T17:49:42        0:00 3-00:00:00 2018-07-10T09:38:13  PD 120  10  1  (null)  
12865335  slims   test09  2018-07-11T07:42:16        0:00 3-00:00:00 2018-07-10T09:28:05  PD 120  20  1  (null)

¿Como monitoreo los recursos utilizados por mi tarea?

Conectándose al nodo

Siempre y cuando tengamos tareas corriendo en un nodo, podemos entrar en este vía SSH.

* uptime

Para conocer la carga del nodo, cuantos procesos por core existen actualmente.

[usuario@leftraru1 ~]# ssh cn109
usuario@cn000 s password:
[usuario@cn000 ~]# uptime
10:40:59 up 27 days, 16:46,  1 user,  load average: 17.04, 13.76, 13.09

* User Stats

Este script permite revisar:

La memoria por core (en kb)
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh mem
00 371695616
01 373268480
02 367038464
03 363290624
04 367382528
Cantidad de procesos por core
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh load
00 1
01 2
02 1
03 1
04 1

* htop

Es un visor de procesos en linux, basado en ncurses.

[usuario@cn109 ~]# htop
htop


.

A través de Ganglia

Ganglia es un sistema de monitoreo distribuido para sistemas HPC, por cada uno de los nodos de cómputo de las diferentes particiones están disponibles los gráficos de memoria, carga, porcentaje de cpu usada, tráfico, etc.

Ganglia.png

A través de Dashboard

Panel de visualización del estado de los nodos. Muestra una vista rápida del estado de los nodos (de login y de cómputo) y uso general del cluster, ademas de encontrar el listado de tareas en ejecución, pendientes, históricos.

En el correo de notificación

Al terminar una tarea se adjuntan las siguientes gráficas:

Porcentaje de uso por core

Memoria utilizada por core

Archivo report.log

job_id=12668XXX user=usuario mail=None start_time=2018-07-09T06:51:34 running_time=3:53:28 cores_total=10 nodes_raw=cn094 alarm_cpu=True alarm_memory=False watch|avg|std|ptotal=10800|30|20|50 ptcw=70 command=/home/usuario/tarea.sh nodes={'cn094': {'mem': '10000', 'cpu': [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]}} alarm_count=1 last_time=1531147611 iter=2 job_cancel=None modules=[]
n=cn094

  mem max:3586 resv:10000
  cpu=10 avg=91.00 std=45.77 / all avg=0.00 std=0.00
  cpu= 0 avg=98.19 std=44.53 / all avg=0.00 std=0.00
* cpu= 3 avg=0.56 std=0.50 / all avg=0.47 std=0.50
* cpu= 2 avg=0.86 std=0.35 / all avg=0.66 std=0.47
* cpu= 5 avg=0.64 std=0.48 / all avg=0.49 std=0.50
* cpu= 4 avg=0.53 std=0.50 / all avg=0.40 std=0.49
  cpu= 7 avg=82.11 std=48.93 / all avg=0.00 std=0.00
* cpu= 6 avg=0.56 std=0.50 / all avg=0.45 std=0.50
* cpu= 9 avg=0.47 std=0.50 / all avg=0.36 std=0.48
* cpu= 8 avg=0.72 std=0.45 / all avg=0.79 std=0.41
  • En mem max:3586 resv:10000 se destaca que el máximo de memoria utilizada por la tarea ha sido de 3568M
  • Por cada una de los cores se despliega: el uso promedio de cada core, la desviación estándar en las últimas 3 horas / del total de tiempo de ejecución.