Wednesday, 17 June 2015

Tweaking v3700 memory

I was doing some work on one of our v3700 arrays today creating a bunch of new RAID sets and got back the message:

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

>lsiogrp
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
id:0
name:io_grp0
node_count:2
vdisk_count:21
host_count:2
flash_copy_total_memory:20.0MB
flash_copy_free_memory:20.0MB
remote_copy_total_memory:20.0MB
remote_copy_free_memory:20.0MB
mirroring_total_memory:20.0MB
mirroring_free_memory:20.0MB
raid_total_memory:40.0MB
raid_free_memory:33.7MB
maintenance:no
compression_active:no
accessible_vdisk_count:21
compression_supported:no
max_enclosures:10
encryption_supported:no

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)

No comments:

Post a Comment