ADSM-L

Re: MIRRORING DILEMMA

1999-11-03 13:50:41
Subject: Re: MIRRORING DILEMMA
From: "Richard L. Rhodes" <rhodesr AT FIRSTENERGYCORP DOT COM>
Date: Wed, 3 Nov 1999 13:50:41 -5
On 3 Nov 99, at 17:06, William Dias wrote:
> *> Cache provides a great performance improvement for most I/O operations.  It
> does not help us here for two reasons:
>         1. The data in RAID5 is written as stripes across all the drives.  The
> data can not be recovered until all the data is on disk.  Write only two out 
> of
> eight strips and you have lost the data.  If you watch the LED's on the drives
> you
> will see that RAID drives are all selected together.  Watch non RAID drives 
> and
> the LED's will flash at random.
>         2. Reason two has nothing to do with the type of file system.  It has 
> to
> do with the fact that the file system is used as a data base.  Data bases, 
> like
> MCI customers " Want to know where there data is".  In "C" they do this by
> issuing
> a "fsync" after every write.  This forces the data to disk, defeating the
> advantage of a write-cache. The cache gives priority, when it can,  to reads
> over
> writes, so some writes many be postponed for some time.     The application
> (DB2...) does not get control back after an fsync until the data is on disk.
> This
> is how the recovery log is kept in sync with the real I/O operation.
> Bill
>

It all depends on the raid system and how it's designed.  The raid
systems I've worked with (EMC, NetApp(nfs server with raid backend),
CMD, Hitachi) all support fast writes.  Once the scsi write command
hits raid memory a reply is immediately sent back to the hosts -
before the data is written to disk, reguardless of what the program
thinks or ask for.   This is completely independant of the host
operating system.  This is know as a write-back cache.  A raid with a
write-thru cache won't respond to the host with a completion until
the data is actually written to disk.  In this case the cache is
strictly for read buffering.  SOme Raid systems switch from write-
back to write-thru when they detect a problem.   Raid 5 system often
use the write cache to wait until whole stripes are available for
writing so as to optimize the write penality.  There is no way for a
program to actually know if the data was actually written to raid
disk or raid memory.  This is extremely import in the Raid system
design.  Think about it, your db thinks the data is written to disk,
but it's really in raid memory.  If the raid system looses power the
data in memory must not be lost!  That's why the EMC systems have
their own UPS and special memory design, Hitachi has battery backed
mirrored caches (I think that's right), my 2 small CMD controllers
have a battery, and the Netapp uses NVRAM.  One needs to get the
documentation for a raid system/card and see what exactly it supports
and how it works.

rick
----------------------------------------------------------------------
Richard L. Rhodes     e: rhodesr AT firstenergycorp DOT com
Richard L. Rhodes     e: rhodesr AT firstenergycorp DOT com
Ohio Edison Co.       p: 330-384-4904
                      f: 330-384-2514
<Prev in Thread] Current Thread [Next in Thread>