Technical Blog Post
Abstract
Creating a RAID disk array on PowerLinux
Body
The PowerLinux machines support a RAID (Redundant Array of Independent Disks) card. A RAID card is a device that combines a set of physical disks into a logical unit to achieve a better performance and more data redundancy. A RAID array could also be created by the operating system (known as Software-based RAID), and it consumes some CPU cycles from the machine to manage and control the disk array. On the other side, a RAID card, as the one embedded on PowerLinux machines, offers a Hardware-based RAID, meaning that the operations on the disk array are offloaded to the RAID card, not utilizing CPU cycles managing the disks, thus, being more efficient than Software-based RAID solutions.
The RAID adapters on PowerLinux machines support several different RAID protection levels. Depending of the protection level, you might have different benefits, as potentially achieving a higher data transfer, a smaller latency and data redundancy when compared to a single big disk. You might also want to combine these benefits all together in the same disk array, which is also a possible depending on the RAID protection level.
-
RAID 0: On this configuration, a block of data is striped in different disks on the array, so, the read/write operations on the disks could happen in parallel on the disks in the array. On this configuration, there is no fault tolerance i.e., if a disk fail, the whole data is lost. This level usually improves the data throughput.
-
Requires at least 1 disk. In a single disk RAID 0 configuration, no striping occurs.
-
Requires at least 1 disk. In a single disk RAID 0 configuration, no striping occurs.
-
RAID 1: On this level, the data is written at the same time on 2 disks. As both disks have the same data, a read operation will occur on the disks that has the smaller latency. On this case, if one disk fails, the whole data will continue be preserved on the other disk. Once the other disk is replaced, the RAID would be reconstructed. As expected, this level improves the data redundancy.
- Requires at least 2 disks. Note: The PowerLinux RAID adapters refer to this RAID level as RAID 10.
-
RAID 5: On this level, the data and parity bits are spread all across the disks. If one disk fails, then all the data is still available, once the original data could be reconstructed using parity data from the other disks. If more than one disk fails, then the data will be corrupted. (If a disks fail happen, the operations may happen in a slower fashion, since the data being accessed is on the lost disk, then the data will need to be reconstructed.). One disk's worth of capacity is consumed for redundancy information for the array.
- Requires at least 3 disks.
-
RAID 6: The same as RAID 5, but up to 2 disk can fail, and the data will still be preserved. Two disk's worth of capacity is consumed for redundancy information for the array.
- Requires at least 4 disks.
-
RAID 10: This level combines the best concepts of RAID 1 and RAID 0. On RAID 10, the data is striped on a set of hard disks, and these hard disks are mirror to another set of hard disks. So, you have a very good throughput and also a data redundancy.
- Requires at least 2 disks for mirroring and striping. In a two disk RAID 10 configuration, no striping occurs.
RAID card on PowerLinux
On Linux, the device is listed as a PCI-E device named "IBM Obsidian-E PCI-E SCSI controller ".
The device driver
Using iprconfig tool
# iprconfig -c query-supported-raid-levels sg5
0 5 10 6
- Launch the iprconfig tool on a console.
-
Select the menu Work with disk array (as shown in Figure 1)
- In order to do it, press 2 and then enter.
-
Select Format device for RAID function
-
In order to do it, press 5 and then enter.
-
-
Then select the disks you want to format (all of those that are going to take part of the disk array) and continue. (As shown in figure 2)
- In order to select the disks, you must use the up/down arrows, and press 1 to select the devices you want to select.
- Wait until the disks are formatted as shown in Figure 3. (It takes some minutes until the disks are formatted.)
- Launch the iprconfig tool.
- Select Work with disk arrays, as shown in Figure 1.
- Select Create a disk array.
- Select the controller you want (You might have just one controller), as shown in Figure 4.
-
Select the disk that will be part of the array, as shown in Figure 5
- Press '1' over the disks you want to select.
-
Select the RAID type, as shown in Figure 6.
- Go into the Protect Level and press 'c' to change the RAID level.
-
Select the disks that will take part of that disk array
- It may take a while to have the array created.
Once you had the RAID array created, it becomes a block device as any other block device on the system. You can create a partition on the device, make a file system on it, and start using. The next steps will help you to create a partition and a file system on the array partition. On this tutorial, I will create just one partition using the whole array and format it using EXT4 file system, as shown below:

UID
ibm16171393


