Configuring Ext4 Storage Pool with correct Disk Alignment
Jump to navigation
Jump to search
Calculating the Stride and Stripe-width
- Ext4 Block Size = default 4KiB (not needed to change this value)
- Stride = RAID chunk size / Ext4 block size
- Stripe-width = Number of physical data disks * Stride
Examples
RAID 0 - 2 Disks - Stripe Size 64 KiB
- Ext4 BS = 4KiB
- Stride = 64 KiB / 4KiB = 16
- Stripe-width = 2 * 16 = 32
mkfs.ext4 -b 4096 -E stride=16,stripe-width=32 <dev> # or simply: mkfs.ext4 -E stride=16,stripe-width=32 <dev>
RAID 1 - Stripe Size - 128 KiB (AKA Chunk Size)
- Ext4 BS = 4KiB
- Stride = 128 KiB / 4KiB = 32
- Stripe-width = 1 * 32 = 32
mkfs.ext4 -b 4096 -E stride=32,stripe-width=32 <dev> # or simply: mkfs.ext4 -E stride=32,stripe-width=32 <dev>
RAID 5 - 4 Disks - Stripe Size 512 KiB
- Ext4 BS = 4KiB
- Stride = 512 KiB / 4KiB = 128
- Stripe-width = 3 * 128 = 384
mkfs.ext4 -b 4096 -E stride=128,stripe-width=384 <dev> # or simply: mkfs.ext4 -E stride=128,stripe-width=384 <dev>
RAID 6 - 10 Disks - Stripe Size 1 MiB = 1024 KiB
- Ext4 BS = 4KiB
- Stride = 1024 KiB / 4KiB = 256
- Stripe-width = 8 * 256 = 2048
mkfs.ext4 -b 4096 -E stride=256,stripe-width=2048 <dev> # or simply: mkfs.ext4 -E stride=256,stripe-width=2048 <dev>