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.