====== Benchmark ext3, ReiserFS e dm-crypto ====== 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: * -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 Per qualsiasi commento scrivetemi a bart (punto) pl [at] tiscali (punto) it Federico