Like other virtualization methods which uncouple physical hardware from management, storage virtualization is the practice of abstracting storage management away from the underlying physical storage devices. By decoupling management from infrastructure, data storage becomes flexible and scalable. The resulting scalable pools of storage resources can be logically divided, and accessed as if they were local, but underneath, hardware can be swapped in and out of the storage pool as needed by the organization (for example, in cases of hardware failures). Many data storage solutions are utilized in virtualized storage configurations, such as SANs, virtualized into logical unit numbers (LUNs), RAID groups, and logical volumes, etc.
According to the Storage Network Industry Association (SNIA), they have defined data storage virtualization as:
Storage virtualization and software-defined storage (SDS) have similar definitions, and categorically, they are both forms of virtualization, however there is a distinct difference based on what is being abstracted where. In both cases, storage is being abstracted, but how they do this and for what reason distinguishes the two.
In SDS, a software solution abstracts the software and programming that controls storage related operations away from the hardware. Effectively, this reduces the hardware component to just data storage capacity, while the abstracted software controls everything else. This means, with commodity storage, or outdated storage devices lacking modern storage algorithms, even complex data storage strategies can be used.
In storage virtualization, the abstraction emphasis is on pooling storage capacity from multiple networked storage devices into a single storage ecosystem. This effectively centralizes all of these storage resources into a single manageable system.
In short, SDS (which requires software) abstracts storage tasks and capabilities from the physical hardware, and storage virtualization abstracts the capacity from numerous storage resources to allow for pooling
Storage virtualization is used to overcome the challenges of scaling and managing voluminous amounts of data. To this end, many techniques are employed to virtualize storage functions. These include: masking, zoning, host-bus adaptors, logical volumes (LUNs), RAID, and distributed file systems. With these techniques, storage virtualization can aggregate numerous data across a wide spectrum of physical assets located in data centers and on large networks.
First, storage virtualization creates a layer of abstraction between the operating system and the physical storage hardware. This virtualized storage is then location independent. Immediately, storage utilization goes up because neglected capacity becomes visible to the system (this can occur when capacity is added and forgotten about in systems that do not actively account for all storage resources). Subsequently, because storage virtualization supports data migration and replication, if hardware must be taken offline, then data can easily be moved to another LUN through replication without any disruptions to data I/O. And a host of other features helps to make storage virtualization a robust solution, such as dynamic provisioning which allows LUNs to grow and shrink to fulfill demand.
Three common storage virtualization approaches exist.
Storage optimization is a collection of practices, technologies, and frameworks that companies deploy to efficiently use infrastructure storage resources. A broad category of techniques, it can help companies identify inefficiencies and potential improvements within existing storage systems, and help in designing and developing virtualized storage solutions that increase storage performance and utilization, and extend storage capacity.
Virtualized storage solutions also help to enable and optimize interoperability between heterogeneous storage devices. By combining storage virtualization, network virtualization, and server virtualization organizations can reduce costs, simplify management, and enhance overall data center performance.
The primary aim of storage optimization is to minimize disk usage across all storage resources. This is first achieved by gaining visibility into all storage resources through virtualization, which consolidates existing storage resources. Immediately, all storage resources can then be classified and visualized. Integrated storage management software and policy-based storage automation are used to further manage the performance of storage.
Storage virtualization’s primary benefit stems from the decoupling of storage resources from their management, providing full visibility in data storage capacity, and the ability to quickly and efficiently manage that capacity. This feature leads to reduced storage management complexity, improved data storage performance, improved data security and enhanced data security.