Equallogic Configuration Reporting Powershell Script

January 18, 2011 — 1 Comment

I have been working on this script on and off for a couple of weeks, the plan was to get my head around the new Equallogic Powershell tools and create a configuration dump that could be used to assist with documenting / analysing an Equallogics configurations. I also used this as a point to have a play with SAPIEN Technologies PrimalForms (Community Edition).

I have created a script which is linked to below. Please be aware this is currently a beta and I am looking for as much feedback on this as possible. The script will display a GUI to allow you to type the connectivity information

image

The script will check for the existence of the HIT Kit 3.5 or higher, if it is not present it will alert you.

image

The script checks for the existence of a folder called EqlReports on the root of the C: drive, if it doesn’t exist it will create it. The report once created it named GroupName-Report-Date. So if you are testing the same SAN on the same day you will need to rename the files.

The final report is a HTML based report and will look something like this.

image

It includes, group, replication, member, volume, volume acl, snapshot and schedule information. Currently the IP’s are displayed in IPV6 but in v2 I will add the IPV6 conversion.

The main Powershell one liners that are used are as below.

Group Configuration

Get-EqlGroupConfiguration | select groupname, groupaddress, grouptimezone,
 groupdescription, smtpservers, grouplocation, ntpservers 

Replication Parther

Get-EqlReplicationPartner | select partnername, partneripaddress, 
partnerdescription, primarygroup, delegatedspacemb, replicationstatus |
 ConvertTo-Html -pre "<h1>Replication Partner</h1> "  -Fragment

Member Information

get-eqlmember | select membername, memberdescription, firmwareversion, 
defaultgateway, storagepoolname, raidtype, raidstatus, totalspacemb, 
freespacemb | ConvertTo-Html -pre "<h1>Member Information</h1> " -Fragment

Volume Information

get-eqlvolume | select volumename, volumesizeMB, StoragePoolName, 
ThinProvision, onlinestatus, volumedescription, snapshotreservepercent, 
replicareserveinuseMB, snapshotcount | ConvertTo-Html 
-pre "<h1>Volume Information</h1> "  -Fragment

Volume ACL Information

get-eqlvolume | get-eqlvolumeacl | select volumename, initiatorname,
 username, initiatoripaddress, acltargettype | ConvertTo-Html 
-pre "<h1>Volume ACL Information</h1> "  -Fragment

Snapshot Information

get-eqlvolume | get-eqlsnapshot | select volumename, snapshotname, 
snapshotsizemb, onlinestatus, creationtimestamp | ConvertTo-Html
-pre "<h1>Snapshot Information</h1> "  -Fragment

 

Finally a bit more indepth was the schedule information, I only wanted the data for volumes with schedules, otherwise you got nasty blank information with only titles. Big thanks must goto @virtualportal Steve Bryenn http://virtual-portal.com for assisting me with this code

 $sched = @()
 $volumes = get-eqlvolume 
 foreach ($volume in $volumes)
 {
     $schedules = $volume | get-eqlschedule
     if ($schedules.volumename -ne $null)
      {
     $sched_report = $schedules | SELECT volumename,schedulename,  
schedulestatus, scheduletype, startdate, starttime, enddate, endtime,  
repeatfactor, timefrequency, keepcount, accesstype, onlinestatus,  
replicationsite
     $sched += $sched_report
     }
 
 }

 

You can download the script here, it is as a .doc file to allow me to upload it on wordpress.com! so please rename as a .ps1 file. I will host it in an alternative location soon.

One response to Equallogic Configuration Reporting Powershell Script

  1. 

    How did you get the ACL commands to output in decimal and not in Hex?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s