I'm out of idea facing a challenging situation : Wake up a server on demand.
The problem
Wake-up a physical server that listen on specific port, when an incoming packet arrives. There may be a controller/middleware between clients and the server, but it should not affect bandwidth (and transparent for users).
The main goal : saving power consumption.
What I've tried
The setup I've tried for this demonstration is applied for a Samba NAS server.
preexec samba command (Automatic WoL remote filesystem, Transparent gateway for FileServer) : The goal of this solution is to expose a front NAS that accept all requests, and when a user want to access to a specific share, the preexec command will wake up the server with a custom script.
- PROS : Transparent for users in established state
- CONS : Not generic, Bandwith affected
Firewall wake up : similar to the previous option, but acting at transport layer regarding to the requested port the firewall will wake up the server. Requires a subnet for masquerading the server.
- PROS : Generic, Transparent for users in established state
- CONS : Bandwith affected, Requires a new subnet
IPVS DR : based on load-balanced environments, the goal is to take advantage of the floating IP address. I've imaginated to modify the ipvs stack (ipvsadm or keepalived) by implementing the wake-up server feature when a request arrives. That's a lot of works and searching, that's why I would prefer to see if there are another solutions ;)
- PROS : Generic, Transparent for users in established state, Bandwith not affected
- CONS : Hard to set up ?
This is an example with the NAS server, but I would prefer an elegant and generic solution to solve this problem.
Any ideas ? :)