vdev_id(8) generate user-friendly names for JBOD disks


vdev_id <-d dev> [-c config_file] [-g sas_direct|sas_switch]
[-m] [-p phys_per_port]
vdev_id -h


The vdev_id command is a udev helper which parses the file /etc/zfs/vdev_id.conf(5) to map a physical path in a storage topology to a channel name. The channel name is combined with a disk enclosure slot number to create an alias that reflects the physical location of the drive. This is particularly helpful when it comes to tasks like replacing failed drives. Slot numbers may also be re-mapped in case the default numbering is unsatisfactory. The drive aliases will be created as symbolic links in /dev/disk/by-vdev.

The currently supported topologies are sas_direct and sas_switch. A multipath mode is supported in which dm-mpath devices are handled by examining the first-listed running component disk as reported by the multipath(8) command. In multipath mode the configuration file should contain a channel definition with the same name for each path to a given enclosure.

vdev_id also supports creating aliases based on existing udev links in the /dev hierarchy using the alias configuration file keyword. See the vdev_id.conf(5) man page for details.


-c <config_file>
Specifies the path to an alternate configuration file. The default is /etc/zfs/vdev_id.conf.
-d <device>
This is the only mandatory argument. Specifies the name of a device in /dev, i.e. "sda".
-g <sas_direct|sas_switch>
Identifies a physical topology that governs how physical paths are mapped to channels.

sas_direct - in this mode a channel is uniquely identified by a PCI slot and a HBA port number

sas_switch - in this mode a channel is uniquely identified by a SAS switch port number

Specifies that vdev_id(8) will handle only dm-multipath devices. If set to "yes" then vdev_id(8) will examine the first running component disk of a dm-multipath device as listed by the multipath(8) command to determine the physical path.
-p <phys_per_port>
Specifies the number of PHY devices associated with a SAS HBA port or SAS switch port. vdev_id(8) internally uses this value to determine which HBA or switch port a device is connected to. The default is 4.
Print a usage summary.