In previous posts I have explored using Workflow Studio to Shut down a Windows host and also how to Shut down a XenServer host. Getting the power off is a big step in being greener, but if you could just turn off machines and leave them off permanently then you wouldn’t need Workflow Studio Next we have to look at how to get those hosts powered back on.
There are a lot of different options out there for power management, but the one thing that is fairly consistently avaiable is Wake On LAN (WOL). In this post I am going to look at how WOL technology can be leveraged by Workflow Studio. Most modern server NICs have some form of WOL support (though you may have to turn it on in the BIOS.) This allows you to start up any machine that you know the MAC address for. Heare are some details on WOL from Intel and the Wikipedia WOL page has a good overview and a lot of links to free utilities and sample code.
Now that we have an understanding of how we want to start our server we can add it in as a task in Workflow Studio. There isn’t a native WOL task in Workflow Studio (not yet anyway), but it is pretty easy to call one of the tools mentioned in the Wikipedia article with a “Launch Process” task. I started with that, but didn’t like having to require one of these to be installed, so I went looking at the code samples. I finally found a great implementation of WOL in PowerShell by /\/\o\/\/ The PowerShell Guy. Paste that code in a PowerShell Script task and you have an embedded Wake On LAN task.
The next step is to put all this together into a single workflow with some business logic about when you want to start and stop your servers. I want to hear from you – what metrics would you want to use to drive a “Green” workflow? Is Wake On LAN supported in your data center? What issues do you have that this kind of a workflow could help with?