Start a Conversation

Unsolved

This post is more than 5 years old

136918

May 11th, 2012 08:00

EqualLogic Managed Shutdown Assistance

Hello,

I currently support an environment that has two PS6500E arrays, three VMware hosts running approximately 35 VMs via VMware vSphere, and an additional 5 servers with iSCSI mounts on the arrays.  These machines are supported by an APC UPS system that can signal the VMware hosts/guests and physical servers to shutdown in the event of prolonged power failure.  

Issue:

How do I configure a script or other process to allow for the SANs to be shut down safely once the VMs, hosts, and other servers with volumes on the arrays are powered down?  I am thinking that this can be done with PowerShell, but I am not certain as to how the workflow and timing would work.  We have a maintenance window coming up soon that I would like to begin testing during, so any and all advice, insight, etc. would be most welcome.

Thank you in advance!

Steve

7 Technologist

 • 

729 Posts

May 11th, 2012 09:00

In order to shut down a PS Array under the control of a UPS, you will need to have a server that can listen to the UPS that sends a scripted "shutdown" command to the array when appropriate using the python scripting interface.

The recommended order of shutting down a storage network is:

1. UPS detects power fault signal, and decides it's time to shut down servers

2. UPS directs all iSCSI-connected servers to shut down and power off

3. UPS direct the PS Array to shutdown (this is done using a separate server that was not shut down in step 2)

4. UPS disables PS Array electric sockets

Step 4 is important. The PS Array does not have a "soft" power switch like many Servers do, so the software cannot power off the unit.

On the support.equallogic.com web site, review the KB Title: “ARRAY: How can I integrate my PS Series Array with my UPS?”.  This will give you more detail on how to do this.

To get the Host Scripting tools, just go to the Firmware Download page (that matches your current version of firmware), and you will see links to both the Windows and Linux scripting tools.

The EqualLogic specific PowerShell cmdlets currently only do a restart, and wouldn’t work for you in this situation.

-joe

7 Posts

May 11th, 2012 10:00

Thank you Joe, that was extremely helpful, and gets me most of the way there.  The challenge I think I have now is that I need to have the script validate that all iSCSI sessions are closed before moving on to the code that shuts down the arrays.  The documentation provided with the Host Scripting Tools is very sparse on this subject.

Also, it appears that this can be done via IP and not serial, is that correct or not?  If using serial, how do I account for which controller is active?

7 Posts

May 11th, 2012 13:00

Okay, so the last piece of this puzzle is to determine when all connections to the SAN are closed - which obviously needs to be validated before I run the shutdown command.  Any ideas?  Can I run a IF/THEN query of some kind?

7 Technologist

 • 

729 Posts

May 11th, 2012 13:00

Yes, the scripting tool documentation is limited to only the steps specific for general usage and does expect the reader to have some familiarity with Perl/Python first.

The sample script called “RestartMember.py” can be used as a template for creating a shutdown script.  You would need to replace the line >> remote.write ("restart\r" << with “shutdown” (where restart\r is listed).  You will also need to change the line >> remote.write ("yes\r"  << with  remote.write(“y\r” since the shutdown uses a different confirmation y instead of yes  (if shutdown is typed manually, as you can see shutdown defaults to :emotion-45:):

Group> shutdown

Do you really want to shutdown ? (y/n) :emotion-45:y "

Python and Perl have commands that allow for serial connection, although I have never used them.

(A quick Yahoo search did come up with these that seem pretty straight forward to use: www.varesano.net/.../serial%20rs232%20connections%20python and this link pyserial.sourceforge.net/examples.html, you should be able to find other examples on the web as well).

Determining which controller is active from a serial connection point of view is the part that isn’t very easy since you don’t know which CM will be active at the time of a power failure.  So you would need a way (HW) to attach to both CM’s and then run the script against one CM with enough time to lapse before attempting to try the second CM, (i.e., waiting for enough time for the script to run, a shutdown to occur, and if in fact the first serial interface wasn’t the active one, before processing the next serial interface on the second control module, etc.).

As you can see, this is why most Admin’s use the IP solution instead.

-joe

7 Posts

May 11th, 2012 13:00

Thank you again.  I do plan on doing it via IP and not serial, it is just that the documentation I found seemed to indicate that this needed to be done via serial to fully complete the shutdown process.  If others are doing it via IP with success then I feel like I am good to go from here.  Thank you again for your help.

7 Technologist

 • 

729 Posts

May 11th, 2012 13:00

A simple IP shutdown solution is as follows (however this would require the confirmation prompt being disabled).

Note:

If you do choose to do this, please be aware that all commands (with the exception of reset) that would normally prompt the user to continue will no longer be prompted.  If not careful this could cause unnecessary outages should a command be run that was not intended.

To turn off the confirmation cli-setting use the command as follows:

Group> cli-settings confirmation off

perl EqlCliExec.pl -g -a grpadmin -p shutdown

-joe

110 Posts

October 31st, 2014 03:00

Hi

Did you ever managed to validate iSCSI connections before shutting down? And also where you able to shutdown the group (several arrays) without turning off the confirmation setting?

No Events found!

Top