Adding Disk Space to an Array on a Dell PERC using AFACLI

Adding Disk Space to an Array on a Dell PERC using AFACLI

This blog describes the commands necessary to add a disk to existing RAID V array in the case where you have an empty available slot where you can add a disk.
The actual manual for afacli can be found here:
http://docs.us.dell.com/support/edocs/storage/57kgr/cli/en/index.htm

Accessing the CLI from the UNIX Prompt

To access the CLI from the UNIX prompt, display a window and type afacli in any directory. The system displays the FASTCMD> prompt, which indicates you can now use CLI commands. The path in the startup file (.login or .cshrc) must include the directory where the software is installed for the command to work in any directory. See your UNIX documentation for information on setting up directory paths in the .login and .cshrc files.

To view all controllers use €˜controller list€™
To connect to the controller with the command line utility, execute:

FASTCMD> open afa0

AFA0>

To show the status of all disks in all arrays and get an overview of the disks in the RAID, execute €˜enclosure show status€™.

AFA0> enclosure show status

Executing: enclosure show status

Enclosure
ID (B:ID:L) UpTime D:H:M   PowerCycle Interval Door     Alarm
———– ————– ———- ——– ——– —–
0  0:06:0         0:00:00        0       10   UNLOCKED OFF

Enclosure
ID (B:ID:L) Fan Status
———– — ————-

Enclosure
ID (B:ID:L) Power State        Status
———– —– ———— ——-

Enclosure
ID (B:ID:L) Slot scsiId Insert  Status
———– —- —— ——- ——————————————
0  0:06:0   0   0:00:0     1   OK ACTIVATE
0  0:06:0   1   0:01:0     1   OK ACTIVATE
0  0:06:0   2   0:02:0     1   OK ACTIVATE
0  0:06:0   3   0:03:0     1   OK ACTIVATE
0  0:06:0   4   0:255:0     0   OK UNCONFIG EMPTY I/R READY NOTACTIVATE

Enclosure
ID (B:ID:L) Sensor Temperature Threshold Status
———– —— ———– ——— ——–
0  0:06:0   0       73 F         120    NORMAL
0  0:06:0   1       69 F         120    NORMAL

Above, there is no disk in slot 4, insert the disk again and execute the command again to see it again.

AFA0> enclosure show status
Executing: enclosure show status

Enclosure
ID (B:ID:L) UpTime D:H:M   PowerCycle Interval Door     Alarm
———– ————– ———- ——– ——– —–
0  0:06:0         0:00:00        0       10   UNLOCKED OFF

Enclosure
ID (B:ID:L) Fan Status
———– — ————-

Enclosure
ID (B:ID:L) Power State        Status
———– —– ———— ——-

Enclosure
ID (B:ID:L) Slot scsiId Insert  Status
———– —- —— ——- ——————————————
0  0:06:0   0   0:00:0     1   OK ACTIVATE
0  0:06:0   1   0:01:0     1   OK ACTIVATE
0  0:06:0   2   0:02:0     1   OK ACTIVATE
0  0:06:0   3   0:03:0     1   OK ACTIVATE
0  0:06:0   4   0:04:0     1   OK UNCONFIG ACTIVATE

Enclosure
ID (B:ID:L) Sensor Temperature Threshold Status
———– —— ———– ——— ——–
0  0:06:0   0       73 F         120    NORMAL
0  0:06:0   1       73 F         120    NORMAL

You can see that the disk in slot 4 is waiting to be configured.  lets take a look at the RAID V container that we are going to add the new disk to,  execute “container list”

AFA0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
—– —— —— — —— ——- —— ————-
0    RAID-5  101GB       64KB Valid   0:00:0 64.0KB:33.8GB
/dev/sda                                         0:01:0 64.0KB:33.8GB
0:02:0 64.0KB:33.8GB
0:03:0 64.0KB:33.8GB

Even though it is visible in the enclosure list above,  you will need to execute a “controller rescan” to find the new disk.

AFA0> controller rescan
Executing: controller rescan

Now initialize the disk so it can be used.

AFA0> disk initialize 4
Executing: disk initialize (ID=4)

Finally you can add the disk to the container,  you will simply run the container reconfigure command with the container number (in our case 0) and the device number (in our case 4)

AFA0> container reconfigure 0 4
Executing: container reconfigure 0 (ID=4)

Now, wait for the disk to rebuild. You can view the rebuild process with €˜task list€™.

AFA0> task list
Executing: task list

Controller Tasks

TaskId Function  Done%  Container State Specific1 Specific2
—— ——– ——- ——— —– ——— ———
101   Reconfg   8.4%      0      RUN   00000000  00000000

Also while adding a new disk to this array I found that the existing array was only  using 25.6 GB of each disk and not the full 36 GB

I issued a “container reconfigure” command to utilize the more space on each disk

AFA0>  container reconfigure /partition_size=36388763000 0
Executing: container reconfigure /partition_size=36,388,763,000  0