Suspend and Hibernate Support for the Ubuntu Server

Registered by Dustin Kirkland  on 2008-11-17

The Ubuntu desktop really made a name for itself, being one of best Linux distributions for suspending/hibernating, and resuming modern laptop computers.

With a responsible interest in Energy Saving and Green Computing technologies, the Ubuntu Server could leverage some of the existing technology present on the desktop to enable some server hardware (where supported in BIOS) to suspend-to-RAM, and hibernate-to-disk, and perhaps wake-on-lan to remotely resume.

In addition to energy savings:
 * resuming from suspend would provide a faster boot for some servers
 * hibernate could allow some hardware maintenance and restoration of previous state
 * hibernate is useful for security forensics/research following a security break

A suite of management utilities harnessing this features across a cluster or a cloud of servers would certainly be nice-to-have, though perhaps out-of-scope for this initial, building-block blueprint.

:-Dustin

Blueprint information

Status:
Complete
Approver:
Rick Clark
Priority:
Undefined
Drafter:
Dustin Kirkland 
Direction:
Needs approval
Assignee:
Dustin Kirkland 
Definition:
Discussion
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Dustin Kirkland  on 2009-02-04
Completed by
Dustin Kirkland  on 2009-04-17

Related branches

Sprints

Whiteboard

This is linked to DeviceKit-power, and improved power management:
https://blueprints.launchpad.net/ubuntu/+spec/improved-power-management

So this one should be merged with the DK-p one...

DONE (Dustin): To use suspend/hibernate on the server, pm-utils should be added to the server-ship seed. Looking at the rdepends and what we're currently missing, it looks like it should be pretty easy, and cost somewhere around ~150KB of CD space. -- :-Dustin

DONE (Dustin): I have successfully tested suspend and hibernate with my Asus P1-AH2 installed with jaunty-server-amd64, and resumed with wakeonlan. I needed to:
 1) Enable S1&S3 in BIOS
 2) Enable wakeonlan in BIOS
 3) add a kernel parameter (acpi_sleep=old_ordering) to the grub boot options and update-grub
 4) enable wakeonlan in the OS with:
   $ sudo ethtool -s eth0 wol g

Power meter testing (Dustin)
 55W: Non-loaded, running system
 12W: Suspended system
 8W : Hibernated system
 8W : Powered off system

Added MIR for wakeonlan, Bug #327662

(?)

Work Items