This is the second of a four-part series on block-based storage virtualization technology. In the first story, “Block-level storage virtualization: Reasons to implement it,” we explain the reasons why IT departments would want to implement storage virtualization. In this story, we explain how to implement it at the server level. In the rest of the series, we examine how it's implemented in the storage array and at the network appliance level.
Server-level, or host-level, storage virtualization technology is implemented as a logical storage volume manager in a software layer between the OS and applications or file systems. Host-level solutions typically virtualize only the storage directly attached to that server, although some can span multiple storage subsystems that are connected on a SAN.
Early storage virtualization products were used to simplify allocation of internal disk drives and direct-attached storage connected to servers, as well as to support application clustering. Veritas Volume Manager and Foundation Suite were among the first of these solutions, which made it much easier to expand storage and provision capacity for applications and file services.
As capacities grew beyond what could be easily connected to a server, storage virtualization as a provisioning tool moved into the storage array. As capacities continued to grow and technologies such as iSCSI made shared storage an affordable proposition for smaller shops, storage virtualization also moved into network-based appliances and software running on general-purpose hardware.
But the rise of server and desktop virtualization has breathed new life into this technology, and host-based storage virtualization technology may be on the way back. Server virtualization platforms require a shared storage infrastructure to deliver some of their most compelling features, such as VMware’s vMotion and Distributed Resource Scheduler (DRS). Traditional SANs can provide this shared storage infrastructure, but many IT organizations are looking for an easier way to enable shared storage. Host-based virtualization is one option.
Server virtualization vendors, such as VMware, have identified storage as one of the “gating factors” to more widespread adoption of this technology. Because these hypervisor vendors have abstracted the CPU and memory resources for better control and increased utilization, it makes sense that they would want to control storage as well. But the concept of moving storage controller functionality into the host server, in what’s been called a “storage hypervisor,” brings up some potential problems. Handling storage services such as snapshots, clones and thin provisioning, which are important in virtual server and virtual desktop environments, can greatly reduce performance of the host server.
Virsto has developed a software solution that’s installed on each host server (either as a VM or a filter driver in the hypervisor) and sets up a virtualization layer, called the Virsto Storage Pool, on primary storage. It also creates a high-performance area of disk or solid-state storage called a “vLog.” Reads are sent directly to primary storage, but writes go to the vLog, which sends an acknowledgement back to the requesting VM or application. The vLog then de-stages these writes to primary storage asynchronously, so as not to impact write performance. This storage pool can contain as many as four tiers of storage, including SSDs and multiple disk drive types.
Similar to the way a cache operates, the vLog improves storage performance by decoupling the application on the front end from storage latency on the back end. It also sequentializes the random writes coming from the host, allowing optimal performance of this back-end storage. Host-level storage virtualization in the Virsto software makes this possible.
Virtual storage appliances
Another example of host-level storage virtualization is the virtual storage appliance (VSA).
A VSA is a storage controller that runs in a VM and virtualizes the storage directly attached to its host and other hosts in the same cluster. VSAs provide a simple shared storage infrastructure used by the host to support high availability, VM migration and improved storage provisioning. For many companies, this can eliminate the need to set up and manage a traditional SAN or NAS to support a virtual server and desktop infrastructure.
vSphere Storage Appliance. The VMware vSphere Storage Appliance runs as a VM, creating a shared storage pool from the DAS that's connected to each ESX/i host in a two- or three-node cluster. It provides RAID protection within each node and supports mirroring between nodes in the cluster. While technically a file-based architecture (NAS), the VMware VSA provides block-level storage virtualization of capacity resident on each host in the cluster and delivers the same benefits as shared block-based storage would in this implementation.
HP LeftHand Virtual SAN Appliance. While similar in function to the VMware VSA, the P4000 VSA software goes beyond the DAS connected to each host. It also allows for the creation of a shared storage pool using the external storage available on an iSCSI or FC SAN. It essentially turns any available storage into a LeftHand storage node, which can be local or in a remote location for DR purposes. The P4000 provides snapshots and thin provisioning and supports Hyper-V as well as VMware.
DataCore SANsymphony-V. The DataCore solution is aVM implementation of its SANsymphony software that consolidates the DAS within each VMware, Hyper-V or Xen host into a shared storage pool. SANsymphony-V can also virtualize external, network-based storage like the HP solution, and the software can be redeployed on external servers when migrating to a traditional shared storage infrastructure. SANsymphony-V also provides storage services including snapshots, thin provisioning, auto-tiering and remote replication.
FalconStor NSS Virtual Appliance. FalconStor’s Network Storage Server Virtual Appliance (NSS VA) is a VMware-only version of the company’s NSS hardware product that creates a virtual storage pool sharing DAS with other hosts on the network. Similar to the DataCore and LeftHand solutions, this storage pool can be expanded with any iSCSI storage available on the network. The NSS Virtual Appliance includes snapshots, thin provisioning, read/write caching, remote replication and volume tiering.
When to use
Host-based storage virtualization solutions are now mostly used in virtual server and virtual desktop environments to unlock their high-availability features, as well as to improve storage performance, utilization and management efficiency. In smaller environments, a VSA could be used to provide storage provisioning to physical servers as well.
Eric Slack is a senior analyst with Storage Switzerland.