NAME

IBM::StorageSystem::Array - Class for operations with a IBM StorageSystem array

VERSION

Version 0.01

SYNOPSIS

IBM::StorageSystem::Array is a utility class for operations with a IBM StorageSystem array.

        use IBM::StorageSystem;
        
        my $ibm = IBM::StorageSystem->new(      user            => 'admin',
                                        host            => 'my-v7000',
                                        key_path        => '/path/to/my/.ssh/private_key'
                                ) or die "Couldn't create object! $!\n";

        # Get array 2 as an IBM::StorageSystem::Array object
	my $array = $ibm->array( 2 );
	
	# Print the array capacity
	print $array->capacity;

	# Print the array RAID level
	print $array->raid_level;

	# Alternately -	print $ibm->array( 2 )->raid_level

	# Print the array status of all arrays in our system
	map { print "Array ", $_->mdisk_id, " status ", $_->status, "\n" } $ibm->get_arrays;

METHODS

UID

Returns the array UID.

active_WWPN

Returns the array active WWPN.

balanced

Describes if the array is balanced to its spare goals:

  • exact - All populated members have exact capability match, exact location match.

  • yes - All populated members have at least exact capability match, exact chain, or different enclosure or slot.

  • no - Anything else.

block_size

Returns the array block size 512 bytes (or blank) in each block of storage.

capacity

Returns the array capacity in bytes.

controller_id

Returns the array controller id.

controller_name

Returns the array controller name.

ctrl_LUN_no

Returns the control LUN number.

ctrl_WWNN

Returns the control LUN WWNN.

ctrl_type

Returns the array control type - either 4 or 6, where 6 is a solid-state drive (SSD) attached inside a node and 4 is any other device.

This value may be null for Unified systems.

fast_write_state

Returns the array fast write state.

max_path_count

Returns the array maximum path count.

mdisk_grp_id

Returns the array MDisk group IO identity.

mdisk_grp_name

Returns the array MDisk group name.

mdisk_id

Returns the identity of the array MDisk.

mdisk_name

Returns the array MDisk name.

mode

Returns the array mode; either unmanaged, managed, image or array.

path_count

Returns the array path count.

preferred_WWPN

Returns the array preferred WWPN.

quorum_index

Returns the array quorum index; 0, 1, 2, or blank if the MDisk is not being used as a quorum disk.

raid_level

Returns the RAID level of the array (RAID0, RAID1, RAID5, RAID6, RAID10).

raid_status

Returns the array RAID status:

  • offline - the array is offline on all nodes.

  • degraded - the array has deconfigured or offline members; the array is not fully redundant.

  • syncing - array members are all online, the array is syncing parity or mirrors to achieve redundancy.

  • initting - array members are all online, the array is initializing; the array is fully redundant.

  • online - array members are all online, and the array is fully redundant

redundancy

Returns the number of member disk that can fail before the array fails.

spare_goal

Returns the number of spares that array members should be protected by.

spare_protection_min

Returns the minimum number of spares that an array member is protected by.

status

Returns the array status; either online, offline, excluded or degraded.

strip_size

Returns the array strip size in KB.

tier

Returns the tier that the MDisk has been assigned to by auto-detection (for internal arrays) or by the user. Either generic_ssd or generic_hdd.

AUTHOR

Luke Poskitt, <ltp at cpan.org>

BUGS

Please report any bugs or feature requests to bug-ibm-v7000-array at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=IBM-StorageSystem-Array. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc IBM::StorageSystem::Array

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2012 Luke Poskitt.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.