설치는 https://blog.boxcorea.com/wp/archives/1300
mhvtl 설정화일은 /etc/mhvtl 아래에 있다.
세 개의 설정화일이 있으며, 매우 단순하다.
1. 디바이스 설정(/etc/mhvtl/device.conf)
mhvtl을 설치하면, 기본적으로 2개의 library와 library당 4개의 drive가 잡히도록 설정되어 있다.
# lsscsi -g [0:0:0:0] disk ATA QEMU HARDDISK 1.5. /dev/sda /dev/sg0 [2:0:0:1] disk QEMU QEMU HARDDISK 1.5. /dev/sdb /dev/sg11 [5:0:0:0] mediumx STK L700 0105 /dev/sch0 /dev/sg9 [5:0:1:0] tape IBM ULT3580-TD5 0105 /dev/st0 /dev/sg1 [5:0:2:0] tape IBM ULT3580-TD5 0105 /dev/st1 /dev/sg2 [5:0:3:0] tape IBM ULT3580-TD4 0105 /dev/st2 /dev/sg3 [5:0:4:0] tape IBM ULT3580-TD4 0105 /dev/st3 /dev/sg4 [5:0:8:0] mediumx STK L80 0105 /dev/sch1 /dev/sg10 [5:0:9:0] tape STK T10000B 0105 /dev/st4 /dev/sg5 [5:0:10:0] tape STK T10000B 0105 /dev/st5 /dev/sg6 [5:0:11:0] tape STK T10000B 0105 /dev/st6 /dev/sg7 [5:0:12:0] tape STK T10000B 0105 /dev/st7 /dev/sg8
불필요한 드라이브와 라이브러리를 제거하기 위해서는 device.conf 화일을 수정해 주면 된다. 화일을 수정하기 전에, mhvtl 서비스를 정지해야한다.
# /etc/init.d/mhvtl stop shutdown of mhvtl Sending exit to 11 Sending exit to 12 Sending exit to 10
나는 아래와같이 1 library, 2 drive로 설정했다.
Library: 10 CHANNEL: 00 TARGET: 00 LUN: 00 Vendor identification: STK Product identification: L700 Unit serial number: XYZZY_A NAA: 10:22:33:44:ab:00:00:00 Home directory: /opt/mhvtl Backoff: 400 # fifo: /var/tmp/mhvtl Drive: 11 CHANNEL: 00 TARGET: 01 LUN: 00 Library ID: 10 Slot: 01 Vendor identification: IBM Product identification: ULT3580-TD5 Unit serial number: XYZZY_A1 NAA: 10:22:33:44:ab:00:01:00 Compression: factor 1 enabled 1 Compression type: lzo Backoff: 400 # fifo: /var/tmp/mhvtl Drive: 12 CHANNEL: 00 TARGET: 02 LUN: 00 Library ID: 10 Slot: 02 Vendor identification: IBM Product identification: ULT3580-TD5 Unit serial number: XYZZY_A2 NAA: 10:22:33:44:ab:00:02:00 Compression: factor 1 enabled 1 Compression type: lzo Backoff: 400 # fifo: /var/tmp/mhvtl
mhvtl 서비스를 다시 실행하고, lsscsi커맨드로 확인하면,
# /etc/init.d/mhvtl start vtllibrary process PID is 1406 [root@CentOS2 G03039TA]# lsscsi [0:0:0:0] disk ATA QEMU HARDDISK 1.5. /dev/sda [2:0:0:1] disk QEMU QEMU HARDDISK 1.5. /dev/sdb [4:0:0:0] mediumx STK L700 0105 /dev/sch0 [4:0:1:0] tape IBM ULT3580-TD5 0105 /dev/st0 [4:0:2:0] tape IBM ULT3580-TD5 0105 /dev/st1
위와같이 하나의 라이브러리(LibraryID 10)와, 두개의 tape 드라이브가 생긴것을 볼 수 있다.
2. 라이브러리 설정(/etc/library_contents.X)
위에서 라이브러리의 ID가 10번으로 설정되어 있다. /etc/mhvtl 디렉토리의 library_contents.10 화일을 보면 아래와 같이 설정되어 있다.
# cat /etc/mhvtl/library_contents.10 Drive 1: Drive 2: Drive 3: Drive 4: Picker 1: MAP 1: MAP 2: MAP 3: MAP 4: # Slot 1 - ?, no gaps # Slot N: [barcode] # [barcode] # a barcode is comprised of three fields: [Leading] [identifier] [Trailing] # Leading "CLN" -- cleaning tape # Leading "W" -- WORM tape # Leading "NOBAR" -- will appear to have no barcode # If the barcode is at least 8 character long, then the last two characters are Trailing # Trailing "S3" - SDLT600 # Trailing "X4" - AIT-4 # Trailing "L1" - LTO 1, "L2" - LTO 2, "L3" - LTO 3, "L4" - LTO 4, "L5" - LTO 5 # Trailing "LT" - LTO 3 WORM, "LU" - LTO 4 WORM, "LV" - LTO 5 WORM # Trailing "L6" - LTO 6, "LW" - LTO 6 WORM # Trailing "TA" - T10000+ # Trailing "TZ" - 9840A, "TY" - 9840B, "TX" - 9840C, "TW" - 9840D # Trailing "TV" - 9940A, "TU" - 9940B # Trailing "JA" - 3592+ # Trailing "JB" - 3592E05+ # Trailing "JW" - WORM 3592+ # Trailing "JX" - WORM 3592E05+ # Trailing "D7" - DLT7000 media (DLT IV) # Slot 1: E01001L4 Slot 2: E01002L4 Slot 3: E01003L4 Slot 4: E01004L4 Slot 5: E01005L4 Slot 6: E01006L4 Slot 7: E01007L4 Slot 8: E01008L4 Slot 9: E01009L4 Slot 10: E01010L4 Slot 11: E01011L4 Slot 12: E01012L4 Slot 13: E01013L4 Slot 14: E01014L4 Slot 15: E01015L4 Slot 16: E01016L4 Slot 17: E01017L4 Slot 18: E01018L4 Slot 19: E01019L4 Slot 20: E01020L4 Slot 21: Slot 22: CLN101L4 Slot 23: CLN102L5 Slot 24: Slot 25: Slot 26: Slot 27: Slot 28: Slot 29: Slot 30: F01030L5 Slot 31: F01031L5 Slot 32: F01032L5 Slot 33: F01033L5 Slot 34: F01034L5 Slot 35: F01035L5 Slot 36: F01036L5 Slot 37: F01037L5 Slot 38: F01038L5 Slot 39: F01039L5
드라이브 3, 4는 설정하지 않았으므로, 주석처리 한다.(map 3,4 도 주석처리)
drive와 map을 조정하면 더 많은 tape drive를 설정 할 수 있다. tape 바코드 설정은 설정화일에 의하면,
[Leading] [identifier] [Trailing] 식으로 설정한다.
위에서 드라이브가 ULT3580-TD5 두개로 설정되어 있으므로 테이프도 LTO5 로 변경한다. 슬롯 1-20과 22번의 클리닝 테이프 가 LTO4로 설정되어 있으므로, LTO5로 변경하고, 서비스를 재 실행한다.
최종적으로 아래와 같이 라이브러리를 설정하였다.
# cat library_contents.10 Drive 1: Drive 2: #Drive 3: #Drive 4: Picker 1: MAP 1: MAP 2: #MAP 3: #MAP 4: # Slot 1 - ?, no gaps # Slot N: [barcode] # [barcode] # a barcode is comprised of three fields: [Leading] [identifier] [Trailing] # Leading "CLN" -- cleaning tape # Leading "W" -- WORM tape # Leading "NOBAR" -- will appear to have no barcode # If the barcode is at least 8 character long, then the last two characters are Trailing # Trailing "S3" - SDLT600 # Trailing "X4" - AIT-4 # Trailing "L1" - LTO 1, "L2" - LTO 2, "L3" - LTO 3, "L4" - LTO 4, "L5" - LTO 5 # Trailing "LT" - LTO 3 WORM, "LU" - LTO 4 WORM, "LV" - LTO 5 WORM # Trailing "L6" - LTO 6, "LW" - LTO 6 WORM # Trailing "TA" - T10000+ # Trailing "TZ" - 9840A, "TY" - 9840B, "TX" - 9840C, "TW" - 9840D # Trailing "TV" - 9940A, "TU" - 9940B # Trailing "JA" - 3592+ # Trailing "JB" - 3592E05+ # Trailing "JW" - WORM 3592+ # Trailing "JX" - WORM 3592E05+ # Trailing "D7" - DLT7000 media (DLT IV) # Slot 1: X01001L5 Slot 2: X01002L5 Slot 3: X01003L5 Slot 4: X01004L5 Slot 5: X01005L5 Slot 6: X01006L5 Slot 7: X01007L5 Slot 8: X01008L5 Slot 9: X01009L5 Slot 10: X01010L5 Slot 11: E01011L5 Slot 12: E01012L5 Slot 13: E01013L5 Slot 14: E01014L5 Slot 15: E01015L5 Slot 16: E01016L5 Slot 17: E01017L5 Slot 18: E01018L5 Slot 19: NOBAR01019L5 Slot 20: NOBAR01020L5 Slot 21: Slot 22: CLN101L5 Slot 23: CLN102L5 Slot 24: Slot 25: Slot 26: Slot 27: Slot 28: Slot 29: Slot 30: F01030L5 Slot 31: F01031L5 Slot 32: F01032L5 Slot 33: F01033L5 Slot 34: F01034L5 Slot 35: F01035L5 Slot 36: F01036L5 Slot 37: F01037L5 Slot 38: F01038L5 Slot 39: F01039L5
3. mhvtl 설정(/etc/mhvtl/mhvtl.conf)
/etc/mhvtl/mhvtl.conf 화일은 설정화일의 위치와 미디어의 용량, 그리고 logging 수준을 설정하도록 되어 있다.
기본적으로 미디어 크기가 500M로 설정되어 있는데, 이 크기를 바꿈으로써, 테이프의 용량을 조정 할 수 있다. 나는 아래와같이 설정하였다.
# cat mhvtl.conf # Home directory for config file(s) MHVTL_CONFIG_PATH=/etc/mhvtl # Default media capacity (500 M) #CAPACITY=500 CAPACITY=100 # Set default verbosity [0|1|2|3] VERBOSE=1 # Set kernel module debuging [0|1] #VTL_DEBUG=0 VTL_DEBUG=1
4. 기타
미디어 위치: 미디어의 위치는 /opt/mhvtl 이다.(version 1.5에서)
—-
CentOS 7 에 mhvtl 설치 및 설정 영상(2017.3) 추가
참고. CentOS7에서 mhvtl 커널 모듈 컴파일시 아래 에러 발생할 경우.
# make make -C /lib/modules/3.10.0-514.el7.x86_64/build SUBDIRS=/root/mhvtl-1.5/kernel modules make: *** /lib/modules/3.10.0-514.el7.x86_64/build: No such file or directory. Stop. make: *** [default] Error 2
심볼릭 링크를 아래처럼 다시 만들어준다.
# cd /lib/modules/3.10.0-514.el7.x86_64/ # rm -f build # ln -s /usr/src/kernels/3.10.0-514.10.2.el7.x86_64/ build