如何在 CentOS/RHEL 中为磁带设备配置持久名称

在 Linux 上,设备名称可能会在重新启动后更改。
这篇文章说明了如何为磁带设备配置持久名称绑定。
Linux 上有两种类型的磁带设备,例如:/dev/st* 和 /dev/nst*

/dev/stX 和 /dev/nstX 指向同一个磁带设备,区别在于 /dev/stX 是倒带设备,而 /dev/nstX 是非倒带设备。
当我们执行倒带设备的操作时,/dev/stX 会倒带到磁带的开头,而 /dev/nstX 不会。

更多: zhilu jiaocheng

磁带设备持久命名配置

假设 /dev/nst0 是需要持久命名的设备。

注意:以下过程不需要重新启动。

  1. 从磁带设备获取 ID_SERIAL:
# udevadm test /class/scsi_tape/nst0
...
udevadm_test: ID_SERIAL=3500104f000c8bfa2
udevadm_test: ID_SERIAL_SHORT=500104f000c8bfa2
udevadm_test: ID_WWN=0x500104f000c8bfa2
udevadm_test: ID_WWN_WITH_EXTENSION=0x500104f000c8bfa2
udevadm_test: ID_SCSI_SERIAL=HU1143K8BF
udevadm_test: ID_BUS=scsi
udevadm_test: ID_PATH=pci-0000:06:00.0-fc-0x500104f000c8bfa3-lun-0
udevadm_test: run: 'socket:@/org/freedesktop/hal/udev_event'

我们也可以尝试以下命令,它会报告相同的 ID_SERIAL:

# udevadm test /class/scsi_tape/st0
  1. 创建一个新的 udev 规则文件 /etc/udev/rules.d/70-persistent-tape.rules 。
    udev 加载规则按文件名中的数字顺序,这里选择起始序列 ID 70,因为它大于默认存储规则 /lib/udev/rules.d/60-persistent-storage-tape.rules 的 60,因此,此自定义 udev 规则随后运行。
    将以下行添加到文件中:
# vi /etc/udev/rules.d/70-persistent-tape.rules
KERNEL=="st*", ENV{ID_SERIAL}=="3500104f000c8bfa2",SYMLINK+="st/tape0" 
KERNEL=="nst*", ENV{ID_SERIAL}=="3500104f000c8bfa2", SYMLINK+="nst/tape0"

其中:
3500104f000c8bfa2 取自步骤 1,即 ID_SERIAL 字段。

  1. 测试配置。
# udevadm test /class/scsi_tape/nst0

如果一切正常,我们应该能够看到 /dev/tape/tape0 ,并将其用作对磁带设备的引用。

  1. 执行以下命令并在不重启服务器的情况下应用更改:
# udevadm control -reload-rules
# udevadm trigger
日期:2020-09-17 00:13:22 来源:oir作者:oir