4

Is it true that the life of the modern server machines is longer if you never turn them off instead of turning them off when not needed?

I am talking about database server machines that are not used - at all - during the weekend.

If yes, where I can find an article/paper with the proof that an always running server has less hardware failures over the years than one that is periodically turned off?

voretaq7
  • 79,345
  • 17
  • 128
  • 213
abenci
  • 503
  • 1
  • 7
  • 17
  • 1
    I suppose this also depends on the room they're in. Big changes in temps can and do affect hardware, and if they're servers you're going to temp-cycle them quite a bit doing this. I don't know of any papers on this, per se, because most companies that need their servers don't leave for the weekend and shut down their servers. – Bart Silverstrim Sep 29 '11 at 12:48
  • 4
    related/good for reading: [should servers be turned off at night](http://serverfault.com/questions/258064/should-servers-be-turned-off-at-night) – tombull89 Sep 29 '11 at 12:48
  • load changes are the mortal enemy of phase-change cooling equipment (typical AC and rack cooling). – Chris S Sep 29 '11 at 13:13

3 Answers3

6

You're going to be much better off shutting them down than hibernating. On every platform I've ever used, hibernation is fraught with problems, errors and random flakiness. If shutting the servers down over the weekend, and (more importantly) validating that they come up properly on Monday is acceptable practice for your environment, I strongly recommend that over Hibernation or Sleep.

No, you're quite unlikely to find a paper with proof, because the study would literally have to be run over the course of the hardware's lifecycle (3-5 years), and by then the article would be completely irrelevant because the model would be so out-dated as to be nearly useless for production. You could make the argument that it's a 'general study', but technology advances quickly enough that the counter-arguments of recent technology improvement are strong enough to make the entire discussion meaningless.

gWaldo
  • 11,887
  • 8
  • 41
  • 68
  • Thanks gWaldo, please read this: http://www.petri.co.il/forums/showpost.php?p=245359&postcount=38 – abenci Sep 29 '11 at 12:59
  • 2
    I'm sorry, but that hardly qualifies as an "article/paper". It's not even a blog post. First, he's talking about servers that have run for 11 years 24/365; he's gotten his money's worth. Second, he's talking about "feelings" - he has no proof. Third, he's talking about shutting them down every night. – gWaldo Sep 29 '11 at 13:04
  • 2
    I recommend against hibernation if you must shut down periodically. You have to decide if you want to deal with weekly shutdowns and startups to save on power. I can tell you that in none of the places where I've worked has that been done. Server hardware is meant to be run 24x365 – gWaldo Sep 29 '11 at 13:06
  • 1
    @devdept - I completely, 100% agree with gWaldo here. Hibernating server OSes is not a good idea. When you come out of hibernation, you get a *huge* system time jump. For workstations, this isn't a big deal. They just continue rocking on. For server processes, though, the rapid time skew can be very problematic. As gWaldo said, either shut it down or leave it running. – EEAA Sep 29 '11 at 14:27
6

There are two chief arguments at play here:

  1. Running servers constantly is less stressful on their components
    This is predicated on the (correct) theory that rotating parts (fans, hard drives) take more abuse during spin-up than they do for continuous operation, and the fact that sometimes those rotating parts won't start rotating again.
    Some of this belief is dated (head "stiction" is not really as big a deal these days as it was say 30 years ago), but there is still substantial truth in this: Ask anyone who has ever powered down a long-running RAID array or SAN and turned it back on about spin-up failures.
    There is also thermal action (repeated heating/cooling of chips - like the CPU) causing failures -- This was a lot more common in "The Good Ol' Days", and in fact many Commodore Amiga owners can tell you about the "pencil fix" for chips that would work loose from their sockets because of this.

  2. Running servers when they're not used is EXPENSIVE - And the counterpoint that the savings in power/cooling can buy you a new server (or parts).
    This depends on the cost of your server and the cost of power, but it's an important factor. Even if you're idling the CPU you're still paying to spin disks (and if you spin them down you're not eliminating any of the risks in (1) above.

Where I am power is HIDEOUSLY expensive, and server hardware reliability is fairly good even with multiple power cycles, so if I have machines that are totally unused and suck a substantial amount of power I would consider shutting them down (based on the fact that the savings from one box can buy it replacement hard drives).
If the box happens to suffer a failure 5 years later it's already past its amortization date, and replacing it won't be a huge issue.

voretaq7
  • 79,345
  • 17
  • 128
  • 213
3

If you are not using them at all during the weekend, why not just shut them down to be safe? There is no real advantage of hibernating over shutting down, the only thing it does is bring you back to the current state, which would probably be achieved by a reboot anyway if it is a database server.

MichaelH
  • 179
  • 1
  • 8
  • We can use WOL on monday to turn them on without the need to push the button. This is the advantage over physical shut down. – abenci Sep 29 '11 at 12:56
  • 2
    WOL doesn't need the server to be in hibernation mode. I use WOL and the server is completely off. This is depending on your network card. – MichaelH Sep 29 '11 at 13:02
  • 2
    I concur on no need to be on for WOL to kick in. You can also use WOL as a scheduled task, kicking it off at, say, 2:30am on Monday, backing up your system and then having your system available for users at the beginning of your workday – James Pulley Sep 29 '11 at 13:13
  • @James: Interesting, how I can do it? – abenci Sep 30 '11 at 09:14
  • Take the WOL utility which you are using and stage this utility on a server which us up 24x7 and has scope to send the WOL packet to the host in question. If Windows, use the 'AT' command to schedule the execution of your command line WOL utility to wake the server in question. If LINUX/UNIX, then use 'cron' to set a scheduled event to kick off the WOL utility at a particular time. – James Pulley Sep 30 '11 at 12:44