Monitoraggio e statistiche IOPS hard disk su Linux

Galleria: 
Hard disk test IOPS, tps, read, write, MBsec, Linux

I tool presenti nelle comuni distribuzioni Linux che si possono utilizzare senza necessità di utilizzare dei livecd li troviamo nel pacchetto sysstat (Debian e Centos)
Questo pacchetto è molto utile per avere una reportistica sull'utilizzo dei dischi sia in lettura e scrittura che per quanto riguarda gli IOPS, input/output per second ovvero le transazioni al secondo verso un disco o un array di dischi tipo RAID

Benchmark

Per stressare i nostri SSD o Hard Disk, possiamo utilizzare questi benchmark disponibili su molte distribuzioni Linux

Hdparm

Sicuramente il più conosciuto e il più semplice, ci permette di testare in lettura utilizzando la cache e senza il nostro dispositivo avendo il report della velocità di lettura media

# hdparm -tT /dev/sda

DD - Disk Dump

Effettua la copia bit a bit di un dispositivo, permette di avere le statistiche in lettura e scrittura della velocità media in MB/s
Attenzione: controllare bene if=input of=output, si rischia di scrivere zeri su tutto il disco, se si utilizza come dispositivo di output

# dd if=/dev/sda of=/dev/null
# dd if=/dev/zero of=./zero.dd

Bonnie++

Un benchmark più completo, permette anche di esportare le statistiche su file html leggibile con qualsiasi browser

# bonnie++ -d /tmp/miadirectory -r <ram-presente> -u root | bon_csv2html > /tmp/report-bonnie.html

Flexible IO test

Altro benchmark completo per stressare gli IO sul nostro sistema: https://openbenchmarking.org/test/pts/fio

Statistiche IOPS

iostat

Riporta le statistiche in tps (IOPS), lettura, scrittura istantanee e dal precedente ciclo di statistica, il primo report può essere incoerente se lanciato senza parametri
E' necessario rilevare l'utilizzo del disco/RAID su un intervallo di tempo:

$ iostat -m 2 5 -d md1
Visualizza le statistiche degli IOPS ogni 2 secondi per 5 volte del device md1, raid software Linux MD

Se utilizzato senza specificare il device indica anche i dettagli dell'uso processore
Molto interessante è %iowait indica la percentuale della CPU consumata dall'attesa degli IO su disco

sar

$ sar -b 2 5
Come per iostat visualizza le statistiche ogni 2 secondi per 5 volte e ci restituisce la media in questo caso su tutti i device presenti

iotop

Questo utilissimo comando è un semplice monitor degli IO simile a top e ci permette di ordinare tramite le frecce destra e sinistra i processi che effettuano più IO sui dischi
Inoltre visualizza la velocità di lettura e scrittura totale in MB/s