Introduction

This document contains data and impressions that I obtained while testing out some new hardware and software for our backup server at CareerCast Inc. It was motivated mostly by my curiosity, and a desire to use the best technology available, rather than just "what we always used".


My aim was to get some meaningful information about filesystems, and hardware vs. software RAID. I also was interested in seeing how the 2.6 kernel has progressed in recent time.


Specifications


Hardware:

Tyan S2466-N4M AMD760MPX Chipset Motherboard

2x AMD Athlon MP1900+ CPU

512MB Crucial ECC Registered PC2100 DDR RAM running at 266Mhz.

Single Maxtor 80GB HDD using onboard PATA for OS.

3ware Escalade 8506-8 SATA RAID Card

4x WDC250GB 7200rpm SATA HDDs


Software:

Linux kernels 2.6.1, 2.6.3, and 2.6.4

bonnie++ 1.03


Testing procedures:


First, Hardware RAID5 performance on the Escalade was tested. Due to time constraints, we could only test XFS performance on the hardware RAID. A 4 disk 700GB RAID5 volume was created using 3ware's BIOS.


Software RAID was created by first putting each disk in the 3ware BIOS into its own single volume. An FD type partition was created on each drive, then the following raidtab was created, and 'mkraid' was run:


raiddev /dev/md0
        raid-level      5
        nr-raid-disks   4
        nr-spare-disks  0
        persistent-superblock 1
        chunk-size      64
        device          /dev/sda1
        raid-disk       0
        device          /dev/sdb1
        raid-disk       1
        device          /dev/sdc1
        raid-disk       2
        device          /dev/sdd1
        raid-disk       3

For LVM, the following was used, except as noted in the exceptions section:


pvcreate /dev/md0

vgcreate backups /dev/md0

lvcreate -n daily -L 100G backups


And the block device /dev/backups/daily was used instead of /dev/md0.


For each filesystem, the following procedure was followed:


1.Create filesystem with defaults (mkfs.fstype /dev/md0)

2.Mount filesystem (mount /dev/md0 /big)

3.Create bonnie environment (mkdir /big/bonnie1 ; chown clint.clint /big/bonnie1)

4.Run bonnie++ single process (cd /big/bonnie1 ; bonnie++ -s 1G -n 3ware-swraid5-type -u clint:clint)

5.Results recorded in a .csv file manually using copy/paste

6.Run 3 bonnie++ processes concurrently (bonnie++ -s 1G -n 3ware-swraid5-type -p 3 ; bonnie++ -s 1G -n 3ware-swraid5-type-c1 -y & ; bonnie++ -s 1G -n 3ware-swraid5-type-c2 -y & bonnie++ -s 1G -n 3ware-swraid5-type-c3 -y &)

7.Results recorded in a .csv file manually.

8.Reboot


Exceptions