Interagindo com a biblioteca de fitas no CentOS 7 via mtx

5

Eu tenho um Quantum SuperLoader 3 plugado via SAS para um sistema CentOS 7. Ele mostra em dmesg e lsscsi e é tratado pelo ch driver .

$ lsscsi
[0:2:0:0]    disk    LSI      MR9271-8i        3.24  /dev/sda
[1:0:0:0]    tape    IBM      ULTRIUM-HH6      E4J1  /dev/st0
[1:0:0:1]    mediumx QUANTUM  UHDL             0091  /dev/sch0

Aqui está a inicialização do kernel:

$ dmesg
[   13.443589] scsi 1:0:0:0: Attached scsi generic sg2 type 1
[   13.444091] scsi 1:0:0:1: Attached scsi generic sg3 type 8
[   13.463023] SCSI Media Changer driver v0.25
[   13.463121] st: Version 20101219, fixed bufsize 32768, s/g segs 256
[   13.572514] ch0: type #1 (mt): 0x0+1 [medium transport]
[   13.572516] ch0: type #2 (st): 0x100+16 [storage]
[   13.572517] ch0: type #3 (ie): 0x0+0 [import/export]
[   13.572518] ch0: type #4 (dt): 0x20+1 [data transfer]
[   13.697117] ch0: dt 0x20: ch0: ID/LUN unknown
[   13.697119] ch0: INITIALIZE ELEMENT STATUS, may take some time ...
[   67.097903] ch0: ... finished
[   67.097910] ch 1:0:0:1: Attached scsi changer ch0
[   67.098792] st 1:0:0:0: Attached scsi tape st0
[   67.098796] st 1:0:0:0: st0: try direct i/o: yes (alignment 4 B)

A unidade de fita opera normalmente usando o pacote mt-st . Eu também instalei mtx para uso com Bacula ou Amanda, mas mtx parece esperar um driver diferente de ch .

Parece que há algumas ferramentas para o driver ch , como o scsi-changer , mas eles não parecem ser comumente usados e, portanto, eu imagino que deve haver uma maneira de fazer com que mtx trabalhe diretamente com o driver ch .

Quando invocado da maneira óbvia:

$ sudo mtx -f /dev/sch0 status
/dev/sch0 is not an sg device, or old sg driver

/ dev / sch0 é:

$ ls -lastZ /dev/sch0
crw-rw----. root cdrom system_u:object_r:device_t:s0    /dev/sch0

Vou tentar usar o trocador SCSI kraxel.org, mas, devido à falta de suporte dentro da Amanda, qualquer sugestão para resolver o problema mtx seria um benefício.

    
por J.C. 30.03.2015 / 23:45

2 respostas

5

Descobri isso!

mtx funciona apenas em dispositivos SCSI "genéricos". O dispositivo /dev/sch0 fornecido pelo driver do kernel ch é uma espécie de arenque vermelho.

Acontece que os dispositivos SCSI recebem arquivos de dispositivos "genéricos", além de todos os dispositivos específicos com suporte a driver criados. Você pode encontrar aqueles usando lsscsi :

$ lsscsi --generic
[0:0:19:0]   enclosu CISCO    UCS 240          0809  -          /dev/sg0
[0:2:0:0]    disk    LSI      MR9271-8i        3.24  /dev/sda   /dev/sg1
[1:0:0:0]    tape    IBM      ULTRIUM-HH6      E4J1  /dev/st0   /dev/sg2
[1:0:0:1]    mediumx QUANTUM  UHDL             0091  /dev/sch0  /dev/sg3

Estes foram realmente aludidos na saída dmesg acima. Usando o dispositivo genérico, mtx funciona bem com o SuperLoader 3 no CentOS 7:

$ sudo mtx -f /dev/sg3 status
  Storage Changer /dev/sg3:1 Drives, 16 Slots ( 0 Import/Export )
Data Transfer Element 0:Empty
      Storage Element 1:Empty
      Storage Element 2:Empty
      Storage Element 3:Empty
      Storage Element 4:Empty
      Storage Element 5:Empty
      Storage Element 6:Empty
      Storage Element 7:Empty
      Storage Element 8:Empty
      Storage Element 9:Empty
      Storage Element 10:Empty
      Storage Element 11:Empty
      Storage Element 12:Empty
      Storage Element 13:Empty
      Storage Element 14:Empty
      Storage Element 15:Empty
      Storage Element 16:Empty

Tudo o que resta fazer é ligar simbolicamente /dev/changer a /dev/sg3 por conveniência.

    
por 30.03.2015 / 23:53
-1

Você precisa carregar o módulo do kernel sg no centos 7 (foi reportado como bug):

# modprobe sg
# lsscsi --generic
# mtx -f /dev/sgX status

(o driver genérico SCSI não carrega na inicialização) link

    
por 20.11.2015 / 23:17