Notable upstream pull request merges: #11710 Allow zfs to send replication streams with missing snapshots #11751 Avoid taking global lock to destroy zfsdev state #11786 Ratelimit deadman zevents as with delay zevents #11803 ZFS traverse_visitbp optimization to limit prefetch #11813 Allow pool names that look like Solaris disk names #11822 Atomically check and set dropped zevent count #11822 Don't scale zfs_zevent_len_max by CPU count #11833 Refactor zfsdev state init/destroy to share common code #11837 zfs get -p only outputs 3 columns if "clones" property is empty #11843 libzutil: zfs_isnumber(): return false if input empty #11849 Use dsl_scan_setup_check() to setup a scrub #11861 Improvements to the 'compatibility' property #11862 cmd/zfs receive: allow dry-run (-n) to check property args #11864 receive: don't fail inheriting (-x) properties on wrong dataset type #11877 Combine zio caches if possible #11881 FreeBSD: use vnlru_free_vfsops if available #11883 FreeBSD: add support for lockless symlink lookup #11884 FreeBSD: add missing seqc write begin/end around zfs_acl_chown_setattr #11896 Fix crash in zio_done error reporting #11905 zfs-send(8): Restore sorting of flags #11926 FreeBSD: damage control racing .. lookups in face of mkdir/rmdir #11930 vdev_mirror: don't scrub/resilver devices that can't be read #11938 Fix AVX512BW Fletcher code on AVX512-but-not-BW machines #11955 zfs get: don't lookup mount options when using "-s local" #11956 libzfs: add keylocation=https://, backed by fetch(3) or libcurl #11959 vdev_id: variable not getting expanded under map_slot() #11966 Scale worker threads and taskqs with number of CPUs #11994 Clean up use of zfs_log_create in zfs_dir #11997 FreeBSD: Don't force xattr mount option #11997 FreeBSD: Implement xattr=sa #11997 FreeBSD: Use SET_ERROR to trace xattr name errors #11998 Simplify/fix dnode_move() for dn_zfetch #12003 FreeBSD: Initialize/destroy zp->z_lock #12010 Fix dRAID self-healing short columns #12033 Revert "Fix raw sends on encrypted datasets when copying back snapshots" #12040 Reinstate the old zpool read label logic as a fallback #12046 Improve scrub maxinflight_bytes math #12049 FreeBSD: avoid memory allocation in arc_prune_async #12052 FreeBSD: incorporate changes to the VFS_QUOTACTL(9) KPI #12061 Fix dRAID sequential resilver silent damage handling #12072 Let zfs diff be more permissive #12077 FreeBSD: Retry OCF ENOMEM errors. #12088 Propagate vdev state due to invalid label corruption #12091 libzfs: On FreeBSD, use MNT_NOWAIT with getfsstat #12097 FreeBSD: Update dataset_kstats for zvols in dev mode #12104 FreeBSD boot code reminder after zpool upgrade #12114 Introduce write-mostly sums Obtained from: OpenZFS OpenZFS commit: 75b4cbf62590c23fac3667537961a2a75fdc2cc3
94 lines
2.7 KiB
Groff
94 lines
2.7 KiB
Groff
.\"
|
|
.\" This file and its contents are supplied under the terms of the
|
|
.\" Common Development and Distribution License ("CDDL"), version 1.0.
|
|
.\" You may only use this file in accordance with the terms of version
|
|
.\" 1.0 of the CDDL.
|
|
.\"
|
|
.\" A full copy of the text of the CDDL should have accompanied this
|
|
.\" source. A copy of the CDDL is also available via the Internet at
|
|
.\" http://www.illumos.org/license/CDDL.
|
|
.\"
|
|
.Dd May 26, 2021
|
|
.Dt VDEV_ID 8
|
|
.Os
|
|
.
|
|
.Sh NAME
|
|
.Nm vdev_id
|
|
.Nd generate user-friendly names for JBOD disks
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Fl d Ar dev
|
|
.Fl c Ar config_file
|
|
.Fl g Sy sas_direct Ns | Ns Sy sas_switch Ns | Ns Sy scsi
|
|
.Fl m
|
|
.Fl p Ar phys_per_port
|
|
.
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
is an udev helper which parses
|
|
.Xr 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 remapped in case the default numbering is unsatisfactory.
|
|
The drive aliases will be created as symbolic links in
|
|
.Pa /dev/disk/by-vdev .
|
|
.Pp
|
|
The currently supported topologies are
|
|
.Sy sas_direct ,
|
|
.Sy sas_switch ,
|
|
and
|
|
.Sy scsi .
|
|
A multipath mode is supported in which dm-mpath devices are handled by
|
|
examining the first running component disk as reported by the driver.
|
|
In multipath mode the configuration file should contain a
|
|
channel definition with the same name for each path to a given
|
|
enclosure.
|
|
.Pp
|
|
.Nm
|
|
also supports creating aliases based on existing udev links in the /dev
|
|
hierarchy using the
|
|
.Sy alias
|
|
configuration file keyword.
|
|
See
|
|
.Xr vdev_id.conf 5
|
|
for details.
|
|
.
|
|
.Sh OPTIONS
|
|
.Bl -tag -width "-m"
|
|
.It Fl d Ar device
|
|
The device node to classify, like
|
|
.Pa /dev/sda .
|
|
.It Fl c Ar config_file
|
|
Specifies the path to an alternate configuration file.
|
|
The default is
|
|
.Pa /etc/zfs/vdev_id.conf .
|
|
.It Fl g Sy sas_direct Ns | Ns Sy sas_switch Ns | Ns Sy scsi
|
|
Identifies a physical topology that governs how physical paths are
|
|
mapped to channels:
|
|
.Bl -tag -compact -width "sas_direct and scsi"
|
|
.It Sy sas_direct No and Sy scsi
|
|
channels are uniquely identified by a PCI slot and HBA port number
|
|
.It Sy sas_switch
|
|
channels are uniquely identified by a SAS switch port number
|
|
.El
|
|
.It Fl m
|
|
Only handle dm-multipath devices.
|
|
If specified, examine the first running component disk of a dm-multipath
|
|
device as provided by the driver to determine the physical path.
|
|
.It Fl p Ar phys_per_port
|
|
Specifies the number of PHY devices associated with a SAS HBA port or SAS
|
|
switch port.
|
|
.Nm
|
|
internally uses this value to determine which HBA or switch port a
|
|
device is connected to.
|
|
The default is
|
|
.Sy 4 .
|
|
.It Fl h
|
|
Print a usage summary.
|
|
.El
|
|
.
|
|
.Sh SEE ALSO
|
|
.Xr vdev_id.conf 5
|