"The command cannot be initiated because there is insufficient free memory that is available to the I/O group"
Which confused me as at this point I wasn't assigning the raid sets to Pools or Volumes, just purely trying to create some new raid sets.
Digging around, the IBM docs don't give a lot of clues on how to fix this other than to "increase the amount of memory that is allocated to the I/O group".
Looking at the config on the array (and you'll need to delve in by ssh to do this), there are 5 pre-defined I/O groups:
id name node_count vdisk_count host_count
0 io_grp0 2 21 2
1 io_grp1 0 0 0
2 io_grp2 0 0 0
3 io_grp3 0 0 0
4 recovery_io_grp 0 0 0
And by default we see that they are using 40MB memory for RAID services:
>lsiogrp -delim : 0
I had to increate the raid_total_memory to 80MB before I could create the new RAID sets (something smaller would have probably done but I was in a hurry!). You do this with:
>chiogrp -feature raid -size 80 io_grp0
This got me thinking, this memory is carved out of the cache available on the system, and as I'm not using flash copy, remote copy and mirroring, or I/O groups 1/2/3, can I reclaim this memory? Well the answer appears to be yes:
>chiogrp -feature remote -size 0 io_grp0
>chiogrp -feature flash -size 0 io_grp0
>chiogrp -feature mirror -size 0 io_grp0
(and repeat for the other unused I/O groups)