mtx 反转 CentOS 和 scsi 通用 (sg) 设备分配给磁带驱动器的编号

mtx 反转 CentOS 和 scsi 通用 (sg) 设备分配给磁带驱动器的编号

当我们运行 mtx 命令将磁带从自动加载机插槽加载到磁带驱动器时,我们会遇到一些困惑。我们有两个 LTO-5 磁带机连接到我们的备份服务器。它们被操作系统识别为/dev/st0 和/dev/st1。我们还使用 Quantum Scalar-i40 作为磁带自动库,它通过符号链接 /dev/changer 指向 /dev/sg2。

当我通过 mtx 将磁带从插槽 36 加载到磁带驱动器 1 时,mtx 状态似乎正常。

# load tape in slot 36 to tape drive 1 
[root@backup ~]# mtx -f /dev/changer load 36 1 
Loading media from Storage Element 36 into drive 1...done

[root@backup ~]# mtx -f /dev/changer status
  Storage Changer /dev/changer:2 Drives, 38 Slots ( 0 Import/Export )
Data Transfer Element 0:Empty       
Data Transfer Element 1:Full (Storage Element 36 Loaded):VolumeTag = JP6650
      Storage Element 1:Full :VolumeTag=JP6657                          
      ***                                
      Storage Element 36:Empty:VolumeTag=                                
      Storage Element 37:Full :VolumeTag=JP6653                          
      Storage Element 38:Full :VolumeTag=JP6658   

但是,磁带机数据传输元素 1 不指向 /dev/st1。它指向 /dev/st0。数据传输元素 1 对应于 /dev/st0,这非常令人困惑。

[root@backup ~]# mt -f /dev/st0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x58 (no translation).
Soft error count since last status=0
General status bits on (41010000):
 BOT ONLINE IM_REP_EN
[root@backup ~]# mt -f /dev/st1 status
SCSI 2 tape drive:
File number=-1, block number=-1, partition=0.
Tape block size 0 bytes. Density code 0x0 (default).
Soft error count since last status=0
General status bits on (50000):
 DR_OPEN IM_REP_EN

这是我们其余的操作系统 + 内核 + scsi 设备信息。

[root@backup ~]# cat /etc/centos-release 
CentOS release 6.1 (Final)
[root@backup ~]# uname -a
Linux backup 2.6.32-131.21.1.el6.x86_64 #1 SMP Tue Nov 22 19:48:09 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux
[root@backup ~]# lsscsi -g
[0:0:0:0]    tape    HP       Ultrium 5-SCSI   Z58Z  /dev/st0   /dev/sg0
[0:0:1:0]    tape    HP       Ultrium 5-SCSI   Z58Z  /dev/st1   /dev/sg1
[0:0:1:1]    mediumx QUANTUM  Scalar i40-i80   135G  /dev/sch0  /dev/sg2
[1:0:0:0]    cd/dvd  HL-DT-ST DVD-ROM GDR-R10N 2.02  /dev/sr0   /dev/sg3
[3:0:0:0]    disk    ATA      Maxtor 6H500F0   HA43  /dev/sda   /dev/sg4
[4:0:0:0]    disk    ATA      Maxtor 6H500F0   HA43  /dev/sdb   /dev/sg5

有没有办法强制 mtx 以不同的方式识别我的磁带驱动器?我希望 /dev/st* 设备对应于 mtx 下的正确数据传输元素。

答案1

正如您所发现的,像 /dev/st0 这样的设备名称不是持久的;它们按照发现顺序命名。获得在重新启动后仍保留的名称的最佳方法是编写 UDEV 规则来创建所需的符号链接。 Google 先生有很多关于如何编写 UDEV 规则的信息,但本质上,当检测到设备时,内核会向应用规则的 UDEV 子系统提供设备属性,如果规则的谓词全部通过,则规则操作将创建符号链接。

相关内容