The term storage virtualization usually refers to the abstraction of physical storage so it can be presented in a way that differs from reality. For example, multiple physical disks might be presented by the abstraction layer as a single disk rather than as a collection of smaller disks.
A number of technologies can be classified as storage virtualization options, but the common denominator is that each one uses an abstraction layer to obscure the underlying physical storage. Here is an overview of the types of storage virtualization implemented by organizations.
Host-based storage virtualization
One of the most commonly used types of storage virtualization is host-based storage virtualization. It refers to the way a virtualization host presents storage to a guest operating system (OS).
A popular example is a dynamically expanding virtual hard disk. It is somewhat rare for a virtual machine (VM) to take ownership of a physical hard disk drive (HDD). Normally, a VM leverages a virtual hard disk that is just a file, but is presented by the host to the VM as a hard disk. A dynamically expanding virtual hard disk initially consumes very little physical disk space and grows as data is added to the file by the virtual machine. The VM cannot see the underlying file or its dynamic expansion -- it only sees what it thinks is a hard disk.
Array-based storage virtualization
Array-based storage virtualization has come to mean a number of things over the years, but today the term often refers to hardware-level storage tiering. Storage tiering was designed as a way to leverage the power of flash storage without incurring the cost of an all-flash array.
Flash storage tends to be much faster than rotational media, but solid-state drives (SSDs) have traditionally had a much lower capacity and higher cost per gigabyte than HDDs, although this is starting to change. Array-based storage virtualization allows storage to be grouped into tiers; for example, SSDs are placed into a high-speed tier and HDDs in a standard tier. When an administrator creates a storage LUN, that LUN can include disks from both the high-speed and standard tiers.
In this type of situation, the high-speed tier generally acts as a read and write cache. Data is initially written to the high-speed tier and then moved to the standard tier automatically. Frequently accessed data can also be placed on the high-speed tier automatically, while less frequently accessed data resides on the standard tier. This automatic tiering of data improves overall performance. The entire process is handled at the array level and is never exposed to the OS.
OS-level storage virtualization
Some OSes provide the same basic capabilities as array-based storage virtualization, but at the software level as a function of the operating system. Windows Server 2012 and 2012 R2, for instance, include a feature called Windows Storage Spaces, which allows for the creation of tiered storage through virtualization.
File-system virtualization refers to technologies such as Microsoft's Distributed File System (DFS) that provide a consolidated view of an organization's file data. Users are given the illusion that all the data exists on a single file server, when in reality the data may be scattered across a number of different SMB shares on many file servers. File-system virtualization is becoming less common due to increased file server storage capacities, but it is still used.
Some forms of file-system virtualization do more than just bind SMB shares together using a common namespace. Some, such as Microsoft’s DFS, also allow for file-system replication, which can be helpful when an organization wants to allow users working in a remote office to access the same files as the users in the main office, but without having to download files across a WAN link.
Fibre Channel storage virtualization
Fibre Channel (FC) storage virtualization is a generic term for the types of storage virtualization built around the use of FC. Some vendors refer to an FC SAN as a form of network-based storage virtualization because of the way an FC switch can virtualize and redirect I/O requests to physical storage without the server consuming that storage being made aware of the underlying storage architecture.
The term FC storage virtualization can also refer to virtual FC. Virtual FC is a form of host-based storage virtualization, but works differently from more commonly used forms of host storage virtualization.
Virtual FC is a mechanism that makes it possible for a VM to connect directly to an FC array or FC SAN by leveraging the underlying virtualization stack. The main benefit of virtual FC is that it allows servers with a direct dependency on FC storage to be virtualized. It's also possible to use virtual FC in the creation of a guest cluster that uses FC-based Cluster Shared Volumes.
It is worth noting that virtual FC limitations and capabilities vary from one hypervisor to the next. Microsoft's Hyper-V, for instance, cannot boot VMs from virtual FC-attached storage.
A new take on the storage virtualization conversation
Sorting out the differences between software-defined storage and storage virtualization
Approaches to storage virtualization: A quick review