Potete decidere quale test è importante fare, e decidere come comparare differenti sistemi averli fatti girare. Ad esempio potete vedere se è più performante un disco con un Reiser FS oppure uno con EXT3 e così via.
Potete simulare la velocità di lettura e di scrittura di file grandi e piccoli, insomma che dire… veramente un’ottima suite!
Un moderno disco fisso ha un maggior numero di settori nelle tracce esterne poiché queste sono più lunghe. Il disco avrà anche alcune zone (spesso più di 8) con ognuna lo stesso numero di settori (per la necessità di avere un numero intero di settori per traccia).
Questo programma permette di determinare i livelli di prestazione dati da zone differenti e di scriverli in un formato adeguato per gnuplot.
Vediamo questo esempio presso da mindollo.net:
Di seguito elenco gli step principali:
apt-get install cryptsetup bonnie++
Naturalmente partiamo installando il tool bonnie++ utilizzato per i benchmarks, assieme agli script cryptosetup
modprobe dm-crypt
Viene caricato il modulo del kernel dm-crypt necessario per la cifratura delle partizioni. Il modulo dev’essere abilitato durante la compilazione del kernel. In questo caso si e’ usato un kernel standard Debian: 2.6.17-2-k7
cat /proc/crypto
Si verifica che la cifratura aes sia disponibile
lvcreate --name eAES --size 1G /dev/mainVG
Utilizzando LVM creiamo una partizione logica all’interno del volume mainVG. La nuova partizione avra’ dimensione di 1GB e nome /dev/mainVG/AES. Attraverso lo stesso comando verranno create le altre partizioni necessarie (omissis).
cryptsetup -v -c aes -y create eAES /dev/mainVG/AES
Viene inserito il layer di cifratura sopra la partizione logica /dev/mainVG/eAES. Al termine apparira’ la nuova partizione chiamata /dev/mapper/AES. Attenzione: AES e’ una partizone vuota e pronta ad ospitare un filesystem, mentre eAES e’ il suo alter ego sotto cifratura. Quindi bisogna evitare di modificare inavvertitamente eAES pena la corruzione dei dati.
mkfs.ext3 /dev/mapper/AES
Viene creato un file system ext3 all’interno di AES. Con lo mkfs.ext3 e mkfs.reiserfs verranno creati gli altri 3 filesystem necessari (omissis).
mount /dev/mapper/AES /mnt/AES
bonnie++ non accede ai filesystem direttamente, ma attraverso il kernel come fanno tutte le applicazioni comuni. Quindi e’ necessario montare il nuovo filesystem.
bonnie -d /mnt/AES/ -s 400 -n 80:10:0:10 -m ext3AES -r 100 -x 1 -u fede:fede >> bonnie.out
Viene eseguito il tool di benchmark con i seguenti parametri:
- -s 400 Il file utilizzato nella scrittura sequenziale e’ da 400 MB
- -n 80*1024 file creati, dimensione variabile da 10 a 0 MB, 10*1024 directories
- -r 100MB di RAM a disposizione
- -x 1 una esecuzione del bench
- -u utente e gruppo (evitare root)
cat bonnie.out | bon_csv2html
Una volta eseguiti i 4 test si produce la tabella html (reimpaginata a mano per il wiki)
Sequential Output | Sequential Input | RandomSeeks | Sequential Create | Random Create | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Size:Chunk Size | PerChar | Block | Rewrite | PerChar | Block | Num Files | Create | Read | Delete | Create | Read | Delete | ||||||||||||||
K/sec% | CPU | K/sec | % CPU | K/sec | % CPU | K/sec | % CPU | K/sec | % CPU | / sec | % CPU | / sec | % CPU | / sec | % CPU | / sec | % CPU | / sec | % CPU | / sec | % CPU | / sec | % CPU | |||
ext3AES | 400M | 22764 | 58 | 42547 | 24 | 54077 | 20 | 27396 | 65 | 496622 | 96 | +++++ | +++ | 4:1:0 | +++++ | +++ | +++++ | +++ | +++++ | +++ | +++++ | +++ | +++++ | +++ | +++++ | +++ |
ext3AES | 200M | 23636 | 62 | 38648 | 21 | 64171 | 24 | 27678 | 68 | +++++ | +++ | +++++ | +++ | 40:1:0/10 | 18655 | 91 | +++++ | +++ | 30280 | 94 | 13095 | 67 | +++++ | +++ | 24679 | 90 |
ext3AES | 400M | 22624 | 60 | 43430 | 25 | 55280 | 21 | 27865 | 67 | 481322 | 93 | +++++ | +++ | 80:10:0/10 | 9731 | 65 | 9955 | 14 | 22576 | 83 | 7485 | 53 | 4586 | 7 | 2749 | 16 |
reiserAES | 400M | 35841 | 88 | 163608 | 84 | 83311 | 39 | 35448 | 87 | 490691 | 97 | +++++ | +++ | 80:10:0/10 | 8537 | 93 | 52529 | 83 | 11388 | 87 | 6174 | 85 | 1537 | 5 | 881 | 9 |
ext3 | 400M | 32986 | 88 | 130378 | 79 | 71200 | 35 | 36430 | 90 | 499683 | 97 | +++++ | +++ | 80:10:0/10 | 8273 | 89 | 2132 | 3 | 19346 | 77 | 4162 | 61 | 1213 | 1 | 2754 | 13 |
reiser | 400M | 36636 | 91 | 166020 | 86 | 84988 | 40 | 36791 | 91 | 479842 | 91 | +++++ | +++ | 80:10:0/10 | 8600 | 93 | 56523 | 87 | 12978 | 94 | 7236 | 94 | 1525 | 5 | 854 | 9 |
I primi due run sono stati eseguiti con parametri differenti dai successivi. Gli ultimi 4 riguardano rispettivamente: ext3 over AES, reiserfs over AES, ext3 da solo e reiserfs da solo