I've already written about changing the I/O scheduler for hard disk under Linux and avoiding sudden outburst of disk I/O using ionice utility. I/O schedulers can have many purposes such as:
Minimize time wasted by hard disk seeks.
Prioritize a certain processes' I/O requests.
Give a share of the disk bandwidth to each running process etc
Google has sponsored Gelato@UNSW to take a close look at the disk schedulers in Linux, particularly when combined with RAID. They have now published their findings:
We benchmarked the four standard Linux disk schedulers using several different tools (see our wiki for full details) and lots of different workloads, on single SCSI and SATA disks, and on hardware and software RAID arrays from two to eight spindles (hardware raid) and up to twenty spindles (software raid), trying RAID levels 0 through 6.
We had to fix some of the benchmarking tools (the fixes are now upstream), and we developed a new one: a Markov Chain based replay tool, which allows a workload to be characterised and then a similar workload generated.
=> Selected comparisons of throughput and latency with the different Linux schedulers (via Google open source blog)
This is an interesting filesystem comparison. If you are looking to build cheap storage for personal use file system decision is quite important:
This is my attempt to cut through the hype and uncertainty to find a storage subsystem that works. I compared XFS and EXT4 under Linux with ZFS under OpenSolaris. Aside from the different kernels and filesystems, I tested internal and external journal devices and software and hardware RAIDs. Software RAIDs are "raid-10 near2" with 6 disks on Linux. On Solaris the zpool is created with three mirrors of two disks each. Hardware RAIDs use the Areca's RAID-10 for both Linux and Solaris. Drive caches are disabled throughout, but the battery-backed cache on the controller is enabled when using hardware RAID.
=> ZFS, XFS, and EXT4 filesystems compared
Tux does all sort of things including setting up a RAID on USB sticks :)
From the article:
This is an example of productive and practical use of a RAID. Granted, this project does not have the archaic grandeur of a Floppy Disk RAID, but then again, the capacity and performance of this system are utterly superior to those of a Floppy Disk RAID. The following is meant as an instruction sheet of how to build a rock-hard USB stick RAID system and simultaneously transform from an ordinary nerd to a SUPER LINUX GURU.
USB stick RAID in ACTION!