Storage virtualization aims to virtually map a company’s various storage resources such as hard drives, flash memory or tape drives and make them available as a coherent storage pool. A virtualization solution establishes an abstraction layer between the various physical storage media and the logical level at which the combined storage resources can be managed centrally using software.
Virtual memory can also be divided into contingents and allocated to selected applications. Users can access stored data via the same file paths even when the physical location changes despite virtualization. This is ensured by an assignment table managed by the virtualization software. This is known as mapping the physical storage media to a logical disk (also called volumes).
Logical drives are not bound to the physical capacity limits of the underlying individual storage media. Storage virtualization thus offers significantly more flexibility in the allocation of storage resources. The hardware available for data storage can be used more effectively. For companies, this means that storage capacities in data centers can be provided more cost-effectively.
In business contexts, storage virtualization is usually implemented block-based. In block storage, data is divided into blocks of the same size. Each data block has a unique address. This is stored by the virtualization software in the central mapping table. The assignment table therefore contains all metadata required to locate the physical location of a data block. This mapping makes it possible to manage data virtually, independent of the respective controller of the physical storage medium and therefore possible to move, copy, mirror or replicate it.
In practice, block-based virtualization can be implemented using three different approaches:
Host basedDevice basedNetwork basedHost based virtualizationHost based virtualization of storage resources is an approach to storage virtualization that is typically used in combination with virtual machines. In this concept, a host system presents one or more guest systems (see hardware virtualization) with virtual disks on an abstraction level, which is implemented either by an internal operating system volume manager, or by separate software (a so-called storage hypervisor). Access to the hardware (hard disks and other storage media) is via the device drivers of the host system. The volume manager or storage hypervisor is used as a software layer above the device drivers and manages input and output (I/O), I/O mapping tables and metadata search.
Native functions that make it possible to create virtual drives are available in almost all modern operating systems.
Windows: Logical Disk Manager (LDM)macOS: CoreStorage (from OS X Lion onwards)Linux: Logical Volume Manager (LVM)Solaris and FreeBSD: zPools of the Z File Systems (ZFS) file systemHost-based storage virtualization requires no additional hardware, supports any storage device and can be implemented with little effort. In addition, the approach offers the best performance compared to other concepts, since each storage device is addressed immediately and thus without latency time. However, users have to accept that storage virtualization - and thus the possibility of optimizing storage utilization - is limited to the respective host.
Device based virtualizationDisk arrays - mass storage devices that can be used to provide hard disks in the network - also offer the possibility of virtualizing storage resources. So-called RAID schemes are used here. For RAID (short for: Redundant Array of Independent Disks) is a concept of data storage in which several physical drives are combined into a virtual storage platform. The goal of storage virtualization is reliability through redundancy. For this purpose, the data is mirrored in a disk array and distributed to different hard disks.