J'ai commencé par créer 16 fichiers vides d'exactement 1 milliard d'octets:
for i in {1..16}; do dd if=/dev/zero of=/mnt/temp/block$i bs=1000000 count=1000 &> /dev/null; done
Ensuite, j'ai créé des volumes RAIDZ2 de plus en plus grands sur les fichiers, forçant ashift = 12 à simuler un lecteur de secteur 4K, par exemple
zpool create tank raidz2 -o ashift=12 /mnt/temp/block1 /mnt/temp/block2...
puis comparé en utilisant df -B1
pour voir la taille réelle.
Filesystem 1B-blocks
tank 12787777536
Mes résultats:
+-------+-------------+-------------+------------+------------+
| disks | expected | actual | overhead | efficiency |
+-------+-------------+-------------+------------+------------+
| 3 | 1000000000 | 951975936 | 48024064 | 95.2 |
| 4 | 2000000000 | 1883766784 | 116233216 | 94.2 |
| 5 | 3000000000 | 2892234752 | 107765248 | 96.4 |
| 6 | 4000000000 | 3892969472 | 107030528 | 97.3 |
| 7 | 5000000000 | 4530896896 | 469103104 | 90.6 |
| 8 | 6000000000 | 5541068800 | 458931200 | 92.4 |
| 9 | 7000000000 | 6691618816 | 308381184 | 95.6 |
| 10 | 8000000000 | 7446331392 | 553668608 | 93.1 |
| 11 | 9000000000 | 8201175040 | 798824960 | 91.1 |
| 12 | 10000000000 | 8905555968 | 1094444032 | 89.1 |
| 13 | 11000000000 | 10403577856 | 596422144 | 94.6 |
| 14 | 12000000000 | 11162222592 | 837777408 | 93.0 |
| 15 | 13000000000 | 12029263872 | 970736128 | 92.5 |
| 16 | 14000000000 | 12787908608 | 1212091392 | 91.3 |
+-------+-------------+-------------+------------+------------+
Comme un graphique:
- Mes résultats sont-ils corrects ou ai-je oublié quelque chose?
- S'ils ont raison, pourquoi? Où va l'espace?
- Puis-je faire quelque chose pour améliorer l'efficacité?
- Existe-t-il une formule pour calculer l'efficacité?
linux
zfs
raidz
advanced-format
steveh7
la source
la source
Réponses:
La réponse glib, car RAIDZ (2) aspire les lecteurs 4k.
Cela a à voir avec les calculs de parité engloutissant une cargaison d'espace supplémentaire, en particulier avec des fichiers plus petits. Essayez de faire le même test avec des fichiers de moins de 50 Mo si vous voulez voir de réelles inefficacités.
la source