13.2 Planning for a Software RAID Device

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.

13.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 13-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 on Linux).

  • 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 0 or 5 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.

13.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 NetWare 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.

13.2.3 Drive Restrictions for NSS Software RAID 0 and 1 Devices

When you create or expand an NSS software RAID device on Linux, 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.

If your boot and system partitions are on drives managed by LVM, the drives are not eligible to contribute space to the software RAID.

If the boot and system partitions are on drives managed by EVMS, the drives might appear in the list of available devices if they contain enough space. Do not specify space from those drives as segments for the NSS software RAID device you are creating or expanding.

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

Table 13-2 RAID Performance Characteristics

Requirement

RAID 0

RAID 1

RAID 5

RAID 0+1

RAID 5+1

NSS on Linux

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

1 to 116 characters (iManager)

1 to 15 characters (NSSMU)

1 to 80 characters (iManager)

1 to 15 characters (NSSMU)

1 to 116 characters (iManager)

1 to 15 characters (NSSMU)

2 to 80 characters (iManager)

1 to 15 characters (NSSMU)

2 to 80 characters (iManager)

1 to 15 characters (NSSMU)

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

Maximum RAID size (total for combined segments)

2 TB

2 TB

2 TB

2 TB

2 TB

Minimum segment size

12 MB

12 MB

12 MB

12 MB

12 MB

13.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 the same size.

The size of physical and logical devices used for NSS and Traditional file systems cannot exceed 2 TB (1 TB = 2E40 bytes). For example, when using two segments to create a RAID 0, the maximum partition size of each member segment is 1 TB. For a RAID 1, each segment is a mirror, so the maximum size of each segment is 2 TB.

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.

13.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 (2 TB) 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, or until you reach the maximum device size of 2 TB.

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

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