I recieved a lot of responses, the general outlook on this question is that
mirroring is better than RAID5 for databases.
It is also possible to move from RAID5 to mirroring using veritas as long as
enuf disk space is avbl.
I am attaching the various responses below.
Thanx to all.
- -----Original Message-----
From: Ahmed, Nabeel [mailto:Nabeel_Ahmed@bose.com]
Sent: Thursday, September 28, 2000 12:39 PM
To: Sun-Managers (E-mail)
Subject: Mirroring and RAID5 for Sybase running on E450
I have Sybase running on an E450 connected to A3500 running Solaris 2.6 with
the latest patches.
The DBA is facing a performace issue with respect to the writes taking place
on the RAID Array.
It seems that mirroring would resolve this problem to a certain extent.
I have two questions:
a) Will mirroring really resolve any issues wrt to writes?
b) If it will, how do I go about migrating my RAID5 array to mirrored disks?
I have veritas running on the machine for volume management.
Using RAID5 for databases is generally regarded as a BAD THING largely
because the write performance is poor.
Ideally you would use striped disksets mirrored for reliability. The goal is
the largest number of disks spread across the largest number of controllers
in order to gain maximum throughput. RAID5 is poor at this since each write
requires parity data to be written across every disk in the set generating
quite a high overhead. You are going to have to re-examine your
Generally RAID 5 is not for relational databases where there is a large
number of writes. It is notorious for bad write performance. RAID 1
(mirroring) is good, but RAID 1+0 ( Striping + Mirroring) is better if it
can all be done in hardware. So the answer to Q # 1 is Probably. I an not
familiar enough with veritas to know if they have a migration facility, but
generally in order to migrate, you will need to back up your RAID 5 array,
create the new volumes RAID 1 or RAID 1+0, lay down a filesystem, then
restore the backup. Remember Raid 1 will require more disks per volume
than RAID 5. The following formula will tell you how many drives will be
required for each RAID 1 or RADI 1+0 volume. -- ( # of drives in RAID 5
volume -1 ) * 2
You might consider not using raid at all and mirroring will give you even
poorer performance. The real question is system failure recovery vs. speed
(efficiency).......you must decide which is most important. If you have a
reliable backup system and you can automatically kick off a backup if a
filesystem reaches a trigger point (like 80% full) then that would fit into
the equation and provide a higher degree of system failure recovery. If
that is in place I would simply stripe those disks making sure that if you
stripe with "X" number of stripes that each stripe is off of a different
controller going to a different disk or however you can best meet that
criteria, your db transfer time will decrease.
There's really not enough information in your e-mail to give a definite
solution. For example, your "problem" may be solved by adding another
controller to the E450.
Mirroring will help the writes if you make the OS aware that it has the
mirror, VM will do this for you. As far as exactly how much of an increase
this will be I couldn't really say. VM allows you to do just this, look for
'online relayout'. his uses `vxrelayout` to convert your raid5 volume to a
mirrored one, if you can afford the space. The cool thing is it does it
while online w/o interrupting access to the data. This is not to say you
shouldn't fully backup the data and do it while the database is unmounted.
The `vxassist` command will make this a lot easier if you spawn the relayout
process from there.
It's been my experience w/ Sybase and Oracle that RAID5 is just too slow.
Mirroring an R5 volume will not speed things up. What's happening is that
the system has to recalculate parity across all the drives in volume
EVERYTIME there is write. Talk to the DBA's, move the write tablespaces
(more familiar w/oracle, I am) to simple or striped mirrors, and move any
read-only data to RAID5. The downside is you will (probably) have to buy
more disks and reconfigure the database.
But the short answer is: RAID5 and database writes don't mix.
Mirroring should be transparent to disk writes, since a hardware mirror is
written to via two parallel kernel calls. Its not surprising that you're
having write performance problems with any sort of RAID5; literally writing
to Raid-5 strings of disks quadrouples the i/o activity. NEVER put
high-write database devices on Raid-5; its a performance killer. Migration
to non-raid5 disks will depend on the database. I'm a sybase guy, and would
probably get database dumps, then reconfigure the devices, re-partition the
raid-5 strings, create new Sybase devices on the mirrored pairs, then
re-create the database and load from backup-files. A hefty job, but not out
of the question. I've written up these thoughts and more at Sybase DBA page
I maintain..even ifyou're not using Sybase, the information is valid: surf
to: http://www.bossconsulting.com/sybase_dba/ and click on the "RAID Disks
and Sybase" topic to the left.
The whole point of RAID 5 is to NOT have to mirror it. RAID 5 is
stripes across multiple disks with a parity stripe, your "mirror", on the
same disks. What your DBA will want, as mine does, is RAID 0+1. Stripes
across multiple disks that are mirrored. This is also more expensive, you
only get one disk of space for every two you buy vs. RAID 5 where you only
give up, I think, 20% of total space for the parity. To migrate to another
solution from what you have is slightly more complex then this but basically
you need to move your data somewhere else then rearrange you disks in
Veritas, basically create a volume with half then mirror it.
Mirroring will assist with reads, but offer no improvement for writes. It
does give data redundancy however. RAID 5 *can* be better, BUT it depends on
the exact setup of hardware and software.
Caprasso Nelson :
I would suggest configuring a RAID0+1 (Striping then Mirroring). RAID5
configurations while it may offer cost effectiveness and capacity, may not
offer bandwidth requirements for RDBMS. For light RDBMS requirements, RAID5
will do but for large databases (ie. 100GB to terabayte sizes) RAID0
striping plus mirroring (RAID1) for redundancy is the way to go.
It is not advised to run Sybase on RAID5 devices as there is indeed a
performance hit on writes, due to the calculation and writing of parity
Your best bet is to go with striped mirrors. As to migrating from RAID5 to
RAID0+1: this should be quite straigthforward.
1) First make sure that you have a valid database backup.
2) Destroy the RAID5 and build your RAID0+1 devices. With the Veritas GUI,
this should be a simple task.
3) Rebuild the database on the new RAID.
4) Load you database dump.
U BEFORE POSTING please READ the FAQ located at
. and the list POLICY statement located at
A To submit questions/summaries to this list send your email message to:
A To unsubscribe from this list please send an email message to:
E and in the BODY type:
R unsubscribe sun-managers
. unsubscribe sun-managers email@example.com
L To view an archive of this list please visit:
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:14:18 CDT