14.2 Planning for a Software RAID Device

14.2.1 General Guidelines for Software RAID Devices

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 Novell 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.

14.2.2 Guidelines for Software RAID 1 Devices

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 Novell 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.

14.2.3 Drive Restrictions for NSS Software RAID 0, 1 and 5 Devices

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.

14.2.4 Choosing a Software RAID Solution

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 8 TB for NSS32 and 8 EB for NSS64, RAID1 sizes for pool objects are also limited to 8 TB or 8 EB depending on the pool type.

14.2.5 Determining the Partition Size

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 8 TB for NSS32 and 8 EB for NSS64, RAID1 sizes for pool objects are also limited to 8 TB or 8 EB depending on the pool type.

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.

14.2.6 Determining the Number of Partitions

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.15, Replacing a Failed Segment in a Software RAID.

14.2.7 Determining the Stripe Size for RAID 0 and RAID 5

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.