Questa pagina riguarda un'analisi delle prestazioni dei File System ext3 e ReiserFS sia senza cifratura che utilizzando dm-crypt con cifratura AES.
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:
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
Per qualsiasi commento scrivetemi a bart (punto) pl [at] tiscali (punto) it
Federico