I have a server with a UPS, life on battery is around 20-30mins, the server has a 2405/128MB without BBU, I am just confused as to do I really need a BBU card? Surely if the UPS is working, during a power failure, t should allowed plenty of time for the cache to write through ? or am I missing something ? I don't really want to spent a fortune on a card just for the sake of a BBU, the applications are more towards read,rather than write on a ratio of around 5-1, is it really such a risk to work without a BBU even though theres a good UPS ?
Although this covers some of ground as the duplicate August proposed, I'm not going to second closing this question as the answers there are rather poor.
A BBU disk controller does indeed provide protection against a power outage - but it also (in conjunction with a journalling or log-structured filesystem) provides protection against server OS crashes and disk hardware failures - which your UPS doesn't. It's not the only way to address the availabity problem - the other approach is to duplicate the server and UPS and disk and use appropriate clustering tools.
Further, with a larger, non-volatile cache, it allows the the OS to securely offload write operations to the disk much faster - the OS doesn't have to hang around as long waiting for the disk subsystem to confirm that the write has committed. Having a larger buffer gives the thing which writes sectors to the disk (n the this case the disk controller) much more scope for scheduling the operations in order to optimize them, giving a further performance benefit. And if you're using SSDs then you get a bit benefit from running a large marshalling buffer in terms of reduced write wear.
the applications are more towards read,rather than write on a ratio of around 5-1
Really? I would say this is rather write heavy.
I don't really want to spent a fortune
While the last time I looked, a low end UPS was still cheaper than a basic BBU disk controller, the latter can had from around £100 ($150). You just need to hunt around a bit. I would much rather have a BBU disk controller and cheap disks than expensive disks and no BBU - both for performance and availability.
A BBU on a RAID card and a UPS have different purposes.
The BBU is designed to keep the cache memory active when power is lost so that the data can be flushed to disk when the disks are active.
A UPS is designed to keep the server operational during short lived blackouts, or to allow orderly shut down of servers before power is lost completely. It's designed to minimise downtime. Most UPS's will keep the server running for 30 mins or more (depending on battery capacity and load). Most blackouts are relatively short so a UPS is useful.
The UPS itself doesn't guard against data not being fully written before the power goes off though.
A UPS will be useless in an extended blackout if the server isn't shut down cleanly. Therefore you always need to have the UPS signal the servers that power is lost and for them to shut down clean when power drops below a certain level.
The BBU will keep the cache memory active when power is lost and doesn't rely on you having set up your UPS and low UPS battery shutdown properly. If you're really wanting to guard against corruption, get the BBU for the RAID card.
This depends on the operating system in use, your read/write pattern and your tolerance for risk.
I tend to be biased towards using a BBU/BBWC wherever possible because write performance typically suffers without. You should be able to configure your controller to operate without the battery and still provide accelerated write cache. But there is a risk.
You could run ZFS - then with proper setup you will minimise lack of BBU. ZFS is now available for Linux and I highly recommend it for some workloads.