<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title></title>
<style type="text/css">
<!--
body{margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px;}
-->
</style>
</head>
<body marginleft="10" marginright="10" margintop="10" marginbottom="10">
<font face="Arial" size="+0" color="#000000" style="font-family:Arial;font-size:10pt;color:#000000;"><b>CentOS mailing list <<a href="mailto:centos@centos.org">centos@centos.org</a>> writes:<br />
</b></font><span style="background-color:#d0d0d0;"><font face="Geneva" size="-1" color="#000000" style="font-family:Geneva;font-size:9pt;color:#000000;">Important: The partition you boot from must not be striped. It may not<br />
be raid-5 or raid-0.<br />
<br />
Note: On the one hand, if you want extra stability, consider using<br />
raid-1 (or even raid-5) for your swap partition(s) so that a drive<br />
failure would not corrupt your swap space and crash applications that<br />
are using it. On the other hand, if you want extra performance, just<br />
let the kernel use distinct swap partitions as it does striping by<br />
default.<br />
[quote]<br />
<br />
</font></span><font face="Lucida Sans Typewriter" size="+0" color="#000000" style="font-family:Lucida Sans Typewriter;font-size:12pt;color:#000000;">I have a number of older 3-bay SCSI systems that aren't worth adding a RAID card to, so the formula that gives me the best *OVERALL* performance for general-purpose use is:<br />
<br />
        /dev/hda:<br />
               hda1 - 100Mb - type FD<br />
               hda2 - 512Mb - type FD<br />
               hda3 - (rest of drive) - type FD<br />
        /dev/hdb, /dev/hdc - identical setup to /dev/hda<br />
<br />
        /dev/md0:<br />
               RAID-1, 3 members, ext3fs, /boot<br />
        /dev/md1:<br />
               RAID-5, 3 members, swap<br />
        /dev/md2:<br />
               RAID-5, 3 members, ext3fs, /<br />
<br />
GRUB and LILO can both boot off RAID-1 sets.<br />
I don't need EVMS or LVM support, so I avoid that overhead.<br />
I don't need DM support either, so I avoid that overhead.<br />
The MD code automatically replicates RAID-1 data to every member equally, and balances read activity among all available members.  The read performance boost is largely irrelevant since it's only the /boot filesystem.<br />
The RAID-5 implementation in the MD code is often faster than dedicated RAID controllers - these are dual-P-III 1.1GHz systems, and the MD5 RAID5 code outperforms the IBM ServeRAID 4M controller by about 50%.  Of course I don't have a true hardware RAID controller with battery backup etc, either...<br />
<br />
Gains:<br />
 -no RAID controller purchase<br />
 -triple-redundant boot (requires GRUB to be installed on all 3 drives, see link posted previously)<br />
 -swap on RAID, even swapped processes can survive a single-drive failure<br />
 -root on RAID, system can survive a single-drive failure<br />
 -very good read/write performance as long as CPU and I/O aren't maxed out simultaneously (which is rare for *my* workloads)<br />
 -all drives have identical partition tables; recovery is simplified because initialization of a new drive consists of:<br />
               1. sfdisk -d /dev/sda | sfdisk /dev/sdb   <br />
        (where sda is OK, and sdb has been replaced)<br />
               2. reboot (or manually fix with mdadm --manage /dev/md[012] --add /dev/sdb[123])<br />
<br />
Losses:<br />
 -no hardware RAID controller:<br />
   * drive array might not survive power loss or system crash as cleanly as with hardware controller.  <br />
   * Also, no alarm to scream its head off when a drive fails.<br />
   * No hardware offload for consistent performance when CPUs are maxed out at 100%<br />
   * no dedicated disk cache (shares filesystem buffer cache)<br />
 -no fine-grained control over raid types & layout<br />
 -single root filesystem<br />
 -maximum of 4 primary partitions; more than 4 MD devices will require extended partitions<br />
 -no LVM/EVMS, therefore more difficult to change partitions later<br />
<br />
Overall, this scheme works very well for me.  It's not for everyone, but this matches my hardware and my workload almost perfectly - my servers generally are doing CPU work *or* I/O work but not both simultaneously, I have lots of RAM for buffers, I have dual CPUs which helps the performance stay consistent.<br />
<br />
<br />
-Adam Thompson<br />
 Divisional IT Department,  St. James-Assiniboia School Division<br />
 150 Moray St., Winnipeg, MB, R3J 3A2<br />
 <a href="mailto:athompson@sjsd.net">athompson@sjsd.net</a> / tel: (204) 837-5886 x222 / fax: (204) 885-3178<br />
<br />
</font>
</body>
</html>