Saya mulai dengan membuat 16 file kosong dengan tepat 1 miliar byte:
for i in {1..16}; do dd if=/dev/zero of=/mnt/temp/block$i bs=1000000 count=1000 &> /dev/null; done
Kemudian saya membuat volume RAIDZ2 yang lebih besar dan lebih besar di atas file, memaksa ashift = 12 untuk mensimulasikan drive sektor 4K, misalnya
zpool create tank raidz2 -o ashift=12 /mnt/temp/block1 /mnt/temp/block2...
dan kemudian dibandingkan menggunakan df -B1
untuk melihat ukuran sebenarnya.
Filesystem 1B-blocks
tank 12787777536
Hasil saya:
+-------+-------------+-------------+------------+------------+
| 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 |
+-------+-------------+-------------+------------+------------+
Sebagai bagan:
- Apakah hasil saya benar, atau sudahkah saya meninggalkan sesuatu?
- Jika itu benar, mengapa? Kemana perginya ruang?
- Bisakah saya melakukan apa saja untuk meningkatkan efisiensi?
- Apakah ada rumus untuk menghitung efisiensi?
linux
zfs
raidz
advanced-format
steveh7
sumber
sumber
Jawaban:
Jawaban glib, karena RAIDZ (2) mengisap 4k drive.
Ini berkaitan dengan perhitungan paritas yang menelan banyak ruang tambahan, terutama dengan file yang lebih kecil. Coba lakukan pengujian yang sama terhadap file yang di bawah 50MB jika Anda ingin melihat beberapa inefisiensi nyata.
sumber