mtx inverte os números dados às unidades de fita pelos dispositivos CentOS e genéricos scsi (sg)

0

temos alguma confusão quando executamos comandos mtx para carregar uma fita de um slot do autoloader para a unidade de fita. temos duas unidades de fita LTO-5 conectadas ao nosso servidor de backup. Eles são reconhecidos pelo sistema operacional como / dev / st0 e / dev / st1. Também estamos usando um Quantum Scalar-i40 como nossa biblioteca automática de fitas que aponta para / dev / sg2 através de um symlink / dev / changer.

Quando eu carrego uma fita do slot 36 para a unidade de fita 1 via mtx, o status mtx parece bem.

# 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   

No entanto, o Elemento de Transferência de Dados da unidade de fita 1 não aponta para / dev / st1. Aponta para / dev / st0. O Data Transfer Element 1 corresponde a / dev / st0, o que é super confuso.

[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

Aqui está o resto das informações do dispositivo OS + kernel + 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

Existe alguma maneira de forçar o mtx a reconhecer minhas unidades de fita diferentemente? Eu quero que os dispositivos / dev / st * correspondam ao Elemento de Transferência de Dados correto em mtx.

    
por PolkaRon 12.01.2018 / 20:55

1 resposta

0

Nomes de dispositivos como / dev / st0 não são persistentes, como você descobriu; eles são nomeados em ordem de descoberta. A melhor maneira de obter nomes que sobreviverão a uma reinicialização é escrever uma regra UDEV que crie o link simbólico desejado. O Google tem muitas informações sobre como escrever uma regra UDEV, mas na essência, como um dispositivo é detectado, o kernel oferece os atributos do dispositivo para o subsistema UDEV onde as regras são aplicadas e se todos os predicados de uma regra passarem, crie o symlink.

    
por 14.01.2018 / 18:19