When I started the media collection project, I was using a NETGEAR ND520 drive, but it turned out to be incredibly slow and rather unreliable. I was faced with a "buy-or-build" decision for a more reliable server with higher capacity. The lack of a good 1 RU (1.75") OEM chassis that could hold 4 drives turned me toward pre-built solutions. I selected the Snap Server 4100 (Snap has gone through many incarnations, first as Meridian Data, then a part of Quantum, then an independent company again - maybe Quantum was upset that they wouldn't use Quantum-branded drives in their products, preferring IBM drives, and now they are owned by Adaptec). The 4100 is a 1 RU chassis which came with 4 drives of varying sizes - the smallest model I've seen with "factory" drives had 30GB drives, and the largest was 120GB drives. They can be used in a variety of RAID/JBOD configurations. In a RAID 5 configuration, usable capacity is about 3/4 of the total drive capacity, minus about 1GB for overhead.
Since then, I've upgraded the 4100's to larger and larger drives, with the most recent incarnation holding 4 120GB drives, for about 350GB of usable storage. These units are quite common on the used market, particularly with smaller capacity drives installed. The Dell 705N is an OEM version of the 4100 which can also be upgraded.
Unfortunately, Snap decided to not support 48-bit addressing on the 4100, which means that drives larger than approximately 137GB can't be used at their full capacity. Despite a number of negotiations to have this feature implemented on the 4100, Snap finally decided not to do so. I can't really blame them - the 4100 is a nearly-discontinued product, and adding a feature to let customers put larger drives in "on the cheap" really isn't in their best interest.
This meant that I would either need to add more 4100's to my already large collection (I had 13 of the 4100 units now) or I would need to change to newer hardware which would support larger drives.
I decided to build my own servers this time, for a number of reasons:
When I started planning for this project, the Western Digital WD2500 was the largest single drive available, at 250GB per drive. Western Digital called these drives "Drivezilla", so calling a chassis with 24 of them "RAIDzilla" was an obvious choice.
However, when I actually started pricing parts for the system, Seagate had just announced a 400GB drive with a 5-year warranty. I changed my plans and decided to build a server with 16 of the Seagate 400GB drives instead of 24 of the Western Digital 250GB ones.
I also planned on using FreeBSD as the operating system for the server, but I needed features which were only available in the 5.x release family, which was in testing at the time. Between these delays, the complete system didn't get integrated (that's computer geek for "put together") until early January, 2005. Fortunately, pieces of it were up and running for 6 months or so by then, so I had a lot of experience with what would work and what wouldn't by the time it was time to build the first production server.
Once I made the decision to use a 16-bay chassis, I selected the Ci Design SR316 as the base of the system. It holds up to 16 hot-swap Serial ATA (SATA) drives, a floppy drive, CD-ROM, a triple-redundant power supply, and a variety of motherboards.
For the motherboard, I selected the Tyan Thunder i7501 Pro with the optional SCSI controller. I had used Tyan motherboards in the past and was mostly satisfied with them (anyone remember the Tomcat COAST fiasco?). It supports 2 Intel Xeon processors. I selected the 3.06GHz / 533MHz ones as the "sweet spot" on the price/performance curve. I used 2 processors so I could feel free to run local programs on the server without impacting its file-serving performance. I often do CPU-intensive tasks such as converting CD images to MP3s, checksumming files, etc. The motherboard has 3 on-board Ethernet ports, one which supports 10/100 Mbit and two that support 10/100/1000 Mbit. I felt that Gigabit Ethernet performance was necessary for this project, and this board had two of them already installed, which was ideal.
For memory, I use Kingston products exclusively. I selected two of the KVR266X72RC25L/2G modules as they were on Tyan's approved memory list, and 4GB would give me lots of memory for disk buffers. While the motherboard supports up to 12GB of memory (6 of these 2GB modules), operating system support for more than 4GB is not common at this time.
One of the most important items for a file server is the disk controller. I picked the 3Ware/AMCC 9500S-8MI controllers. Each controller supports 8 drives and connects to the chassis backplane via a Multilane Interconnect (MI) cable. This cable takes the place of 4 normal SATA cables, reducing the total disk cable count from 16 to 4.
Finally, I added internal SCSI cables and external terminators from CS Electronics. The folks at CS are wonderful, building and shipping whatever custom cables I've needed in only a day or two.
The 16 drives in the system are split into 2 independent groups of 8, with one group on one controller and the other group on the second controller. Within the groups of 8, 7 drives are used as a RAID 5 set with the 8th drive being a "hot spare" in case any of the other 7 drives fail.
As I mentioned above, I'm using FreeBSD 6.x as the operating system. I also use Samba as my CIFS server software, and rdiff-backup for synchronizing my offsite backup RAIDzillas to the local units. There is a large variety of other software installed as well - one of the nice things about the RAIDzilla as opposed to vendor's packaged NAS box is that I can run a huge amount of software on them locally without needing to build a customized NAS OS (if the sources are even available) and cross-compiling the applications.
If I were building these from scratch now, the major change I'd make would be to use a single 16-channel RAID card, so I'd have one parity disk and one spare drive in the chassis, instead of the two of each I have now.
I'd use more modern hardware, such as a PCI Express motherboard and RAID card, and go with larger-capacity drives (750GB or 1TB).
Since support for systems with > 4GB of memory is now common, I might also experiment with a huge memory size - it should be possible to easily run 16GB or even 32GB on server-class motherboards today.
Each of the images is clickable to display a higher-resolution version.
This is the front view of the server, which is the only part you'll see when it is installed in a rack. Most of the front is taken up by the 16 hot-swap drive bays, with a little space left on the top for the floppy, control panel, and CD-ROM.
Here is a freshly-opened carton of 20 400GB Seagate disk drives. It is important that all drives be identical, down to the revision of the drive and firmware, for the best RAID performance. The best way to ensure that is to purchase a case lot from the manufacturer.
In this view of the top of the chassis (with the cover removed) you can see the three large cooling fans that pull air in across the disk drives and then exhaust it out the back of the case.
This is the back part of the case, where you can see the motherboard with two CPUs mounted (under the black plastic covers), and the triple redundant power supply on the right.
Here you can see a close-up picture of the expansion card area. The two 3Ware controllers are prominent in the center of the picture, with the disk cables exiting in a coil to the right. The wavy flat red and gray cables on the controllers connect the controllers to the 16 individual drive activity lights visible from the front. At the bottom of the picture are the custom orange and white Ultra-320 SCSI cables which connect bulkheads on the back of the chassis to the two internal SCSI channels. These are used to attach devices such as DLT tape drives.
This is a close-up shot of the 2 2GB memory SIMMs. For someone who has been in the computer industry as long as I have, this type of density is amazing. The first memory board I purchased new (in 1978) was 16 inches square and a half inch thick, held a whopping 8Kbytes of memory, and cost $22,000. And that was considered a major accomplishment.
For the computer geeks out there, this is a "dmesg" output of the system booting up, listing the installed hardware:
Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 7.2-STABLE #0: Thu Jun 11 20:17:49 EDT 2009 terry@rz1.glaver.org:/usr/obj/usr/src/sys/RAIDZILLA Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Xeon(TM) CPU 3.06GHz (3065.81-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x4400<CNXT-ID,xTPR> Logical CPUs per core: 2 real memory = 4160684032 (3967 MB) avail memory = 4073725952 (3885 MB) ACPI APIC Table: <A M I OEMAPIC > FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP/HT): APIC ID: 1 cpu2 (AP): APIC ID: 6 cpu3 (AP/HT): APIC ID: 7 ioapic0 <Version 2.0> irqs 0-23 on motherboard ioapic1 <Version 2.0> irqs 24-47 on motherboard ioapic2 <Version 2.0> irqs 48-71 on motherboard ioapic3 <Version 2.0> irqs 72-95 on motherboard ioapic4 <Version 2.0> irqs 96-119 on motherboard kbd1 at kbdmux0 acpi0: <A M I OEMRSDT> on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, f7f00000 (3) failed Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 pcib1: <ACPI PCI-PCI bridge> at device 2.0 on pci0 pci5: <ACPI PCI bus> on pcib1 pcib2: <ACPI PCI-PCI bridge> at device 29.0 on pci5 pci7: <ACPI PCI bus> on pcib2 em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xd880-0xd8bf mem 0xfe9c0000-0xfe9dffff irq 48 at device 1.0 on pci7 em0: [FILTER] em0: Ethernet address: 00:e0:81:28:94:d6 em1: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xdc00-0xdc3f mem 0xfe9e0000-0xfe9fffff irq 49 at device 1.1 on pci7 em1: [FILTER] em1: Ethernet address: 00:e0:81:28:94:d7 pcib3: <ACPI PCI-PCI bridge> at device 31.0 on pci5 pci6: <ACPI PCI bus> on pcib3 3ware device driver for 9000 series storage controllers, version: 3.70.05.001 twa0: <3ware 9000 series Storage Controller> port 0xc800-0xc8ff mem 0xfe8ffc00-0xfe8ffcff,0xfb800000-0xfbffffff irq 24 at device 3.0 on pci6 twa0: [ITHREAD] twa0: INFO: (0x04: 0x0053): Battery capacity test is overdue: twa0: INFO: (0x15: 0x1300): Controller details:: Model 9500S-8MI, 8 ports, Firmware FE9X 2.08.00.009, BIOS BE9X 2.03.01.052 pcib4: <ACPI PCI-PCI bridge> at device 3.0 on pci0 pci2: <ACPI PCI bus> on pcib4 pcib5: <ACPI PCI-PCI bridge> at device 29.0 on pci2 pci4: <ACPI PCI bus> on pcib5 ahd0: <Adaptec AIC7902 Ultra320 SCSI adapter> port 0xb000-0xb0ff,0xa800-0xa8ff mem 0xfe6fc000-0xfe6fdfff irq 98 at device 2.0 on pci4 ahd0: [ITHREAD] aic7902: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 67-100Mhz, 512 SCBs ahd1: <Adaptec AIC7902 Ultra320 SCSI adapter> port 0xb800-0xb8ff,0xb400-0xb4ff mem 0xfe6fe000-0xfe6fffff irq 99 at device 2.1 on pci4 ahd1: [ITHREAD] aic7902: Ultra320 Wide Channel B, SCSI Id=7, PCI-X 67-100Mhz, 512 SCBs pcib6: <ACPI PCI-PCI bridge> at device 31.0 on pci2 pci3: <ACPI PCI bus> on pcib6 twa1: <3ware 9000 series Storage Controller> port 0x9800-0x98ff mem 0xfe3ffc00-0xfe3ffcff,0xfa000000-0xfa7fffff irq 72 at device 3.0 on pci3 twa1: [ITHREAD] twa1: INFO: (0x04: 0x0053): Battery capacity test is overdue: twa1: INFO: (0x15: 0x1300): Controller details:: Model 9500S-8MI, 8 ports, Firmware FE9X 2.08.00.009, BIOS BE9X 2.03.01.052 uhci0: <Intel 82801CA/CAM (ICH3) USB controller USB-A> port 0xec00-0xec1f irq 16 at device 29.0 on pci0 uhci0: [GIANT-LOCKED] uhci0: [ITHREAD] usb0: <Intel 82801CA/CAM (ICH3) USB controller USB-A> on uhci0 usb0: USB revision 1.0 uhub0: <Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0 uhub0: 2 ports with 2 removable, self powered pcib7: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci1: <ACPI PCI bus> on pcib7 fxp0: <Intel 82551 Pro/100 Ethernet> port 0x8c00-0x8c3f mem 0xfe2fe000-0xfe2fefff,0xfe2a0000-0xfe2bffff irq 19 at device 1.0 on pci1 miibus0: <MII bus> on fxp0 inphy0: <i82555 10/100 media interface> PHY 1 on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:e0:81:28:93:fb fxp0: [ITHREAD] vgapci0: <VGA-compatible display> port 0x8800-0x88ff mem 0xfd000000-0xfdffffff,0xfe2ff000-0xfe2fffff irq 18 at device 2.0 on pci1 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH3 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 31.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] ata1: <ATA channel 1> on atapci0 ata1: [ITHREAD] ichsmb0: <Intel 82801CA (ICH3) SMBus controller> port 0x540-0x55f at device 31.3 on pci0 ichsmb0: [GIANT-LOCKED] ichsmb0: [ITHREAD] smbus0: <System Management Bus> on ichsmb0 smb0: <SMBus generic I/O> on smbus0 acpi_button0: <Power Button> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model IntelliMouse Explorer, device ID 4 sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A, console sio0: [FILTER] sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A sio1: [FILTER] fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: [FILTER] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 cpu0: <ACPI CPU> on acpi0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 cpu1: <ACPI CPU> on acpi0 p4tcc1: <CPU Frequency Thermal Control> on cpu1 cpu2: <ACPI CPU> on acpi0 p4tcc2: <CPU Frequency Thermal Control> on cpu2 cpu3: <ACPI CPU> on acpi0 p4tcc3: <CPU Frequency Thermal Control> on cpu3 pmtimer0 on isa0 orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc97ff,0xc9800-0xcafff,0xcb000-0xcb7ff,0xcb800-0xccfff,0xcd000-0xce7ff pnpid ORM0000 on isa0 ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode ppbus0: <Parallel port bus> on ppc0 ppbus0: [ITHREAD] lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppc0: [GIANT-LOCKED] ppc0: [ITHREAD] sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounters tick every 1.000 msec Waiting 5 seconds for SCSI devices to settle acd0: CDROM <CD-224E/1.9A> at ata1-master UDMA33 sa0 at ahd0 bus 0 target 5 lun 0 sa0: <QUANTUM SDLT600 3535> Removable Sequential Access SCSI-4 device sa0: 160.000MB/s transfers (80.000MHz DT, offset 120, 16bit) SMP: AP CPU #3 Launched! SMP: AP CPU #1 Launched! SMP: AP CPU #2 Launched! da0 at twa0 bus 0 target 0 lun 0 da0: <AMCC 9500S-8MI DISK 2.08> Fixed Direct Access SCSI-3 device da0: 2288754MB (4687368192 512 byte sectors: 255H 63S/T 291775C) da1 at twa1 bus 0 target 0 lun 0 da1: <AMCC 9500S-8MI DISK 2.08> Fixed Direct Access SCSI-3 device da1: 2288754MB (4687368192 512 byte sectors: 255H 63S/T 291775C) ch0 at ahd0 bus 0 target 5 lun 1 ch0: <QUANTUM UHDL 0061> Removable Changer SCSI-2 device ch0: 160.000MB/s transfers (80.000MHz DT, offset 120, 16bit) ch0: 16 slots, 1 drive, 1 picker, 0 portals Trying to mount root from ufs:/dev/da0s1a
This shows the active filesystems. The /backups* filesystems are a mirrored copy of the primary filesystems to be used in the event one of the RAID arrays is unavailable, allowing the system to be booted for recovery purposes.
The actual filesystems provided to the network are two 2TB filesystems, named /data0 and /data1. Additionally, 2 120GB filesystems named /work0 and /work1 are provided for scratch space for network users.
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/da0s1a 507630 51894 415126 11% / devfs 1 1 0 100% /dev /dev/da0s1d 16244334 37408 14907380 0% /var /dev/da0s1e 16244334 6 14944782 0% /var/crash /dev/da0s1f 16244334 1607096 13337692 11% /usr /dev/da0s1g 8122126 62 7472294 0% /tmp /dev/da0s1h 8121252 26 7471526 0% /sysprog /dev/da0s2h 120462010 4 110825046 0% /work0 /dev/da0s3h 2079915614 859342082 1054180284 45% /data0 /dev/da1s1a 507630 249998 217022 54% /backups_root /dev/da1s1d 16244334 38762 14906026 0% /backups_var /dev/da1s1e 16244334 62 14944726 0% /backups_var_crash /dev/da1s1f 16244334 1686090 13258698 11% /backups_usr /dev/da1s1g 8122126 126 7472230 0% /backups_tmp /dev/da1s1h 8121252 86 7471466 0% /backups_sysprog /dev/da1s2h 120462010 4 110825046 0% /work1 /dev/da1s3h 2079915614 1474939512 438582854 77% /data1
Here is a windows view of one of the server's filesystems showing its 1.93TB capacity. Please note that this system is firewalled from the Internet and don't bother trying to come visit. It will only bother me and cause me to make unhappy noises at your ISP.
Here are some quick benchmarks I ran. Note that this is only testing one of the two RAID channels in the system - total throughput would be approximately double this (subject to any CPU limitations). I ran 2 benchmarks, one with 2GB of data and one with 16GB of data. The read performance on the 2GB test is dominated by cache effects, as 2GB fits comfortably in the filesystem cache.
I did some Ethernet performance testing between a pair of RAIDzillas and was able to achieve > 650Mbit/sec using FTP (get /dev/zero /dev/null). Performance of actual file serving is limited by the speed of the disk subsystem, of course.
I haven't done a lot of performance tuning yet (mostly because this level of throughput is more than adequate for my applications).
Iozone www.smallnetbuilder.com test (local): Iozone: Performance Test of File I/O Version $Revision: 3.267 $ Compiled for 32 bit mode. Build: freebsd Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Jean-Marc Zucconi, Jeff Blomberg, Erik Habbinga, Kris Strecker, Walter Wong. Run began: Mon Apr 16 23:45:42 2007 Auto Mode CPU utilization Resolution = 0.000 seconds. CPU utilization Excel chart enabled Using Maximum Record Size 64 KB Using minimum file size of 4 kilobytes. Using maximum file size of 1048576 kilobytes. Cross over of record size disabled. Command line used: iozone -Rab raidzilla-local.wks -i 0 -i 1 -+u -f /work2/temp.tmp -q 64k -n 4k -g 1G -z Output is in Kbytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 Kbytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. KB reclen write rewrite read reread 4 4 97652 401314 582427 806376 8 4 154056 467294 660446 887549 8 8 222501 623622 992567 1612752 16 4 168697 550950 640316 1004538 16 8 262343 764288 1068515 1605256 16 16 348064 1068515 1347413 2329708 32 4 213448 627755 799840 1033989 32 8 320477 914254 1139314 1681806 32 16 463130 1233554 1528576 2641785 32 32 463130 1331449 1601534 2930153 64 4 217743 645579 799377 1049372 64 8 374488 969761 1143223 1828508 64 16 503814 1363961 1452528 2662899 64 32 503814 1336792 1599680 3363612 64 64 557144 1460430 1780008 3541098 128 4 224556 539674 814915 1040839 128 8 325611 735635 1142750 1749872 128 16 413039 947186 1504659 2660335 128 32 460514 983630 1526043 2969325 128 64 463696 942199 1827299 3036502 256 4 201422 490560 812329 955451 256 8 262284 621448 1080434 1523457 256 16 367241 782721 1570244 2131261 256 32 349206 808050 1729594 2325094 256 64 348300 850956 1817419 2210228 512 4 238376 432019 800163 826016 512 8 301324 566946 1096322 929322 512 16 292222 680918 1454140 1625889 512 32 357985 729244 1594501 1809465 512 64 369694 730236 1488408 1924603 1024 4 273428 405384 815943 821876 1024 8 350214 515366 1192117 1227903 1024 16 271681 607680 1544504 1609925 1024 32 421579 616490 1654579 1786736 1024 64 416106 618354 1659694 1906496 2048 4 29067 397207 816937 829480 2048 8 244450 494817 1197736 1221235 2048 16 404654 223191 1570714 1622945 2048 32 406685 270040 1728076 1796754 2048 64 420029 355120 1773019 1911931 4096 4 53850 189663 824338 825962 4096 8 63517 139064 1216893 1220178 4096 16 59556 158600 1123101 1477608 4096 32 46457 116067 1735549 1799729 4096 64 49468 101476 1751831 1907643 8192 4 74959 98131 827650 833634 8192 8 68894 116001 1216885 1218871 8192 16 65117 120429 1040264 1561607 8192 32 58750 93341 1591922 1787074 8192 64 68920 109116 1861428 1912294 16384 4 83068 77595 829366 826553 16384 8 87731 87551 1224622 1224601 16384 16 55223 101425 1610230 1612118 16384 32 80081 69923 1783170 1784003 16384 64 100940 66056 1887078 1890400 32768 4 91932 88726 829635 829340 32768 8 89866 82737 1227026 1220098 32768 16 106548 79654 1201874 1607852 32768 32 92437 78224 1783374 1784555 32768 64 89668 93109 1896290 1890811 65536 4 95044 93261 829675 825194 65536 8 95452 102276 1228390 1217212 65536 16 94824 98805 1613466 1597655 65536 32 93651 101317 1791683 1771819 65536 64 101596 96864 1903958 1867024 131072 4 96234 98743 541091 541042 131072 8 94085 95320 685534 686549 131072 16 95667 99172 793086 790381 131072 32 99015 95541 835438 835694 131072 64 98118 97895 854172 856680 262144 4 98248 97737 539225 538871 262144 8 96171 95733 682240 683040 262144 16 95478 97660 788808 787876 262144 32 96520 98128 841807 833786 262144 64 98757 98122 854741 855835 524288 4 98150 99017 540235 539905 524288 8 97546 98534 682410 684669 524288 16 97620 98365 787614 786192 524288 32 98228 98370 835702 839428 524288 64 96632 98569 856034 854879 1048576 4 98640 98607 540553 540760 1048576 8 96916 98245 689887 684856 1048576 16 97068 98471 786585 792558 1048576 32 97068 98276 834014 833814 1048576 64 96968 98436 860658 856918 iozone test complete. Iozone www.smallnetbuilder.com test (client PC via CIFS): Iozone: Performance Test of File I/O Version $Revision: 3.281 $ Compiled for 32 bit mode. Build: Windows Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Erik Habbinga, Kris Strecker, Walter Wong. Run began: Tue Apr 17 03:07:04 2007 Auto Mode CPU utilization Resolution = -0.000 seconds. CPU utilization Excel chart enabled Using Maximum Record Size 64 KB Using minimum file size of 4 kilobytes. Using maximum file size of 1048576 kilobytes. Cross over of record size disabled. Command line used: iozone -Rab raidzilla.wks -i 0 -i 1 -+u -f u:\temp.tmp -q 64k -n 4k -g 1G -z Output is in Kbytes/sec Time Resolution = 0.000003 seconds. Processor cache size set to 1024 Kbytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. KB reclen write rewrite read reread 4 4 5419 90621 234724 397727 8 4 15588 135717 16854 371900 8 8 16410 172508 17439 636363 16 4 27429 192837 14625 430621 16 8 28679 253419 17106 690032 16 16 21994 316423 21442 1060605 32 4 54623 234244 9433 433884 32 8 58771 357954 11907 707070 32 16 42065 450966 20732 1013676 32 32 44622 540308 32839 1613315 64 4 69232 294083 14440 444836 64 8 102869 450966 18513 743801 64 16 80410 610909 20123 1151210 64 32 84008 758579 29288 1613315 64 64 92078 884520 37979 2101751 128 4 147515 319068 24064 446570 128 8 169383 518305 27375 753588 128 16 189487 736626 28838 1159953 128 32 170517 956538 32967 1619016 128 64 225040 1117516 36896 2101751 256 4 191148 327272 4406 440983 256 8 244233 561153 30751 741394 256 16 313072 839160 3195 1078074 256 32 351097 1114797 37258 1642228 256 64 389114 1343641 2323 1829068 512 4 220650 341480 31165 431229 512 8 358935 574162 16232 721262 512 16 456583 864493 10749 1076175 512 32 539195 1172570 8228 1456857 512 64 572369 1331923 6604 1748785 1024 4 284938 341831 12369 420929 1024 8 424930 559953 12582 688218 1024 16 593788 869208 21272 992272 1024 32 728863 1148325 10271 1379027 1024 64 844380 1441389 9415 1678321 2048 4 18526 325890 35202 406009 2048 8 41606 544078 33715 591822 2048 16 60872 813190 35307 946045 2048 32 115389 1078391 38746 1244636 2048 64 218617 1275606 38163 1475031 4096 4 14141 314267 35381 389083 4096 8 24067 509497 35853 621579 4096 16 44330 754946 36014 960800 4096 32 41193 999442 38705 1267555 4096 64 160770 1179076 38233 1461213 8192 4 11191 315915 30445 402537 8192 8 14811 509550 35863 471964 8192 16 29871 729171 35787 973592 8192 32 71658 967840 38891 1296645 8192 64 129337 1143444 33556 1564177 16384 4 10154 282599 35631 401152 16384 8 17069 506313 32458 651853 16384 16 30949 682937 32907 967553 16384 32 61081 951973 35165 1239611 16384 64 134512 1103553 37985 1546523 32768 4 7701 110972 35718 400138 32768 8 14488 126219 34374 644004 32768 16 14499 104241 34058 958437 32768 32 7426 22660 36891 1275703 32768 64 23131 41592 38038 481228 65536 4 8579 55692 34082 394228 65536 8 11998 53168 34091 34996 65536 16 14099 62417 34139 960926 65536 32 3833 11193 37036 1279027 65536 64 7412 13894 37190 1542506 131072 4 8826 44509 32602 342445 131072 8 11719 43346 34101 648674 131072 16 16058 46844 34443 935007 131072 32 8639 12777 32417 1243162 131072 64 4873 9351 35683 979137 262144 4 8420 41827 34288 394543 262144 8 12436 35846 34192 643853 262144 16 16197 44707 34241 952680 262144 32 4320 7991 36417 1239832 262144 64 5295 10355 35667 1507513 524288 4 9247 34684 34199 375231 524288 8 12886 32376 33806 599873 524288 16 16414 39454 31048 945440 524288 32 5126 9423 36399 1121913 524288 64 4852 11769 35386 1524367 1048576 4 10991 25622 33738 379241 1048576 8 12654 33492 33896 614082 1048576 16 13314 24679 34186 901599 1048576 32 5725 10757 36275 1194654 1048576 64 5252 13363 35132 1421791 iozone test complete. bonnie++ 2GB test (local): Script started on Thu Apr 19 01:38:53 2007 rz2:/tmp# time bonnie++ -d /work2 -s 2g -u root Using uid:0, gid:0. Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... Create files in sequential order...done. Stat files in sequential order...done. Delete files in sequential order...done. Create files in random order...done. Stat files in random order...done. Delete files in random order...done. Version 1.93c ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP rz2.glaver.org 2G 201 99 93173 34 87933 38 337 99 550513 99 1955 82 Latency 41631us 150ms 224ms 204ms 1497us 182ms Version 1.93c ------Sequential Create------ --------Random Create-------- rz2.glaver.org -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 4655 20 +++++ +++ +++++ +++ 4885 21 +++++ +++ +++++ +++ Latency 803ms 293us 372us 786ms 122us 15702us 1.93c,1.93c,rz2.glaver.org,1,1176993704,2G,,201,99,93173,34,87933,38,337,99,550513,99,1955,82,16,,,,,4655,20,+++++,+++,+++++,+++,4885,21,+++++,+++,+++++,+++,41631us,150ms,224ms,204ms,1497us,182ms,803ms,293us,372us,786ms,122us,15702us 3.976u 44.471s 1:30.25 53.6% 47+318k 5+35421io 2pf+0w bonnie++ 16GB test (local): rz2:/tmp# time bonnie++ -d /work2 -s 16g -u root Using uid:0, gid:0. Writing a byte at a time...done Writing intelligently...done Rewriting...done Reading a byte at a time...done Reading intelligently...done start 'em...done...done...done...done...done... Create files in sequential order...done. Stat files in sequential order...done. Delete files in sequential order...done. Create files in random order...done. Stat files in random order...done. Delete files in random order...done. Version 1.93c ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP rz2.glaver.org 16G 201 99 93708 37 16021 7 343 99 68782 17 305.0 17 Latency 41769us 564ms 747ms 36859us 175ms 82297us Version 1.93c ------Sequential Create------ --------Random Create-------- rz2.glaver.org -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 4538 20 +++++ +++ +++++ +++ 5622 25 +++++ +++ 25383 51 Latency 970ms 74us 65us 669ms 58us 310ms 1.93c,1.93c,rz2.glaver.org,1,1176993337,16G,,201,99,93708,37,16021,7,343,99,68782,17,305.0,17,16,,,,,4538,20,+++++,+++,+++++,+++,5622,25,+++++,+++,25383,51,41769us,564ms,747ms,36859us,175ms,82297us,970ms,74us,65us,669ms,58us,310ms 11.679u 202.225s 25:32.56 13.9% 47+290k 271672+149224io 1pf+0w