Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm using HP DL360p Generation 8. I need a pretty reliable server, so I'm using RAID 1 with a spare drive, and I also added an extra power supply. But should I install online spare memory? Or it's just wasting money?

share|improve this question
1  
What do you mean by "spare" memory? –  David Schwartz Apr 24 '12 at 12:24
2  
@DavidSchwartz HP Proliants offer online spare memory, mirrored memory and hot-plug configurations. –  jscott Apr 24 '12 at 12:43
    
FWIW, Dell servers offer this as well. –  jftuga Apr 24 '12 at 12:48
1  
if you need/want a reliable machine, how do you handle the failure of the SAS HBA in your setup? –  pfo Apr 24 '12 at 19:15
    
@pfo I need "pretty reliable" not "reliable" machine :) i'm using default hp dl360p gen 8 configuration + options that I mentioned. –  javapowered Apr 25 '12 at 2:42
add comment

3 Answers

up vote 5 down vote accepted

It's not worth it. With ECC RAM and running HP management agents, it's pretty easy to detect bad memory. There are typically a few steps to intervene before you see a major problem that affects operation. Under standard support, RAM replacement is next-business-day, so there's no need to complicate your RAM arrangement by adding spare DIMMs.

The worst HP ProLiant memory issue I had on a system eventually crashed the server after several ECC alerts that occurred over the course of a week. The errors came, the server rebooted through an ASR and the machine came back up with the bad DIMM disabled. This was an HP ProLiant DL580 G4 system and the error logs were as follows...

0004 Repaired       22:21  12/01/2008 22:21  12/01/2008 0001
LOG: Corrected Memory Error threshold exceeded (Slot 1, Memory Module 1)

0005 Repaired       20:41  12/06/2008 20:43  12/06/2008 0002
LOG: POST Error: 201-Memory Error Single-bit error occured during memory initialization, Board 1, DIMM 1. Bank 
containing DIMM(s) has been disabled.

Back in the day, I installed many HP ProLiant DL740 servers that featured a RAID5-style memory array. So a 16GB RAM server actually had 20GB installed in hot-swappable banks of 8 DIMMS. For the dozens of those servers that I deployed and ran for 5+ years, I only had one DIMM module fail. Figures...

Edit:
You're planning to use this in a high-frequency trading environment. You asked about latency with spare RAM in a server like this. Typically, for low-latency applications, I disable the memory pre-failure checks on my host systems. This is the recommendation from HP on page 7 of their Configuring the HP ProLiant Server BIOS for Low-Latency Applications white paper. It's a matter of monitoring and risk. I rarely have DIMMs fail. Do you care more about speed or resiliency? You won't get both at the hardware level...

share|improve this answer
    
thanks, I more care about speed, but I want to check memory, say, daily. and if memory is not OK I want to be notified, so I can purshace and replace it. also I want to save warranty. –  javapowered Apr 24 '12 at 18:32
    
and how much microseconds will I win disabling memory pre-failure checks? I'm using Windows Server 2008 R2 –  javapowered Apr 24 '12 at 18:40
    
Well, I assumed Linux. I'm sure that there are other places within Windows where you can find microseconds... –  ewwhite Apr 24 '12 at 20:02
    
@ewwwhite so under Windows this option doesn't make sense? what can I optimize under Windows to win microseconds? (other than deleting it and istalling Linux :) –  javapowered Apr 25 '12 at 2:45
add comment

It's a very easy thing for you to decide - how much will it cost to enable online-spare mode or lock-step mode and then consider how much the impact of memory-based losses of service would cost over the lifetime of the server.

We don't use either of these methods in our servers where those servers at part of an existing failover cluster - Oracle RAC, vSphere etc. but DO use it where our servers cannot be clustered in any practical/economic way.

Only you can decide based on the cost/benefit but the technology does work, I know for a fact that we've avoided two full system outages on one of our servers over the last 2.5 years and for us the investment was worth it, your mileage may vary.

share|improve this answer
    
"we've avoided two full system outages on one of our servers over the last 2.5 years" - but how many server do you have? If you have 2000 servers this means that server fails once per 1000 years –  javapowered Apr 25 '12 at 2:54
    
We are mostly a blade-house (several thousand of those) but my platform does use DL380's, 580's and 980's for some jobs - usually 'maxed-out' on memory and in total we do have dozens of them but not hundreds. –  Chopper3 Apr 25 '12 at 7:47
add comment

I think this is just wasting money. The memory already has ECC. That being said, if your server will be used 24/7 and can never have downtime then this might make sense. If you are using this for a hypervisor, then it will be simple to move off all VMs, power down the system, and swap out a bad memory chip.

In my experience, high-end server memory chips do go bad every now and then and need replacing.

share|improve this answer
1  
+1 Spare memory is a good solution to a problem that really doesn't exist much anymore. Running a Hypervisor and VMs abstracts the whole machine, so every piece doesn't have to be redundant. –  Chris S Apr 24 '12 at 12:31
1  
Note that I don't have access to server, I colocate it. I'm using it for stock exchange trading. Replacing any part of server should be paid and a little bit expensive. I need to minimize chance of server failure –  javapowered Apr 24 '12 at 13:08
3  
There's a latency hit involved with running this for high-frequency trading. This goes back to your design. Can the app be clustered in any way? A hardware failure may mean that you'll be out of the market. If this is your only system and is critical, maybe it does make sense to pay for the hot-spare RAM. You didn't mention the application in your original post... –  ewwhite Apr 24 '12 at 15:02
    
@javapowered - given your scenario, and likely budgets - I've worked in that sector most of my career - I'd say go for the memory protection but try super hard in the background to get some form of fail-over clustering to work - the two together would really help your uptime but the memory on its own will really help too. For future reference if you go for the 4/8-way Xeons seen in larger DL580/980 servers instead of the 2-way Xeons in the DL3xx series you'd benefit from their on-chip hardware resilience, they can handle failure so much better ok. –  Chopper3 Apr 24 '12 at 15:11
    
But the clock speeds on the big servers isn't high enough for latency-sensitive apps... Oddly enough, we tended to avoid them, even though they make more sense from a production stability standpoint. –  ewwhite Apr 24 '12 at 16:45
show 3 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.