[CentOS] iSCSI best practices

Mon Dec 12 18:23:43 UTC 2011
Digimer <linux at alteeve.com>

On 12/12/2011 01:17 PM, John R Pierce wrote:
> On 12/12/11 6:43 AM, Digimer wrote:
>> I handle this by setting up two servers running DRBD in active/active
>> with a simple two-node red hat cluster managing a floating IP address.
>> The storage network link uses a simple Active/Passive (mode=1) bond with
>> either link go to separate switches.
> 
> DRBD with synchronous writes?  doesn't that slow things down 
> considerably?   if its asychronous, recently written data will be lost 
> on a failure.
> 
> proper storage appliances implement a shared cache between the master 
> and standby storage controllers so that if the master fails, the standby 
> has all data, including cached writes.   as far as I know, there's no 
> way to easily implement this with open source, its part of the secret 
> sauce of proper redundant storage.
> 
> without this, its not safe to run a transactional database server on 
> your storage

With synchronous writes ("protocol C" in DRBD terms), I've found minimal
slow-down. With a little tuning and fast enough networking, it's quite
small, given the HA win. Given this, there is no loss in data, even if a
node fails mid-write as the caller never gets ack and knows to retry.

Shared cache is, I think, a single-point-of-failure. I'll make no
arguments towards transactional DB use and I am not a DBA, but I can
restate that a write is not acknowledged until it's been committed to
both nodes in DRBD, making it very robust with minimal performance hit.

-- 
Digimer
E-Mail:              digimer at alteeve.com
Freenode handle:     digimer
Papers and Projects: http://alteeve.com
Node Assassin:       http://nodeassassin.org
"omg my singularity battery is dead again.
stupid hawking radiation." - epitron