‘Storage virtualisation’ refers to the process of abstracting logical storage from physical storage. The term is today used to describe this abstraction at any layer in the storage software and hardware stack.
Virtualisation of storage helps achieve location independence by abstracting the physical location of the data. The virtualisation system presents to the user a logical space for data storage and itself handles the process of mapping it to the actual physical location.
The actual form of the mapping will depend on the chosen implementation. Some implementations may limit the granularity of the mapping which itself may limit the capabilities of the device. Typical granularities range from a single physical disk down to some small subset (multiples of megabytes or gigabytes) of the physical disk.
Thin Provisioning to maximise storage utilisation. This is relatively easy to implement as physical storage is only allocated in the mapping table when it is used.
The process of moving the physical location is known as ‘data migration’. Most implementations allow for this to be done in a non-disruptive manner, that is, concurrently while the host continues to perform I/O to the logical disk (vdisk).
The mapping granularity dictates how quickly the meta-data can be updated, how much extra capacity is required during the migration, and how quickly the previous location is marked as free. The smaller the granularity the faster the update, less space required and quicker the old storage can be freed up.
There are many day to day tasks a storage administrator has to perform that can be simply and concurrently performed using data migration techniques.
Improved utilisation. Utilisation can be increased by virtue of the pooling, migration and Thin Provisioning services.
When all available storage capacity is pooled, system administrators no longer have to search for disks that have free space to allocate to a particular host or server. A new logical disk can be simply allocated from the available pool, or an existing disk can be expanded.
Pooling also means that all the available storage capacity can potentially be used. In a traditional environment, an entire disk would be mapped to a host. This may be larger than is required, thus wasting space. In a virtual environment, the logical disk (vdisk) is assigned the capacity required by the using host.
Storage can be assigned where it is needed at that point in time, reducing the need to guess how much a given host will need in the future. Using Thin Provisioning, the administrator can create a very large thin provisioned logical disk, thus the using system thinks it has a very large disk from day one.
Fewer points of management. With storage virtualisation, multiple independent storage devices, that may be scattered over a network, appear to be a single monolithic storage device, which can be managed centrally. However, traditional storage controller management is still required. That is, the creation and maintenance of RAID arrays, including error and fault management.