When you create a virtual disk (VDisk), you can designate it as space-efficient. A space-efficient VDisk has a virtual capacity and a real capacity.
Virtual capacity is the VDisk storage capacity that is available to a host. Real capacity is the storage capacity that is allocated to a VDisk copy from a managed disk (MDisk) group. In a fully allocated VDisk, the virtual capacity and real capacity are the same. In a space-efficient VDisk, however, the virtual capacity can be much larger than the real capacity.
The virtual capacity of a space-efficient VDisk is typically significantly larger than its real capacity. A SAN Volume Controller cluster uses the real capacity to store data that is written to the VDisk, and metadata that describes the space-efficient configuration of the VDisk. As more information is written to the VDisk, more of the real capacity is used. The SAN Volume Controller cluster identifies read operations to unwritten parts of the virtual capacity and returns zeros to the server without using any of the real capacity.
The SAN Volume Controller must maintain extra metadata that describes the contents of space-efficient VDisks. This means the I/O rates that are obtained from space-efficient VDisks are slower than those obtained from fully allocated VDisks that are allocated on the same MDisks.
Space-efficient VDisks can also simplify server administration. Instead of assigning a VDisk with some capacity to an application and increasing that capacity as the application's needs change, you can configure a VDisk with a large virtual capacity for the application and then increase or shrink the real capacity as the application needs change, without disrupting the application or server.
When you configure a space-efficient VDisk, you can use the warning level attribute to generate a warning event when the used real capacity exceeds a specified amount or percentage of the total real capacity. You can also use the warning event to trigger other actions, such as taking low-priority applications offline or migrating data into other MDisk groups.
If a space-efficient VDisk does not have enough real capacity for a write operation, the VDisk is taken offline and an error is logged (error code 1865, event ID 060001). Access to the space-efficient VDisk is restored by either increasing the real capacity of the VDisk or by increasing the size of the MDisk group that it is allocated on.
When you create a space-efficient VDisk, you can choose the grain size for allocating space in 32 KB, 64 KB, 128 KB, or 256 KB chunks. Generally, smaller grain sizes save space but require more metadata access, which can adversely impact performance. If you are not going to use the space-efficient VDisk as a FlashCopy® source or target VDisk, use 256 KB to maximize performance. If you are going to use the space-efficient VDisk as a FlashCopy source or target VDisk, specify the same grain size for the VDisk and for the FlashCopy feature.
When you create a space-efficient VDisk, set the cache mode to readwrite to maximize performance. If the cache mode is set to none, the SAN Volume Controller cluster cannot cache the space-efficient metadata, which decreases performance.
The autoexpand feature prevents a space-efficient VDisk from using up its capacity and going offline. As a space-efficient VDisk uses capacity, the autoexpand feature maintains a fixed amount of unused real capacity, called the contingency capacity. For space-efficient VDisks that are not configured with the autoexpand feature, the contingency capacity can get used up, causing the VDisk to go offline. To determine if an application requires a space-efficient VDisk with the autoexpand feature, create a space-efficient VDisk with the autoexpand feature turned off. If the application causes the VDisk to run out of capacity and go offline, you can then create a space-efficient VDisk with the autoexpand feature turned on.