Before you create your software RAID device, you must evaluate your storage requirements and determine which RAID solution best fits your performance and fault tolerance needs.
To set up a RAID device, you allocate free space from any of your physical storage devices. NSS transparently presents the allocated free space as virtual partitions that represent NSS-managed physical partition areas on the participating drives. These partitions are the basic elements of a software RAID device. How you allocate each of the partitions to pools depends on the nature of the pools (shared or not shared for clustering) and the type of RAID device it is.
As an example, the RAID 0 device, illustrated in the following figure, consists of three RAID partitions. It stripes data across three physical drives. The stripes are written and read in the order designated.
Figure 14-1 Striping Data on a Software RAID 0 Device
Consider the following general guidelines when creating a software RAID device:
Each partition in the RAID configuration should come from a different device. NSS lets you obtain RAID partitions from the same device, but this severely impedes the performance of your file system.
Do not use space from a drive that contains your system partition (such as the root (/) or /boot partitions).
You can use any combination of IDE or SCSI devices in a software RAID device. Make sure these devices have similar performance characteristics; otherwise, your performance might decrease.
In a clustered solution using OES Cluster Services, for software RAIDs on shared disks:
You can have only one pool associated with that RAID device.
You must create an NSS pool and volume on that RAID device from the same server node before the pool can be migrated to other nodes in the cluster.
The following is a list of requirements for mirroring partitions with software RAID 1 devices:
Mirrored partitions must have the same partition type: NSS partitions to NSS partitions and Traditional partitions to Traditional partitions.
Mirrored partitions should be set up on devices that have similar performance thresholds.
You can mirror only partitions, each from its own OES partition. If a storage pool spans multiple devices, each of the individual partitions that make up that pool can be mirrored independently. All of the pool’s partitions must be mirrored in order for the data in that pool to be fault tolerant.
You cannot combine mirror groups (existing groups with multiple mirrored partitions). A mirror group is expanded by adding a partition from your free space but not by adding an existing mirror group to the current group.
All of the devices that participate in a mirror must be marked a shared or not shared for clustering for each mirror group.
Avoid setting up multiple mirror groups on a single device. Such configuration heavily degrades the performance of the file system.
To mirror software RAID 0 devices, the member devices must have no drives in common.
When you create or expand an NSS software RAID device, do not use space from the drive that contains your boot partition or system partition. In a worst-case scenario, you might need to reinitialize a drive if the partition in the RAID failed.
WARNING:Reinitializing a drive destroys its contents.
When choosing a software RAID solution, determine whether you need to address file system performance, data fault tolerance, or both. The following table highlights the key data fault tolerance, performance, and configuration issues associated with each RAID type.
NOTE:Using iSCSI devices on the iSCSI initiator server to create NSS software RAID5 devices can cause poor performance. If you would like RAID5 protection, create the RAID5 on the target server and present that RAID device to the initiator as a single iSCSI device.
Table 14-2 RAID Performance Characteristics
Requirement |
RAID 0 |
RAID 1 |
RAID 5 |
RAID 0+1 |
RAID 5+1 |
---|---|---|---|---|---|
NSS |
Yes, for data volumes only |
Yes, for data volumes only |
Yes, for data volumes only |
Yes, for data volumes only |
Yes, for data volumes only |
Data fault-tolerance |
No |
Redundancy |
Parity |
Redundancy |
Redundancy and parity |
Read I/O performance |
Best improved (parallel reads) |
Improved if parallel channels to each mirror |
Improved, if all segments are present and working properly |
Improved, with RAID 0 read advantage |
Improved if parallel channels to each mirror, with RAID 5 read advantage |
Write I/O performance |
Best improved (parallel writes) |
Same if parallel channels; otherwise, slightly decreased |
Somewhat decreased by parity calculation |
Slightly improved, depending on channel configuration |
Somewhat decreased, depending on channel configuration and parity calculations |
Valid names For more information on guidelines, see Section 6.4, Naming NSS Storage Objects. |
2 to 15 characters (NSSMU) 2 to 58 characters (iManager) |
2 to 15 characters (NSSMU) 2 to 58 characters (iManager) |
2 to 15 characters (NSSMU) 2 to 58 characters (iManager) |
2 to 15 characters (NSSMU) 2 to 58 characters (iManager) |
2 to 15 characters (NSSMU) 2 to 58 characters (iManager) |
Number of segments |
2 to 14 |
2 to 4 |
3 to 14 |
Mirror 2 to 4 software RAID 0 devices |
Mirror 2 to 4 software RAID 5 devices |
Maximum RAID size (total for combined segments) |
2 TB |
2 TB |
2 TB |
2 TB |
2 TB |
Maximum segment size |
1 TB, if 2 segments |
2 TB for each mirror |
0.66 TB, if 3 segments |
2 TB for each mirror |
0.66 TB, if 3 segments |
Minimum segment size |
12 MB |
12 MB |
12 MB |
12 MB |
12 MB |
NOTE:The Maximum segment size and Maximum RAID size values correspond only to DOS partitioned devices. If all devices are using GPT, the size limits are removed. Since pools are currently limited to 8TB, RAID1 sizes for pool objects are also limited to 8TB.
The space that a member device contributes to a software RAID is called a partition or segment. Each physical device should contribute only one partition to the RAID; otherwise, it negates the benefits of the RAID. A software RAID device can contain only one partition per device. All member partitions in a software RAID device must be of the same size.
If any one device that you use to create a software RAID is partitioned using the DOS partition table scheme, a RAID segment size can be only up to 2TB (where 1 TB = 2E40 bytes). This is necessary because all segments of a RAID must be of the same size. If all devices are using GPT, a RAID segment size can be more than 2 TB. Since pools are currently limited to 8TB, RAID1 sizes for pool objects are also limited to 8TB.
The capacity of the RAID device depends on the RAID type and the number of member partitions:
RAID 0: Capacity equals the number of partitions times the partition size.
RAID 1: Capacity equals one partition size.
RAID 5: Capacity equals the number of partitions minus one, times the partition size.
RAID 0+1: Capacity equals one partition size of space taken from the RAID 0; it is not limited to the partition size of partitions in the RAID 0 itself.
RAID 5+1: Capacity equals one partition size of space taken from the RAID 5; it is not limited to the partition size of partitions in the RAID 5 itself.
Each software RAID device comprises multiple partitions. You must specify at least the minimum number of partitions to create the type of RAID you choose. The maximum number of partitions is limited by the maximum number supported by that RAID type and the maximum device size that can be seen by NSS and Traditional file systems.
After you set up the software RAID device, you can increase its size by adding segments. In iManager, click Storage > Software RAIDs > Increase Size, and then add segments up to the maximum number of segments for each type of RAID.
You cannot remove segments in a RAID device to decrease its size. In general, to reduce the size of a RAID device: Back up its data, delete the RAID, re-create the RAID with a smaller segment size or fewer segments, and then restore its data from the backup copy.
For some RAIDs, you can replace a failed partition by removing the segment from the RAID, replacing the failed disk, and then adding a segment to the RAID to replace the failed one. For information, see Section 14.7, Replacing a Failed Segment in a Software RAID using NSSMU.
In RAID 0 and RAID 5 configurations, NSS writes data to each member device in turn. The maximum amount of data (in KB) committed to each write to a partition is called a stripe. Striping is unrelated to file block sizes that you might set on your storage device.
Set the stripe size in increments of powers of two, between 4 KB and 256 KB (4, 16, 32, 64, 128, 256). The default stripe size is 64 KB.
To maximize performance of the RAID, set the stripe size to correspond with your typical data write requirements. In general, use smaller stripe sizes for data servers and medium-to-large sizes for file servers. For most implementations, 64 KB provides the best performance.