User Manual

Troubleshooting
6-3
3. Use large I/O size at host
Aggregating multiple contiguous I/O into single I/O of big size significantly
improves the sequential-I/O performance because of better bandwidth
utilization and reduced CPU loading. You can use larger allocation size
(a.k.a. block size) when creating a file system (for example, 64KB for NTFS
and Apple Xsan, and 4KB for ext3). If you want to use multiple I/O
connections, multi-path I/O is more advised than software striping (RAID
0), since the later tends to limit the maximum I/O size of single I/O access.
But if you still need software striping, use the maximum stripe size (for
example, 256KB for MAC OS striping breadth). There could be also options
provided by the operating systems and HBA drivers for you to increase
the maximum I/O size.
4. Ensure aligned I/O access
The RAID controller can process I/O requests more efficiently if I/O is
aligned with the RAID stripe size or cache unit size. For x86 systems, file
data of a file system (like NTFS) starts after the MBR (Master Boot Record),
which occupies the first 63 sectors of a LUN (see 2.6 RAID Management on
page 2-22). So, the alignment offset option of a LUN is needed to set (63
or 191 sectors for NTFS). However, it works only for your first partition in a
LUN. When creating partitions on Windows 2003 and later, you may use
the Disk Partition Toll (Dispart.exe) with the option align=N to force the
partition to start at the specified alignment offset. To ensure all data
chunks are aligned, you need also to make the NTFS allocation size equal
to or bigger than the RAID stripe size.
5. Ensure I/O access fits striping data size
When you set the write cache of a RAID5 LUN as write-through, data
written to only a stripe of a RAID5 data row causes reading the old data
and parity to calculate the new parity is necessary. But if all the stripes of
a data row are written with new data, then the new parity can be
produced with only the new data. An example to do so is the option –E
stride=N of Linux ext3 file system, and you can set the N as 64 for a ext3
LUN with 4KB allocation size on a 4-disk RAID0 LUN with 64KB stripe size (64
= 4 x 64k/4k).
6. Check RAID system health status
Browse the monitoring web page (see 2.2 Monitor Mode on page 2-5)
and the event log (see 2.9 Event Management on page 2-66) to make
sure your systems are in a good shape. Problems like bad blocks, bad
hard disks, poor cabling, or incompatible devices hurt performance
because the RAID controller wastes its energy doing error recovery. Also
note that when the auto-write-through option (see 2.9.5 Miscellaneous on
page 2-71) is turned on, failure of power supply units, BBM, or so would
force the delayed-write option to be off.