Managing extent space efficient DASDs

Ubuntu 22.04 LTS LPAR mode z/VM guest KVM guest

Thin provisioning is a method of optimizing space in a SAN, and can therefore affect the amount of storage capacity that you need. Storage systems with the thin provisioning feature can provide Extent Space Efficient (ESE) ECKD DASD.

About this task

The Linux® kernel recognizes ESE DASDs. You can set them online and use them as usual, without taking any special action.

ECKD DASD devices require preformatted tracks to function as Linux block devices. Therefore, running dasdfmt on a new ECKD DASD is mandatory to make the device usable. If an unformatted track is accessed on a standard volume, the driver displays errors, such as, "The specified record was not found."

In contrast, the driver can format ESE volumes on-demand upon first access of records, eliminating the need for full device formatting before use.

Due to this design, copy-pair setups where ESE volumes are mirrored to standard volumes can become unusable for Linux. This happens when the storage server initializes unallocated tracks on the ESE volume as unformatted tracks on the standard DASD volume, causing the resulting copy to be incompatible with Linux. Similar issues can arise in specific z/VM setups if a 1-END or 0-END ESE-allocated minidisk is transferred to a non-full-pack minidisk.

Restriction: ESE DASD devices formatted using quick-format mode rely on Linux on-demand formatting, which introduces a significant performance overhead the first time data is written to any portion of the device. This behavior can severely impact performance for general-purpose I/O workloads with substantial write activity. Therefore, do not use ESE DASDs formatted in quick-format mode for such workloads. ESE DASDs formatted using full-format mode do not exhibit this performance degradation and are not subject to this restriction.

Procedure

To find out whether a DASD is an ESE DASD, check the ese attribute of the device in sysfs. An attribute value of 1 identifies the device as an ESE DASD.
For example, for a DASD with device-bus ID 0.0.95d0:
# cat /sys/bus/ccw/devices/0.0.95d0/ese
1      
Alternatively, you can use the lsdasd command, see lsdasd - List DASD devices.