Dell PowerVault MD3000i Dell PowerVault MD3000/MD3000i Array Tuning Best Pract - Page 11

December 2008 - Revision A01,

Page 11 highlights

Dell™ PowerVault MD3000 and MD3000i Array Tuning Best Practices first 128KiB of an I/O is written to the first drive, the next 128KiB to the next drive, and so on with a total stripe size of 512KiB. For a RAID 1, 2 + 2 virtual disk group, 128KiB would be written to each of the two drives (and same for the mirrored drives). If the I/O size is larger than this (the number of physical disks multiplied by a 128KiB segment), this pattern repeats until the entire I/O is complete. For very large I/O requests, the optimal segment size for a RAID volume group is one that distributes a single host I/O across all data drives within a single stripe. The formula for maximal stripe size is as follows: LUN segment size = Maximal I/O Size ÷ number of data drives However, the LUN segment size should be rounded up to the nearest supported power of two value. For RAID5 and 6, the number of data drives is equal to the number of drives in the volume group minus 1 and 2 respectively. For example: RAID5, 4+1 with a 64KiB segment size => (5-1) x 64KiB = 256KiB stripe size Optimally, this RAID group is sufficient for handling I/O requests less than or equal to 256KiB. For RAID1, the number of data drives is equal to the number of drives divided by 2. For example: RAID1/10, 2+2 with a 64KiB segment size => (4-2) x 64KiB = 128KiB stripe size It is important to remember that depending on the application's I/O parameters, segment and strip size will vary. For application profiles with small I/O requests, set the segment size large enough to minimize the number of segments (drives in the LUN) that are accessed to satisfy the I/O request, that is, to minimize segment boundary crossings. Unless specified otherwise by the application, starting with the default segment size of 128KiB is recommended. It is imperative that the stripe size be correctly selected so that the host operating system is always making requests properly aligned with full stripes or full segments when possible. December 2008 - Revision A01 Page 11

  • 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

Dell™ PowerVault MD3000 and MD3000i Array Tuning Best Practices
December 2008 – Revision A01
Page 11
first 128KiB of an I/O is written to the first drive, the next 128KiB to the next drive,
and so on with a total stripe size of 512KiB.
For a RAID 1, 2 + 2 virtual disk
group, 128KiB would be written to each of the two drives (and same for the
mirrored drives).
If the I/O size is larger than this (the number of physical disks
multiplied by a 128KiB segment), this pattern repeats until the entire I/O is
complete.
For very large I/O requests, the optimal segment size for a RAID volume group is
one that distributes a single host I/O across all data drives within a single stripe.
The formula for maximal stripe size is as follows:
LUN segment size = Maximal I/O Size
÷
number of data drives
However, the LUN segment size should be rounded up to the nearest supported
power of two value.
For RAID5 and 6, the number of data drives is equal to the number of drives in
the volume group minus 1 and 2 respectively. For example:
RAID5, 4+1 with a 64KiB segment size => (5-1) x 64KiB = 256KiB stripe
size
Optimally, this RAID group is sufficient for handling I/O requests less than or
equal to 256KiB.
For RAID1, the number of data drives is equal to the number of drives divided by
2. For example:
RAID1/10, 2+2 with a 64KiB segment size => (4-2) x 64KiB = 128KiB
stripe size
It is important to remember that depending on the application’s I/O parameters,
segment and strip size will vary.
For application profiles with small I/O requests, set the segment size large
enough to minimize the number of segments (drives in the LUN) that are
accessed to satisfy the I/O request, that is, to minimize segment boundary
crossings.
Unless specified otherwise by the application, starting with the default
segment size of 128KiB is recommended.
It is imperative that the stripe size be correctly selected so that the host operating
system is always making requests properly aligned with full stripes or full
segments when possible.