Configuring Ext4 Storage Pool with correct Disk Alignment

From Public PIC Wiki
Revision as of 10:55, 5 August 2015 by Mcaubet (talk | contribs) (Created page with "=== Calculating the Stride and Stripe-width === * '''''Ext4 Block Size''''' = default 4KiB (not needed to change this value) * '''''Stride''''' = RAID chunk size / Ext4 block...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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>