RAID1 BTRFS et EXT4

Pour ce deuxième test je me propose d'utiliser une paire de disques de 2To que je viens d'installer et qui ont été découpés de manière identique dans le but d'utiliser du RAID-1, j'aime bien le RAID 1 !
Les disques SDC et SDD sont découpés en trois partitions :
1 #400Go
2 #400Go
3 #1200Go déja utilisée par LVM
Sur les deux paires de partitions libres ( 1 et 2 ) j'ai installé du RAID-1 par les commandes suivantes :
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdc2 /dev/sdd2
Les premiers tests utiliserons EXT4 sur les deux devices MD0 et MD1, ces mêmes devices seront ensuite formatés en BTRFS. Un dernier essai sera par la suite réalisé en "cassant" le RAID-1 et en utilisant directement les possibilités de BTRFS de gestion RAID.
Pour m'affranchir un peu plus de l'influence de la mémoire j'utilise des fichiers un peu plus gros d'environ 40Go.
Après formatage d'une durée d'environ 5 secondes malgré la taille des partitions (400Go) le montage réussit :
df | grep mnt
/dev/md0                    418970516  6325372 391673684   2% /mnt/DISK1
/dev/md1                    418970516  6325372 391673684   2% /mnt/DISK2
 
Pour avoir une plus faible influence des caches mémoire j'ai utilisé les options "direct" et "fsync" de la commande "dd" :
dd if=/dev/zero of=/mnt/DISK1/test bs=32K count=1536000 conv=fsync oflag=direct
 
Tests "dd" écriture en EXT4
Partition 1 (la plus centrale)
Wait state #23%   BO # 55000 .. 73000
1536000+0 records in
1536000+0 records out
50331648000 bytes (50 GB) copied, 939,719 s, 53,6 MB/s
 
Partition 2 (plus vers l'extérieur du disque)
1536000+0 records in
1536000+0 records out
50331648000 bytes (50 GB) copied, 1025,07 s, 49,1 MB/s
 
Comme prévu les disques sont plus rapides sur la première partition que sur la deuxième et pendant le test aucune mémoire "cache" n'est utilisée.
 
Tests "dd" lecture en EXT4:
Partition 1
wait_state #23%  BI # 85000 .. 125000
1536000+0 records in
1536000+0 records out
50331648000 bytes (50 GB) copied, 418,11 s, 120 MB/s
Partition 2
Wait state #23%  BI # 100000 .. 118000
1536000+0 records in
1536000+0 records out
50331648000 bytes (50 GB) copied, 451,569 s, 111 MB/s
 
Là aussi la partition 2 est moins rapide que la première mais, vu la vitesse constatée, il semble que les lectures soient bien partagées sur les deux disques ce qui est un bon présage.
 
Après cette première salve de tests on va passer en BTRFS :
mkfs -t btrfs -L DISK1 /dev/md0
samedi 5 mai 2012, 17:23:48 (UTC+0200)
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
fs created label DISK1 on /dev/md0
nodesize 4096 leafsize 4096 sectorsize 4096 size 400.00GB
Btrfs Btrfs v0.19
samedi 5 mai 2012, 17:23:48 (UTC+0200)
 
mkfs -t btrfs -L DISK2 /dev/md1
samedi 5 mai 2012, 17:23:48 (UTC+0200)
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
fs created label DISK2 on /dev/md1
nodesize 4096 leafsize 4096 sectorsize 4096 size 400.00GB
Btrfs Btrfs v0.19
samedi 5 mai 2012, 17:23:48 (UTC+0200)
et on monte nos deux devices :
df | grep mnt
/dev/md0                    419429240       56 417303360   1% /mnt/DISK1
/dev/md1                    419429240      120 401574656   1% /mnt/DISK2
 
Tests "dd" écriture BTRFS
La syntaxe de "dd" est identique a celle adoptée pour EXT4.
Partition 1:
wait_state #19%   BO 55000 .. 70500
1536000+0 records in
1536000+0 records out
50331648000 bytes (50 GB) copied, 749,723 s, 67,1 MB/s
 
Partition 2:
1536000+0 records in
1536000+0 records out
50331648000 bytes (50 GB) copied, 761,014 s, 66,1 MB/s
 
La différence de vitesse est plus faible entre les deux partitions mais la vitesse d'écriture est largement supérieure à celle obtenue en EXT4 et là non plus aucune trace d'usage de mémoire cache.
 
Tests "dd" lecture BTRFS :
Partition 1
1536000+0 records in
1536000+0 records out
50331648000 bytes (50 GB) copied, 487,854 s, 103 MB/s
 
Partition 2
322696+0 records in
322696+0 records out
10574102528 bytes (11 GB) copied, 103,173 s, 102 MB/s
 
La faible différence de vitesse entre les deux partitions est confirmée mais la surprise est la "faiblesse" de la vitesse en lecture par rapport à EXT4.
Un petit tableau récapitulatif pour finir :
 

  Écriture Lecture
  P. 1 P. 2 P.1 P.2
EXT4 53,6 49,1 120,0 111,0
BTRFS 67,1 66,1 103,0 102,0
% BTRFS / EXT4 +20,12% +25,72% -16,50% -8,82%


La prochaine étape sera de "casser" le RAID de la partition 1 et d'utiliser BTRFS pour gérer le RAID-1.