자동 로더 슬롯에서 테이프 드라이브로 테이프를 로드하기 위해 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
나머지 OS + 커널 + 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 하위 시스템에 장치 속성을 제공하고 규칙의 조건이 모두 통과되면 규칙 작업을 수행합니다. 심볼릭 링크를 생성합니다.