InvariantDisks is a small program maintaining a mapping from invariant labels to the potentially varying /dev/diskXsY entries. It is started like:
InvariantDisks -p $PREFIX
At the moment, three linker modules are available. The media path module creates links in $prefix/by-path based on the reported media path, based on the physical location of the device. Example:
The UUID module creates links in $prefix/by-id based on the volume and media UUID. Some volumes have both a volume and a media UUID, others only one of the two. This depends on the partitioning scheme and the filesystem. Example:
The Serial number module creates links to whole drives based on the product type and product serial number.
The Problem and some solutions on Linux are described on http://zfsonlinux.org/faq.html#WhatDevNamesShouldIUseWhenCreatingMyPool
This program is copyrighted by me, because I wrote it. This program is licensed under the "3-clause BSD" License. See the BSD.LICENSE.md file for details. If desired, it is also licensed under the CDDL OpenSolaris license, see OPENSOLARIS.LICENSE.txt for details. Other licenses are available on request.