RAID
Performance Test of ext4, xfs, zfs, and btrfs under RAID6
· ☕ 36 min read
1. Single Disk 1.1 Creating the File System Wipe the disk 1 wipefs -a /dev/nvme0n1 Format the disk 1 mkfs.xfs /dev/nvme0n1 Mount the disk 1 2 mkdir -p /mnt/nvme0n1-test mount /dev/nvme0n1 /mnt/nvme0n1-test 1.2 Performance Test 4k random write 1 2 3 4 echo 3 > /proc/sys/vm/drop_caches fio --name=4k_randwrite --rw=randwrite --bs=4k --ioengine=libaio --direct=1 \ --numjobs=8 --iodepth=32 --size=20G --time_based --runtime=120 --group_reporting \ --allow_mounted_write=1 --filename=/mnt/nvme0n1-test/fio-4k-randwrite.

ZFS Operations Under RAID
· ☕ 8 min read
ZFS does not support online shrinking; this post focuses on operational tasks such as creating pools, replacing disks, and expanding capacity. 1. ZFS vdev Types mirror: mirroring, multiple disks hold copies of each other, equivalent to RAID 1 raidz3: triple parity, tolerates 3 disk failures raidz2: double parity, tolerates 2 disk failures, equivalent to RAID 6 raidz1: single parity, tolerates 1 disk failure, equivalent to RAID 5 striped: striping, no redundancy, equivalent to RAID 0 They can also be combined:

XFS Operations Under RAID
· ☕ 7 min read
The xfs filesystem does not support shrinking. This post is mainly about disk replacement and expansion under RAID 10. 1. RAID States and Disk States In mdadm, the RAID states are: clean, normal degraded, still readable and writable, but with reduced fault tolerance reshaping, reorganization in progress, appears during expansion and shrinking resyncing, data synchronization in progress recovering, data recovery in progress, accompanied by degradation as a disk is rebuilt failed In mdadm, the disk states are:

Btrfs Operations Under RAID
· ☕ 13 min read
Btrfs supports online expansion, shrinking, disk replacement, and RAID mode conversion; this post covers creating a filesystem under RAID 0/RAID 1/RAID 10/RAID 6 topologies, adding disks, replacing disks, shrinking, and common operational tasks. 1. Btrfs Profiles single: single copy, no redundancy, works with one disk or can aggregate multiple disks.

XFS Performance Testing Under Various RAID Levels
· ☕ 54 min read
1. Disk Baseline Testing 1.1 4k Random Write 1 2 3 4 5 6 7 8 9 10 11 12 13 14 fio \ --name=4k_randwrite \ --rw=randwrite \ --bs=4k \ --ioengine=libaio \ --direct=1 \ --numjobs=8 \ --iodepth=32 \ --size=20G \ --time_based \ --runtime=120 \ --group_reporting \ --allow_mounted_write=1 \ --filename=/data1/fio-4k-randwrite.dat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 Starting 8 processes 4k_randwrite: Laying out IO file (1 file / 20480MiB) Jobs: 8 (f=8): [w(8)][100.