Storage virtualization features such as thin provisioning, acceleration, and replication have joined basic RAID as standard features of storage systems designed for relatively large data centers. Smaller companies with modest budgets and IT teams have had to muddle along with direct attached storage and entry-level disk arrays without a lot of virtualization features.
Not anymore. All the important storage virtualization features are available as software that can run on a standard x86 server, putting storage virtualization well within reach of small and midsize businesses. In addition, VMware and Microsoft have been putting more storage virtualization and storage management features, such as live migration and thin provisioning, into their hypervisors.
The upshot is that companies of almost any size can use more of their existing disk space (thus putting off additional purchases), improve application response times through faster storage performance, and speed the recovery of business operations via replication if and when disaster strikes.
A common approach to storage virtualization involves using a software target. A software target is a piece of software that turns a general-purpose x86 server and its local disks into a storage appliance. The most basic versions, like Microsoft's free iSCSI target for Windows servers, run as a service on a server and make some or all of their storage available as iSCSI volumes. Because each iSCSI LUN is a virtual disk file in the server's file system, volumes are thinly provisioned by default.
Simple targets are useful in development or test environments, but they lack the reliability needed for production use because the server they run on has multiple single points of failure. If the processor, RAID controller, or other key component fails, the storage system is dead and data is probably lost.
Many storage target software products, including those available from StarWind Software and Open-E, address the single-point-of-failure problem by synchronously mirroring data from the primary active storage server to a second server with its own storage and an automated failover process. This means the servers can be used in environments that require high availability.
Another high-availability option comes from NexentaStor. While most storage target software relies on hardware RAID controllers built into the server (or added to a PCIe slot), NexentaStor is based on ZFS, a combination file system and volume manager that does RAID but also solid-state disk-based read and write caching, data compression, and data deduplication in software. High-availability options for NexentaStor include an active-active dual-node configuration with shared JBODs.