While virtual storage appliances (VSAs)—storage systems that run on a VM with no specialized hardware to support them—have been on the market in some form for a number of years, the product sector is starting to define itself with different variations of the virtual storage appliance theme. Today there are four loose categories of VSAs available from companies such as DataCore, FalconStor, TwinStrata and Virsto, and each have their place in the market. These categories are:
- Those that provide shared storage with no extra features
- Those that add new features to existing storage
- Those that optimize existing storage
- Those that are gateways to cloud storage
There tends to be considerable cross-over among the different categories, meaning that a particular VSA might combine the characteristics of two categories. But regardless of classification, all VSAs are designed to augment your existing storage, whether it’s direct-attached storage (DAS), NAS-based or SAN-based. They present some form of shared storage that can be used by the underlying virtual environment to provide advanced features either from the virtual environment or from the VSA itself. VSAs are popular with small businesses that need shared storage for redundancy and high availability, as well as with large enterprises that need to migrate data between disparate arrays.
In a VSA scenario, storage is presented to the virtual machine that makes up the VSA via standard virtual disk mechanisms. On VMware platforms, that means as a very large virtual disk; raw device; raw disk map; or via other networked storage mechanisms, such as iSCSI, NFS or CIFS (for non-VMware virtual environments). The VSA acts as a data store for virtual machine storage or presents storage directly to the VMs for their use. VSAs can make use of all the unused storage within your virtual environment (local disks, legacy systems, etc.).
VSA Category 1: Providing shared storage
At a minimum, all VSAs provide shared storage, enabling advanced virtual environment features, such as VMware’s vMotion or Hyper-V’s Live Migration, high-availability functions, and VMware’s Distributed Resource Scheduler. Some do much more, but those in this first category just provide shared storage, thereby making existing local disks available and improving overall functionality of the virtual environment. However, this category of virtual storage appliance has a weakness: Shared data may not be replicated between hosts so if the host that is running the VSA crashes, so does the storage environment. The open source Openfiler is an example of this type of VSA.
VSA Category 2: Adding storage system functionality
There are many features within any storage environment that many administrators find extremely useful, such as replication or mirroring, deduplication, thin provisioning, integration with the virtual environments, etc. These features can be provided by a type of virtual storage appliance across disparate storage hardware. VSAs in this category can replicate regardless of underlying storage, thereby adding intra- and intersite replication to your environment. In addition, these VSAs can make better use of the blocks of storage by deduplicating data and providing other lower-level storage features. FalconStor products and DataCore SANsymphony are examples of this type of VSA.
VSA Category 3: Optimizers
Many technologies, such as virtual desktops and databases, require storage that runs as fast as it can either by using raw-storage devices or by using optimizing VSAs. This third category of VSAs achieve their optimization either by providing large caching mechanisms so that writes to disks are optimized or by providing their own file system designed for the application to be virtualized.
Large cache systems are an obvious win as they put the VSA and its associated large amount of memory in the path of storage writes and reads. The virtual storage appliance acts as a cache layer to optimize all writes to the disk to the size the storage subsystem ultimately requires for high performance. DataCore’s SANsymphony is an example of large-cache-style VSAs.
Unique file system VSAs, for their part, optimize storage writes and reads based on the workload writing to them. Vendors in this space have realized that specific workloads write in specific and deterministic ways, and they have built file systems that optimize those writes across all underlying storage devices in use. There is quite a bit of overlap between optimizers and ones that add functionality to the storage environment; however, not all advanced forms of VSAs optimize for specific workloads. Virsto products are examples of this third type of VSA.
VSA Category 4: Cloud storage gateways
The last category of VSAs is a new breed that acts as a gateway to the cloud, which means it presents local cloud storage to the virtual environment as yet another shared storage device. Cloud storage gateways are extremely useful for backup and data protection but are generally too slow to run most normal workloads, unless the gateway has sufficient local cache. TwinStrata Cloud Array is an example of this type of VSA.