[Asterisk-Users] Hard drive write cache

Boris Bakchiev boris at jildent.com.au
Tue Jun 13 02:12:37 MST 2006


These days you don't have to worry much about your write cache unless
you're running application where once single byte changed will affect
whole file.

Look at it this way, the only corruption will occur is whatever the
files were open by asterisk at the time of the crash. And only up to the
point where the file was last open. As far as I know asterisk does not
keep cdr or log files open so you would loose only the data that was
written at the time of the power failure.

Any journaling file system (ext3, resierfs, xfs, etc) will easily handle
any power failure event. Your files will not be corrupt but could miss
some of the data.

At the most you will loose 10-50 cdr entries written to you log files.

If you post CDR to a remote SQL database then you asterisk install and
linux is more or less static and will not be affected by the power
failure.

What you need to do is minimise the writes to hard disk's:

1 - Send syslog to remote server and do not do ANY syslogs
    Or keep the circular buffer in memory if you have plenty of it. 
2 - Send CDR's to SQL server (or log to ramdisk and send to remote
server every few minutes via SSH)
3 - Do not record any calls (or do that somewhere else)
4 - Stop any services that write/read data on regular intervals.

If you have no writes you have nothing to worry about during power
failure and journaling file system will take care of the rest.

Keep your partition size really small so that fsck will not take much
time.

You have to be realistic, you cannot achieve 99.999% uptime. That's 5
minutes per year downtime.
You will have more or less 100% until your first hardware failure.

Even if you have all the hardware components pre-purchased it will still
take you 2-12 hours to detect, diagnose and fix the fault if you lucky.
So your 5 minuets 

If the business is demanding 99.999% then it should be prepared to
invest into the hardware.
I would recommend a cluster or even better a fault tolerant server.
Those are expensive but you can pretty much rule out the hardware
failure and swap all of the failed components while the system is
running (cpu, memory, hdd, etc).

Look at Stratus or NEC FT servers if you need hardware redundancy.
They're expensive but will give you the hardware reliability you need.

Or get a traditional PABX :)



> -----Original Message-----
> From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-
> bounces at lists.digium.com] On Behalf Of shadowym
> Sent: Tuesday, 13 June 2006 10:34
> To: asterisk-users at lists.digium.com
> Subject: [Asterisk-Users] Hard drive write cache
> 
> 
> I am looking at ways to harden my asterisk install to prevent computer
> related issues from happening.  I am concerned about about disk write
> cache.
> That seems to be a major source of hard drive corruption on power
failure.
> Hard Drive corruption is simply unacceptable for the 99.999% uptime
> requirements of my Asterisk install that needs to be as reliable as a
> proprietary PBX.
> 
> Of course I will be using redundant power supplies, raid 1 and use a
UPS.
> None of those things mean much if the power cords accidentally get
pulled
> from the back of the server.  Unlikely as it may be I have to consider
ALL
> possibilities.
> 
> So is disabling the write cache a good way to reduce the risk of hard
> drive
> corruption for an Asterisk server?  I am not too concerned about the
> reduced
> performance/lifetime of hardrives with write cache disabled since
Asterisk
> is not a very write intensive environment.  Even with lot's of
voicemail
> going on.
> 
> Any other recommendations/links for increasing the reliability of
Asterisk
> servers?
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
> 
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users



More information about the asterisk-users mailing list