Tuesday, January 19, 2010

UI for a headless server under power management


I've been working at setting up a server for a friend, the thing runs SC7.3.4 and various (file) services. There is a global power management routine that looks for server activity and puts the machine in suspend mode when idle (around 100W -> 13W)The machine has USB ports usable for data transfer/data serving. Without any interface, removing a USB device will inevitably lead to problems, so the USB devices are automounted and dismounted after few minutes of inactivity. My monitoring system watches current mounts, avoids sleeping when mounted, and reports which devices are mounted, and which can (should!) be unplugged since idle.Exact same idea and similar implementation for optical disks in the DVD drive.I've reported PM information into a plugin I hacked from one found in phpsysinfo 3.0-RC9. This gives the web page inlined here.Then because the server is headless, and because ejecting a device is done at the foot of the machine, in the basement, I have added a reporting mode to the power button (within 3 secs, press once for report, twice for the normal effect), and a vocal report that you can listen to with a headphones plugged in the front audio port.(can't inline file here: MP3 file too big [768kB], for the forums. Link will fade some time)The vocal report is built using espeak and MBROLA (I wanted a nice german speaker voice, as the machine is named Otto...). What you hear is the cue + the message you get when the button action kicks in. There are feedback beeps played through the PC speaker as well, can't record them.The report is updated every minute, so the system isn't bulletproof. But handled with a bit of care, my current tests show the machine is stable.I'm posting this to show off a bit. And perhaps to give an idea to more talented integrators than I am (I refrain from giving out the name of a nice all-in-one server targeted at squeezebox users, here...)
Attached Images

No comments:

Post a Comment