Overview
Target-Driven Rescan (TDR) is a FlashArray host integration capability that allows the array to signal the host when volumes are added or removed so the host can update device state without requiring a manual host-side rescan command for normal operations.
Some operating systems, such as Windows, already handle TDR fully without any additional host-side configuration.
On Linux, automatic discovery of additional volumes has existed for some time through target-driven SCSI notifications, butfull disconnected-device cleanup depends on multipath-tools v0.14.0 together with the purge_disconnected multipath setting.
This matters because removing a volume without purging stale devices can leave disconnected paths or devices behind on the host. That creates operational risk, especially if a different device is later connected using the same LUN number.
What problem this solves
Historically, storage administrators often had to log in to Linux hosts and run manual rescan or cleanup commands after ACL changes. TDR changes that model by having the target initiate the host-side rescan behavior through standard protocol events, so the host reacts automatically instead of depending on a person to intervene.
With full Linux support in place, the operational goal is simple: connect a volume on the target and wait for it to appear; disconnect a volume on the target and wait for it to disappear, with no manual rescan or device-removal step required on the initiator.
Linux versions with purge_disconnected
purge_disconnected multipath setting:
| Distribution | Version |
|---|---|
| Red Hat Enterprise Linux | 9.8 |
| Red Hat Enterprise Linux | 10.2 |
| SUSE Linux | 16.1 |
| Ubuntu Linux | 26.04 |
| Debian Linux | 14 |
Adding volumes
When an additional volume is mapped to a Linux host that already has at least one connected volume, the array returns Unit Attention sense data 3Fh/0Eh (REPORTED LUNS DATA HAS CHANGED) down the established paths. The host interprets that as a signal to rescan visible LUNs on those paths and discovers the newly connected volume automatically.
For the first volume, discovery depends on the transport and the behavior is different for Fibre Channel and iSCSI:
-
On Fibre Channel, hosts are typically already logged in to reachable target ports before any volume is connected. To make the host discover the first LUN, the array logs out the host ports from those target ports. The host immediately logs back in, runs through SCSI discovery again, and picks up the newly connected volume.
-
On iSCSI, first-volume discovery only works if the host is already logged in to the array when the volume is connected. Linux supports this by allowing hosts to log in to the array without any connected volumes, as long as the host object already exists on the array. Once those iSCSI sessions are established, connecting the first volume allows the array to signal the host so it rescans and discovers the new volume.
Removing volumes
When a volume is disconnected, the host must do more than detect a failed path. It must actually purge the stale device from the operating system so the host's device view matches what is still connected to the host from the array.
If a disconnected volume is not the last one connected to the host, the array again uses 3Fh/0Eh to trigger a rescan so the host no longer finds the disconnected LUN.
If the volume is no longer present on a path, the array can return 25h/00h (LOGICAL UNIT NOT SUPPORTED). When all paths to that volume return that condition, the host can remove the volume from its configuration. The same mechanism can also remove a single stale path while leaving the volume online if other working paths remain.
Linux requirement for disconnect cleanup
To allow Linux to automatically purge disconnected devices, enable purge_disconnected "yes" for PURE FlashArray devices in multipath.conf.
devices {
device {
vendor "PURE"
product "FlashArray"
path_grouping_policy "group_by_prio"
path_selector "service-time 0"
path_checker "tur"
features "0"
hardware_handler "1 alua"
prio "alua"
failback "immediate"
no_path_retry "fail"
fast_io_fail_tmo 10
dev_loss_tmo 600
user_friendly_names "no"
purge_disconnected "yes" # required for automatic disconnected-device cleanup
}
}What you should expect on Linux
When an added volume is discovered successfully, new SCSI devices appear and the volume is visible through multipath without a manual host rescan command.
When a disconnected volume is purged successfully with purge_disconnected enabled, Linux logs show the paths as disconnected, ALUA detach messages appear for the SCSI devices, and multipath flushes the map after all paths are removed.
Operational guidance
For Linux hosts intended to use TDR for both add and remove workflows:
-
Ensure the host is configured with multipath-tools v0.14.0 support for disconnected-device purging.
-
Set
purge_disconnected "yes"for PURE FlashArray devices in multipath configuration. -
If you are using ActiveCluster, do not enable this option unless the array is running at least Purity 6.9.6.
-
Use normal host-to-array connectivity prerequisites for your transport:
-
Fibre Channel zoning and host definition for FC environments.
-
Established iSCSI sessions and host definition for iSCSI environments.
-
-
After connecting or disconnecting a volume on the array, allow the host and multipath stack time to process the target-driven event rather than immediately performing a manual rescan.
When manual intervention may still be needed
Linux support described here depends on the host having the necessary multipath behavior for stale-device purge. If that behavior is not present, the disconnect may be detected but the device may remain in a failed state rather than being removed automatically.
Summary
On Linux, Target-Driven Rescan allows FlashArray to drive both device discovery and, with the right multipath configuration, disconnected-device cleanup from the target side. The key Linux requirement for automatic cleanup on disconnect is multipath-tools v0.14.0 support together with purge_disconnected "yes" for PURE FlashArray devices.