mhVTL 이란?
리눅스에서 표준 Tape Library를 에뮬레이션 해주는 오픈소스 VTL 프로그램이다.
작업환경: ubuntu 12.04 (32bit)
1. 설치
1.1. 다운로드
# wget https://sites.google.com/site/linuxvtl2/mhvtl-2014-04-13.tgz?attredirects=0 # mv mhvtl-2014-04-13.tgz?attredirects=0 mhvtl-2014-4-13.tgz
1.2. 컴파일
gcc를 설치한다. (이미 설치되어 있으므로 생략)
아래 패키지를 추가 설치한다.
# apt-get install lzop liblzo2-2 liblzo2-dev zlib1g-dev mt-st mtx sg3-utils lsscsi
mhVTL 이 사용할 user와 group을 만든다.
# groupadd -r vtl # useradd -r -c "VTL" -d /opt/mhvtl -g vtl vtl -s /bin/bash
다운로드한 mhvtl 을 /opt 아래로 이동한 후 압축을 푼다.
# mv mhvtl-2014-4-13.tgz /opt # tar xvzpf mhvtl-2014-4-13.tgz
kernel module 컴파일
# cd /opt/mhvtl-1.5/kernel/ # make; make install
mhVTL 컴파일, 설치
# cd /ope/mhvtl-1.5 # make; make install # chown -Rf vtl:vtl /opt/mhvtl
1.3. vtl 서비스 시작과 장치 확인
서비스를 실행하고 lsscsi 커맨드로 확인해보면, L700 VTL과 L80 VTL 에 tape 드라이브가 각각 4개씩 만들어진 것을 볼 수 있다.
# /etc/init.d/mhvtl start # lsscsi -g [1:0:0:0] cd/dvd VBOX CD-ROM 1.0 /dev/sr0 /dev/sg0 [2:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sda /dev/sg1 [3:0:0:0] mediumx STK L700 0105 /dev/sch0 /dev/sg10 [3:0:1:0] tape IBM ULT3580-TD5 0105 /dev/st0 /dev/sg2 [3:0:2:0] tape IBM ULT3580-TD5 0105 /dev/st1 /dev/sg3 [3:0:3:0] tape IBM ULT3580-TD4 0105 /dev/st2 /dev/sg4 [3:0:4:0] tape IBM ULT3580-TD4 0105 /dev/st3 /dev/sg5 [3:0:8:0] mediumx STK L80 0105 /dev/sch1 /dev/sg11 [3:0:9:0] tape STK T10000B 0105 /dev/st4 /dev/sg6 [3:0:10:0] tape STK T10000B 0105 /dev/st5 /dev/sg7 [3:0:11:0] tape STK T10000B 0105 /dev/st6 /dev/sg8 [3:0:12:0] tape STK T10000B 0105 /dev/st7 /dev/sg9
2. 사용하기
2.1. VTL 상태 보기
# mtx -f /dev/sg10 status Storage Changer /dev/sg10:4 Drives, 43 Slots ( 4 Import/Export ) Data Transfer Element 0:Empty Data Transfer Element 1:Empty Data Transfer Element 2:Empty Data Transfer Element 3:Empty Storage Element 1:Full :VolumeTag=E01001L4 Storage Element 2:Full :VolumeTag=E01002L4 ......
2.2. 드라이브에 tape 로드/언로드 하기
mtx 커맨드로 L700 VTL의 0 번 드라이브에 1번 테이프(물론 가상)를 로드한다.
# mtx -f /dev/sg10 load 1 0 Loading media from Storage Element 1 into drive 0...done
0번 드라이브에 2번 테이프를 로드하려면 이미 1번 테이프가 로드되어 있음을 알린다.
# mtx -f /dev/sg10 load 2 0 Drive 0 Full (Storage Element 1 loaded)
1번 드라이브에 1번 테이프를 로드한다.
# mtx -f /dev/sg10 load 2 1 Loading media from Storage Element 2 into drive 1...done
0번 드라이브의 테이프를 언로드 한다.
# mtx -f /dev/sg10 unload 1 0 Unloading drive 0 into Storage Element 1...done
2.3. 동작 테스트
/var/tmp/에 임의의 화일을 만든다.
# touch /var/tmp/abc.txt /var/tmp/def.txt
테이프에 백업을 해 본다.(lsscsi 로 장치명 확인)
# lsscsi [1:0:0:0] cd/dvd VBOX CD-ROM 1.0 /dev/sr0 [2:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sda [3:0:0:0] mediumx STK L700 0105 /dev/sch0 [3:0:1:0] tape IBM ULT3580-TD5 0105 /dev/st0 [3:0:2:0] tape IBM ULT3580-TD5 0105 /dev/st1 [3:0:3:0] tape IBM ULT3580-TD4 0105 /dev/st2 [3:0:4:0] tape IBM ULT3580-TD4 0105 /dev/st3 [3:0:8:0] mediumx STK L80 0105 /dev/sch1 [3:0:9:0] tape STK T10000B 0105 /dev/st4 [3:0:10:0] tape STK T10000B 0105 /dev/st5 [3:0:11:0] tape STK T10000B 0105 /dev/st6 [3:0:12:0] tape STK T10000B 0105 /dev/st7
1번 드라이브에 tar 커맨드로 백업.
# tar cvf /dev/st1 /var/tmp tar: Removing leading `/' from member names /var/tmp/ /var/tmp/def.txt /var/tmp/abc.txt
백업이 잘 되었는지 확인
# tar tvf /dev/st1 drwxrwxrwt root/root 0 2014-08-08 18:30 var/tmp/ -rw-r--r-- root/root 0 2014-08-08 18:29 var/tmp/def.txt -rw-r--r-- root/root 0 2014-08-08 18:29 var/tmp/abc.txt
—
2017.3. 추가
좀더 자세한 설정은 https://blog.boxcorea.com/wp/archives/1368
CentOS 7 설치, 설정 영상