NAME
IBM::StorageSystem::Drive - Class for operations with a IBM StorageSystem drive
VERSION
Version 0.01
SYNOPSIS
IBM::StorageSystem::Drive is a utility class for operations with a IBM StorageSystem drive.
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 drive ID 2 as an IBM::StorageSystem::Drive object - note that drive ID 2
# is not necessarily the physical disk in slot ID 2 - see notes below.
my $drive = $ibm->drive( 2 );
# Print the drive capacity in bytes
print $drive->capacity;
# Print the drive vendor and product IDs
print "Vendor ID: ", $drive->vendor_id, " - Product ID: ", $drive->product_id, "\n";
# Print the SAS port status and drive status for all drives in a nicely formatted list
printf("%-20s%-20s%-20s%-20s\n", 'Drive', 'SAS Port 1 Status', 'SAS Port 2 Status', 'Status');
printf("%-20s%-20s%-20s%-20s\n", '-'x18, '-'x18, '-'x18, '-'x18);
map { printf( "%-20s%-20s%-20s%-20s\n", $_->id, $_->port_1_status, $_->port_2_status, $_->status) } $ibm->get_drives;
# e.g.
# Drive SAS Port 1 Status SAS Port 2 Status Status
# ------------------ ------------------ ------------------ ------------------
# 0 online online online
# 1 online online online
# 2 online online online
# 3 online online online
# ...
# Print the drive ID, slot ID, MDisk name and member ID of all drives
foreach my $drive ( $ibm->get_drives ) {
print '-'x50, "\n";
print "Drive ID : " . $drive->id . "\n";
print "Slot ID : " . $drive->slot_id . "\n";
print "MDisk ID : " . $drive->mdisk_name . "\n";
print "Member ID : " . $drive->member_id . "\n";
}
# e.g.
# --------------------------------------------------
# Drive ID : 0
# Slot ID : 17
# MDisk ID : host-9
# Member ID : 3
# --------------------------------------------------
# Drive ID : 1
# Slot ID : 19
# MDisk ID : host-2
# Member ID : 11
# --------------------------------------------------
# Drive ID : 2
# Slot ID : 19
# MDisk ID : host-1
# Member ID : 8
# --------------------------------------------------
# ... etc.
METHODS
FPGA_level
Returns the Field Programmable Gate Array (FPGA) level of the drive.
FRU_identity
Returns Field Replacable Unit (FRU) identity number of the drive.
FRU_part_number
Returns FRU part number of the drive.
RPM
Returns the Revolutions Per Minute (RPM) spindle rating of the drive.
UID
Returns Unique Identifier (UID) of the drive.
block_size
Returns drive block size.
capacity
Returns the drive capacity in bytes.
enclosure_id
Returns the ID of the enclosure in which the drive is physically located.
error_sequence_number
Returns the most recent error sequence number (if any).
firmware_level
Returns the drive firmware level.
id
Returns the drive ID (see NOTES section).
mdisk_id
Returns the mdisk ID number of which this drive is a member.
mdisk_name
Returns the mdisk name of which this drive is a member.
member_id
Returns the drive MDisk member ID number.
node_id
Returns the drive node ID.
node_name
Returns the drive node name.
port_1_status
Returns the drive SAS port 1 status.
port_2_status
Returns the drive SAS port 2 status.
product_id
Returns the drive product ID.
quorum_id
Returns the drive quorum ID.
slot_id
Returns the drive slot ID (see the NOTES section).
status
Returns the drive status.
tech_type
Returns the drive technical type.
use
Returns the drive use type.
vendor_id
Returns the drive vendor ID.
NOTES
Note that the drive ID is not equivalent to the slot ID - the slot ID identifies the physical enclosure slot in which the drive is located whereas the drive ID is used to uniquely identify the drive within the context of the StorageSystem system.
The member ID is used to identify the drive within the context of the MDisk of which it is a member.
AUTHOR
Luke Poskitt, <ltp at cpan.org>
BUGS
Please report any bugs or feature requests to bug-ibm-v7000-drive at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=IBM-StorageSystem-Drive. 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::Drive
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
http://rt.cpan.org/NoAuth/Bugs.html?Dist=IBM-StorageSystem-Drive
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2013 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.