Hard drives are a critical part of any computer system. When they fail, the result can range from annoying to catastrophic depending on whether your data has been properly backed up. So when you need to replace a failed hard drive, it might be helpful to pre-stress the replacement drive in order to test whether it is prone to premature failure. After all, you don't want to lose your data twice.
Some hard drive manufacturers provide stress-testing tools to evaluate the performance and reliability of their drives, but there are also a number of free and commercial tools available. (Note that some disk-stressing tools are destructive and should not be used on disks that already have data stored on them.)
The Windows System Assessment Tool (WinSAT) is a command-line tool included in Windows 7 that can be used to evaluate the capabilities and performance characteristics of your computer’s hardware components, including processor, memory, disk and graphics subsystems.
The WINSAT DISK command context can be used to measure disk performance for sequential and random reads or writes. For example, the command WINSAT DISK –SEQ –READ –N 0 –V assesses sequential read I/O for disk 0 and provides verbose output as shown in Figure 1. (Microsoft TechNet provides a detailed syntax of the WINSAT DISK command.)
By running the WINSAT DISK command for many iterations, you can see how well your new hard drive holds up under an extensive I/O load.
Figure 1: The WINSAT DISK command can be used to assess disk performance.
DISKIO.EXE is a utility included in the Windows Logo Kit (WLK) that can be used to stress disks on a computer by sending them as much asynchronous I/O as they can handle. The stress test runs for 90 minutes, and the results are recorded in a log file named diskio.wtl. The WLK is mainly intended for system builders so they can certify their hardware, but you can download the WLK by joining Microsoft Connect. A brief description of how to use DISKIO.EXE can be found on this MSDN blog.
Bart’s Test Stuff
An oldie but still a goodie is Bart’s Test Stuff, a small win32 application that can be used for stress-testing storage devices at both the file and device level. The utility can be used to write data and read it back for both sequential and random disk access. It's implemented as a plug-in for Bart’s Preinstalled Environment (BartPE), a bootable CD you can build from your Windows XP source files, provided you still have a copy of Windows XP kicking around somewhere.
To use Bart's Test Stuff, simply boot from your BartPE CD and select Bart Test Stuff under Programs from the GO menu, as shown in Figure 2. Then click Start in the Bart’s Test Stuff window, and different types of read/write operations will run continuously until you're finished.
Figure 2: Stressing disks with Bart’s Test Stuff.
IOMeter is a disk-stressing engine originally developed by Intel that can be used for almost any kind of disk activity imaginable. You can choose to do just a portion of the disk or the entire thing.
The tool was later handed off to the Open Source Development Lab (OSDL) and registered as a SourceForge project. While further development seems to have stopped a few years ago, many experts still use it as one of their key hardware testing utilities in their personal tool arsenal.
IOMeter comes with an extensive user’s manual in PDF form that walks you through how to use the tool. The guide even includes a Quick Start section that can get you up and running with the tool in minutes. Before IOMeter can start stressing a disk, it prepares the disk by filling the entire disk volume with a single large file that it can then read to or write from. If the disk is large, it can take quite a while for this disk preparation action to complete. Figure 3 shows a screenshot of IOMeter at work measuring various aspects of disk performance at 10-second intervals.
Figure 3: Using IOMeter to measure different aspects of disk performance under heavy load.
IOMeter can even display disk performance statistics in a tachometer-style form, as shown in Figure 4. This is a great way of using IOMeter to show real-time disk performance during a group presentation (especially for BMW or Audi owners). To download IOMeter and its accompanying Users Guide, go to iometer.org.
Figure 4: Geeks who enjoy fast cars will probably enjoy IOMeter.
unRAID Server’s Preclear Disk Script
If you’re replacing a disk in a RAID array on your computer, try running the Preclear Disk script for unRAID Server. This pre-stresses the new disk to see if it might fail under heavy load before you actually use the disk as part of the array. An embedded NAS server OS developed by Lime Technology for digital media storage, unRAID is designed to boot from a USB flash device and lets you view your system’s storage as if it were a single large file system.
The Preclear Disk script (PRECLEAR_DISK.SH) lets you burn-in the new disk before adding it to a RAID array. On a 2 terabyte disk, the script will run for about 30 hours. Drives that don’t fail this initial burn-in process are generally very likely to work reliably for a long period of time. For more information about UnRAID, see the unRAID Wiki, and for details about using the Preclear Disk script, see this thread; lime-technology.com provides information on how to purchase unRAID Server.