Administering virtual disks

Application and filesystem requirements

Before you select the virtual disk type for your system, you must first know about your applications and how they interact with files.

Because a system can use multiple virtual disk types, you need to consider the I/O patterns across the entire storage space when defining your system layout. Use the sar(ADM) utility to get cumulative numbers for reads and writes for each physical disk.

Performance improvements will depend on a number of different variables.

Ratio of reads to writes

RAID 5 and RAID 4 virtual disks are particularly sensitive to the ratio of reads to writes. When writing data, they have to generate parity information; therefore they are better in read-intensive situations. At 100% reads, the performance of RAID 5/RAID 4 is high. Because the percentage of writes increases to 50%, the performance of RAID 5/RAID 4 can approach the performance of mirrored virtual disks.

RAID 5 provides the best read-only performance of the available virtual disk types. Generally, as the number of disks in an array increases, performance will increase (as more blocks are read/written in parallel.) Mirrored performance is better than a simple virtual disk because data is striped across both disks.

In read/write applications, striped virtual disks provide the best overall performance, but do not provide protection against disk failures. The performance of RAID 5 virtual disks suffers because of the overhead of parity generation when writing data; this does not occur during read-only access. Reduced performance on writing is a characteristic of RAID 5 arrays. As the percentage of write throughput increases, the relative performance of RAID 5 virtual disks decreases. As writes approach 100%, performance may fall below that of simple virtual disks. Mirroring may be a better performance alternative for write I/O rates >70%.

If performance is the highest priority, mirrored or RAID 10 virtual disks provide better performance than RAID 5/RAID 4 virtual disks as the percentage of write I/O increases (>70%).

For high I/O rates, striped virtual disks will provide the best performance compared to other virtual disk types, but without protection from data loss.

Dominant I/O size

This refers to the typical size of reads or writes made by applications. The combination of I/O size and cluster size can affect performance for RAID 0 (striped), RAID 5, and RAID 4 virtual disks. Choose a cluster size that optimizes performance; ideally it should be just larger than the dominant I/O size, so that an entire I/O transaction will fit in one cluster.

Distribution of I/O

Virtual disks can be used to obtain more efficient use of storage by balancing I/O evenly across all storage. You can monitor the balance of I/O at three different levels:

Unbalanced I/O means that a lot of I/O activity is taking place on just one or two disks, causing a performance bottleneck. You can use sar(ADM) or select Examine Performance from the Disk menu of the Virtual Disk Manager to monitor I/O patterns.

Attempt to balance I/O evenly at each of these three levels. When unbalanced I/O patterns are identified, you can select Modify from the Disk menu of the Virtual Disk Manager to move data and reduce the imbalance.

Number of disks in a system configuration

Increasing the number of disks in a system configuration makes balancing I/O between disks easier. Many small disks provide better performance (and more flexibility) than a few larger disks.

Larger stripe widths (number of disks in parallel) improve the performance of RAID 0 (striped), RAID 5, and RAID 4 virtual disks.

Disk performance

This depends on a number of factors including disk platter rotation rate, disk head seek time, quality of the controller, and the size of the disk buffer. As much as possible, configure virtual disks with disks that have similar performance characteristics. Disks with different performance characteristics can be configured together, but the performance of the virtual disk will be limited by the slowest disk in the configuration.

Number of host controllers

Generally, the more host controllers in the system, the better. Try to distribute disks evenly across host adapters in configurations where data striping will be used extensively.

Host adapter caching

In general, the less random the I/O, the greater the benefits of caching. If random access data availability is more important than the performance benefits of host adapter caching, you may not need a caching host adapter.

Amount of system memory

The virtual disk driver uses system memory to manage the configured virtual disks. The more RAID 1, 4, and 5 virtual disks are configured, the more memory the system requires. On a lightly loaded system with few virtual disks, approximately 500KB is needed; on a fully configured, busy server an extra megabyte of memory is required.

Stripe width of a virtual disk

Increasing the stripe width (number of disks) of an array generally increases I/O performance.

Cluster size

Cluster size is the parameter that has the most impact on performance of array systems (RAID 0, RAID 4, or RAID 5). Improperly matched I/O and cluster sizes can adversely affect performance. When selecting a cluster size, the Virtual Disk Manager offers you some typical figures. These are approximations based on tested results, but may not be ideal for all applications. Performance may vary due to pattern of I/O and read versus write percentage.

Next topic: Performance and reliability requirements
Previous topic: Planning your system layout with virtual disks

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003