It seems that every month brings about new government regulation that requires companies to keep more extensive records on some part of their business. This drives the need to expand storage, but getting the budgetary OK to buy more storage can be difficult these days. One way to get around at least some of the expense of new storage is to build your own system.
Of course, it's simple to add a drive or two to an existing server, or connect an external drive via USB, SCSI, or FireWire. For the purposes of this discussion, I'm only going to consider redundant, reasonably high-performance storage. This can range from a basic SATA RAID adapter connected to three or more SATA drives, to an external RAID system that allows you to drop in your own drives. In addition to the hardware, you can save money on software that adds the same features available in high-end external storage systems, such as thin provisioning, storage virtualization, tiered storage, and replication.
Internal controllers are available from a wide number of vendors, including Adaptec, Promise, and LSI. These controllers can support as many as 16 SAS or SATA drives. They support RAID levels 0, 1, and 5, and some support other variants such as RAID 6, RAID 10, or RAID 50, which boost either performance or redundancy. The controllers are available in PCI or PCI-E versions, and they are easy to install, although with many operating systems it's necessary to load drivers during installation.
The biggest issue with internal RAID installations is cooling. Even four drives can generate a fair amount of heat, while eight or 12 drives will be difficult to cool if mounted in a case that isn't specifically engineered for it.
The next step up in performance and capability is an external system such as the Promise vTrak e610 system, which is a 3U chassis that provides one or two Fibre Channel controllers and supports 16 SAS or SATA drives. This system costs about $4,500 with one controller and no drives, which means a 32TB system would cost about $11,000. Setting the system up is a simple matter of installing the drives into the carriers, installing the carriers in the chassis, and running through the configuration. The system provides RAID levels 0, 1, 5, 6, 10, 50, or 60, but doesn't include features such as thin provisioning, replication, and snapshots.
After the storage hardware configuration is in place, software can be added to provide the same features you find in high-end storage systems. For example, DataCore's SANmelody (see my review) provides iSCSI functionality, snapshots, synchronous and asynchronous replication, remote replication, thin provisioning, virtual disk pooling, multi-path capability, VSS support, VMware support, and monitoring, analysis, and reporting tools. It works with any storage attached to a Windows server, either internally or externally.
The end result is a system with the same capabilities as much more expensive systems. What you don't get is the integration, ease of installation, and one-stop support you'd get with higher-priced systems. When combining hardware from two or three vendors, plus software running on Windows, resolving problems could be a complex exercise, if any crop up.