Dynamic Multi-Pathing (DMP) automated device discovery on Solaris

In releases before VxVM 4.0, VxVM device discovery required manual invocation of commands such as vxdisk scandisks or vxdctl enable. vxesd automates the discovery process by interfacing with the Reconfiguration Coordination Manager (RCM) framework.

The vxesd daemon registers the script es_devfs.pl with the Solaris syseventd daemon for device arrival events. In the event that cfgadm is invoked to attach a new device to the system, the syseventd daemon executes the scripts that are registered for device arrival events, including es_devfs.pl. The es_devfs.pl script establishes a socket with vxesd and transfers the event parameter (physical path of device) to the daemon. The vxesd daemon in turn connects to the vxconfigd daemon to initiate DDL device discovery for the device that had arrived. The whole operation takes place asynchronously so that the cfgadm command returns after the event has been added to the syseventd queue.

In the event that a device is removed with cfgadm, a similar process exists which uses the es_rcm.pl script to disable the relevant DMP paths. The removal operation is synchronous so that the cfgadm command waits until all the registered detach scripts have completed execution.

Note:

On systems with EMC PowerPath, a slow PowerPath discovery process may lead to a device being automatically claimed and controlled by DMP control. In such scenarios, the vxesd daemon may be stopped before the addition of the disk and restart after PowerPath has claimed control of the device.