Thin provisioning is the process of storage oversubscription -- creating a LUN that's larger than the physical storage allocated to it -- and then adding more physical storage as the LUN fills. For example, thin provisioning can create a 1 TB LUN, but only assign 100 GB of physical space to start. As the initial 100 GB fills, you can add storage up to the total size of the provisioned LUN. This technology is very efficient and prevents considerable storage waste because an application "thinks" it has the fully-sized LUN but only receives the space that it actually uses.
Thin provisioning previously existed as its own form of virtualization, but it can prove problematic when used in a fully virtualized storage environment.
"Storage virtualization has not supported thin provisioning very well," said Ray Lucchesi, president and founder of Silverton Consulting Inc., an independent technology consulting firm headquartered in Broomfield, Colo. New virtualized blocks can be written anywhere in the storage environment, he said, and the work that's needed to copy or migrate data between LUNs may not even move data off a particular storage system.
"In a storage virtualization environment, that deletion [migration] requires a lot of understanding about what's on that physical volume at any instant in time," Lucchesi said.
Although you can use thin provisioning in a virtual setting, it's important to track and monitor storage use to prevent exhausting the LUN space.
Creating and managing a virtual LUN gives storage administrators a great deal of flexibility for moving them around. Storage virtualization doesn't hinder the ability to resize LUNs, but dynamic resizing often requires specialized or storage system-specific software tools.
Administrators must be concerned with overall reliability and vulnerabilities found in any virtual storage infrastructure's single point of failure. RAID technology and fast-disk rebuilds, for example, won't prevent an array from becoming inaccessible when a main board fails or an array is rebooted after a software/firmware upgrade. When that happens, all access is cut to any LUNs stored on the array.
Some high-availability storage may guard against trouble by implementing redundant storage arrays, though the added layer of protection may inflate costs and reduce application storage performance. Look for quality-of-service features that allow storage performance to be optimized for certain applications or data types.