What is storage virtualisation?
Storage virtualisation places an abstraction layer between the application that stores/retrieves data and the storage hardware. In a virtual environment, an application defines its storage requirements in terms of capacity, performance and lifecycle controls. Then a virtualisation engine masks the underlying storage technology and lets the system manage itself based on predefined policies.
There are three major types of virtualisation engine: server-based, fabric-based and array-based. Each abstracts the storage at a different level: on the server, fabric or array.
Server-based
Processing is performed locally on the host system using a management console to enforce policies.
Advantages: Tends to be very scalable.
Disadvantages: Does not usually offer advanced data movement features, such as mirroring and replication.
Examples: Sun's ZFS or Veritas Volume Manager.
Fabric-based
Processing is performed within the storage network, using one or more appliances to enforce data access and storage policies.
Advantages: Many options available, from in- or out-of-band appliances, stand alone boxes or switch-based appliances.
Disadvantages: Some in-band appliances may struggle to scale in some environments.
Examples: IBM's San Volume Controller, Network Appliances gFiler, or the Cisco switch-based Storage Services Module.
Array-based
A recent twist on the fabric-based manager is to move all storage administration functions into one huge storage subsystem, and in theory it should be possible to link multiple storage controllers together in a storage pool of almost infinite capacity. Control in this model may reside either on a server running a policy management utility or the storage subsystem itself.
Advantages: There is only one point of control through which every I/O request must pass.
Disadvantages: Potentially a single point of failure. No supplier encapsulates all of their competitors' installed arrays, so this model will be the hardest to implement in a mixed-supplier shop.
Examples: Hitachi's Tagmastore, StorageTek's Iceberg and 3PAR's Utility Storage array.