Formatting disks and clearing RAID config on Power systems with iprutils

I recently put some spare disks into a Power S814 server, and when I tried installing an OS, be it VIOS or Debian, it would say that there were no disks available to install onto.

It turns out that the RAID configuration on the controller and the disks didn’t match. This is par for the course with any RAID controller, even in the x86 world. It also didn’t help that some of the disks were formatted for IBM i, which uses non-512-byte block disks. We need to use the vendor utility to clear out the RAID config, and format the disks to be usable by commodity operating systems.

The two utilities IBM provides for this are either the diagnostics on the AIX Standalone Diagnostics disc, or using the iprutils set of software. Since netbooting Linux was easier as I don’t have a NIM server, I’m choosing to do the latter here.

Installing iprutils

This should be in the repository of most distributions. Since I’m using Alpine here, I just had to add the community repository, and then apk add iprutils.

Formatting the disks

The iprconfig command provides a smit-style menu to manage the RAID controller, as shown below.

                      IBM Power RAID Configuration Utility


Select one of the following:

    1. Display hardware status
    2. Work with disk arrays
    3. Work with disk unit recovery
    4. Work with configuration options
    5. Work with microcode updates
    6. Devices Statistics
    7. Analyze log


Selection:







e=Exit

If you poke around in “display hardware status”, you’ll probably find that the controller is horribly confused about the state of the disks. The “disk array status” under “work with disk arrays” will also probably show a nonsense array configuration.

"Display Hardware Status" showing a very confused array set.
"Display Disk Array Status" showing a very confused array set.

If we go back to the main menu, we want the options for “disk unit recovery”. Select that, and you’ll get another list of options.

                          Work with Disk Unit Recovery


Select one of the following:

    1. Concurrent add device
    2. Concurrent remove device
    3. Initialize and format disk
    4. Reclaim IOA cache storage
    5. Rebuild disk unit data
    6. Force RAID Consistency Check
    7. Work with resources containing cache battery packs
    8. Display SAS path status
    9. Work with disk enclosures


Selection:





e=Exit   q=Cancel

We want “initialize and format disk”. Select that, and you’ll get a list of disks to format. (In my screenshot, I’ve formatted the drives already.)

                     Select Disks for Initialize and Format

Type option, press Enter.
  1=Select

OPT Name   Resource Path/Address      Vendor   Product ID          Status
--- ------ -------------------------- -------- ------------------- -------------
           00-0C-00                   IBM      ST300MP0005         Zeroed
           00-0C-03                   IBM      AL14SEB060N         Zeroed
           00-0C-02                   IBM      ST300MP0005         Zeroed
           00-0C-01                   IBM      ST300MP0005         Zeroed











e=Exit   q=Cancel   t=Toggle

Select all the disks (or just a few, if you know what you need to format) by typing 1 in each row, and confirm if needed. It took me about an hour to format three 300 GB disks and a single 600 GB disk.

After formatting, I’ve found I didn’t need to do anything such like “rebuild disk unit data”, and the array config already cleared out.

Building an array

Now that the disks are formatted, let’s make an disk array (or multiple if you choose). From the main menu, select “work with disk arrays”.

                              Work with Disk Arrays


Select one of the following:

    1. Display disk array status
    2. Create a disk array
    3. Delete a disk array
    4. Add a device to a disk array
    5. Format device for RAID function
    6. Format device for JBOD function
    7. Work with hot spares
    8. Work with asymmetric access
    9. Force RAID Consistency Check
    0. Migrate disk array protection


Selection:




e=Exit   q=Cancel

Select “create a disk array”.

                               Create a Disk Array

Select the adapter.

Type choice, press Enter.
  1=create a disk array

OPT Name   Resource Path/Address      Vendor   Product ID          Status
--- ------ -------------------------- -------- ------------------- -------------
           FE                         IBM      57D8001SISIOA       Operational












e=Exit   q=Cancel   t=Toggle

Select the adapter you want to use with 1.

                        Select Disk Units for Disk Array

Type option, press Enter.
  1=Select

OPT Name   Resource Path/Address      Vendor   Product ID          Status
--- ------ -------------------------- -------- ------------------- -------------
           00-0C-00                   IBM      ST300MP0005         Zeroed
           00-0C-03                   IBM      AL14SEB060N         Zeroed
           00-0C-02                   IBM      ST300MP0005         Zeroed
           00-0C-01                   IBM      ST300MP0005         Zeroed











e=Exit   q=Cancel   t=Toggle

Select the disks you want by entering 1 in the rows, then press Enter. You should see the array options, like configuring striping.

                    Select Protection Level and Stripe Size

 Default array configurations are shown.  To change
 setting hit "c" for options menu.  Highlight desired
 option then hit Enter

 c=Change Setting

Protection Level . . . . . . . . . . . . :  RAID 0
Stripe Size  . . . . . . . . . . . . . . :  256 k
Queue Depth (default =  16)(max = 128) . :  16









Press Enter to Continue

e=Exit   q=Cancel

Change things if you want, then press enter. It’ll ask to confirm your choice, and do so if it looks correct. Creating the array is fast, at least for smaller arrays. If you mess up, you can always delete the array from the menu and try again.

Ending notes

If you look in “display disk array status”, you’ll notice two devices for each array you’ve made, depending on what hardware you have.

                            Display Disk Array Status

Type option, press Enter.
  1=Display hardware resource information details

OPT Name   PCI/SCSI Location          Description                  Status
--- ------ -------------------------  ---------------------------- -------------
    sdb    001f:90:00.0/2:2:0:0       RAID 0 Array                 Non-Optimized
           001f:90:00.0/2:0:7:0         RAID 0 Array Member        Remote
    sdd    001f:90:00.0/2:2:1:0       RAID 5 Array                 Non-Optimized
           001f:90:00.0/2:0:5:0         RAID 5 Array Member        Remote
           001f:90:00.0/2:0:4:0         RAID 5 Array Member        Remote
           001f:90:00.0/2:0:6:0         RAID 5 Array Member        Remote
    sdc    0015:70:00.0/1:2:1:0       RAID 5 Array                 Optimized
           0015:70:00.0/1:0:0:0         RAID 5 Array Member        Active
           0015:70:00.0/1:0:2:0         RAID 5 Array Member        Active
           0015:70:00.0/1:0:1:0         RAID 5 Array Member        Active
    sda    0015:70:00.0/1:2:0:0       RAID 0 Array                 Optimized
           0015:70:00.0/1:0:3:0         RAID 0 Array Member        Active



e=Exit   q=Cancel   r=Refresh   t=Toggle

This refers to “asymmetric access“, and is for multipath disk access with multiple controllers. One of these paths is direct and faster, and the redundancy exists for high availability. You’ll notice “display hardware status” shows the non-optimized array as having remote members.

iprconfig can also do other things, like add disks to an array, or set up JBOD mode or disks or controllers.

One thought on “Formatting disks and clearing RAID config on Power systems with iprutils

Leave a Reply

Your email address will not be published. Required fields are marked *