Monitorizar GlusterFS

Ayer vimos como construir un cluster de almacenamiento distribuido con GlusterFS y CentOS. Hoy vamos a ver las herramientas que ofrece el propio Gluster para monitorizar el rendimiento.

Preparando el volumen

Antes de poder consultar el rendimiento tenemos que habilitarlo en la definición del volumen. Para ello hacemos.

# gluster volume profile testvol start

Ahora veremos la siguiente información a la salida del estado del volumen.

# gluster volume info

Volume Name: testvol
Type: Stripe
Volume ID: f922da05-737d-4fb5-83cc-e50d6782b90c
Status: Started
Number of Bricks: 1 x 4 = 4
Transport-type: tcp
Bricks:
Brick1: server1.example.com:/data
Brick2: server2.example.com:/data
Brick3: server3.example.com:/data
Brick4: server4.example.com:/data
Options Reconfigured:
diagnostics.count-fop-hits: on
diagnostics.latency-measurement: on
auth.allow: 192.168.1.*

Mostrar la entrada/salida

# gluster volume profile testvol info
Brick: server1.example.com:/data
--------------------------------
Cumulative Stats:
   Block Size:               4096b+ 
 No. of Reads:                    0 
No. of Writes:                    4 
 %-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
 ---------   -----------   -----------   -----------   ------------        ----
      0.00       0.00 us       0.00 us       0.00 us              1        STAT
      0.00       0.00 us       0.00 us       0.00 us              2      FORGET
      0.00       0.00 us       0.00 us       0.00 us              3     RELEASE
      0.00       0.00 us       0.00 us       0.00 us             24  RELEASEDIR
      0.85     250.00 us     250.00 us     250.00 us              1     SETATTR
      1.50     440.00 us     440.00 us     440.00 us              1       FSTAT
      1.51     222.00 us     200.00 us     244.00 us              2       FLUSH
      1.66     488.00 us     488.00 us     488.00 us              1      STATFS
      1.70     500.00 us     500.00 us     500.00 us              1        READ
      2.47     363.00 us     306.00 us     420.00 us              2      UNLINK
      5.15     504.33 us     471.00 us     539.00 us              3      CREATE
      8.20     602.50 us     324.00 us    1221.00 us              4       WRITE
     15.00    4411.00 us    4411.00 us    4411.00 us              1       FSYNC
     16.82     235.48 us     154.00 us     344.00 us             21     OPENDIR
     45.15     282.43 us     129.00 us    1694.00 us             47      LOOKUP
 
    Duration: 4233 seconds
   Data Read: 0 bytes
Data Written: 16384 bytes
 
Interval 1 Stats:
   Block Size:               4096b+ 
 No. of Reads:                    0 
No. of Writes:                    4 
 %-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
 ---------   -----------   -----------   -----------   ------------        ----
      0.00       0.00 us       0.00 us       0.00 us              1        STAT
      0.00       0.00 us       0.00 us       0.00 us              2      FORGET
      0.00       0.00 us       0.00 us       0.00 us              2     RELEASE
      0.00       0.00 us       0.00 us       0.00 us             21  RELEASEDIR
      0.85     250.00 us     250.00 us     250.00 us              1     SETATTR
      1.50     440.00 us     440.00 us     440.00 us              1       FSTAT
      1.51     222.00 us     200.00 us     244.00 us              2       FLUSH
      1.66     488.00 us     488.00 us     488.00 us              1      STATFS
      1.70     500.00 us     500.00 us     500.00 us              1        READ
      2.47     363.00 us     306.00 us     420.00 us              2      UNLINK
      5.15     504.33 us     471.00 us     539.00 us              3      CREATE
      8.20     602.50 us     324.00 us    1221.00 us              4       WRITE
     15.00    4411.00 us    4411.00 us    4411.00 us              1       FSYNC
     16.82     235.48 us     154.00 us     344.00 us             21     OPENDIR
     45.15     282.43 us     129.00 us    1694.00 us             47      LOOKUP
 
    Duration: 3767 seconds
   Data Read: 0 bytes
Data Written: 16384 bytes

Esta información se repite por cada uno de los bricks que conforman el cluster.

Comandos TOP de Gluster

Hay una serie de comandos que nos muestran los picos de rendimiento del cluster, son los siguientes.

Ver los descriptores abiertos y la cuenta máxima de descriptores

# gluster volume top testvol open brick server1.example.com:/data
Brick: server1.example.com:/data
Current open fds: 1, Max open fds: 2, Max openfd time: 2014-07-30 09:39:44.312759

Ver ranking de llamadas a lectura de fichero

# gluster volume top testvol read brick server1.example.com:/data
Brick: server1.example.com:/data
Count		filename
=======================
1		/file.txt

Ver ranking de llamadas a escritura de fichero

# gluster volume top testvol write brick server1.example.com:/data
Brick: server1.example.com:/data
Count		filename
=======================
4		/.file.txt.swp

Ver ranking de llamadas abiertas en directorios

# gluster volume top testvol opendir brick server1.example.com:/data
Brick: server1.example.com:/data
Count		filename
=======================
21		/prueba

Ver ranking de llamadas de lecturas en directorio

# gluster volume top testvol readdir brick server1.example.com:/data
Brick: server1.example.com:/data
Count		filename
=======================
4		/prueba

Ver la lista del rendimiento en lectura en cada brick

# gluster volume top testvol read-perf bs 256 count 1 brick server1.example.com:/data
Brick: server1.example.com:/data
Throughput 6.24 MBps time 0.0000 secs
MBps Filename                                        Time                      
==== ========                                        ====                      
   0 /file.txt                                       2014-07-30 09:39:44.388815

Ver la lista del rendimiento en escritura en cada brick

# gluster volume top testvol write-perf bs 256 count 1 brick server1.example.com:/data
Brick: server1.example.com:/data
Throughput 8.26 MBps time 0.0000 secs
MBps Filename                                        Time                      
==== ========                                        ====                      
  27 /prueba/.file.xls.swp                           2014-07-30 10:50:37.671327
  18 /.file.swp                                      2014-07-30 10:50:13.860439
   0 /prueba/file.xls                                2014-07-30 10:52:13.528054
   0 /file                                           2014-07-30 10:50:13.829870

Fuente

Es una chuleta de la documentación oficial que se puede consultar aquí y está más documentada pero la sintaxis de los comandos no está actualizada a día de hoy.

This entry was posted in HPC, Linux and tagged , . Bookmark the permalink.