在linux上学习备份命令tar的时候,有提到使用磁带机将数据备份到磁带,但对于学习者来说,很少有机会使用真正的磁带机,只有在归档海量数据的时候,磁带机会比较常见,在使用oracle rman进行备份和恢复的时候也需要磁带机,因而本章介绍下如何在rhel6 64位操作系统下模拟磁带机和模拟磁带机的简单使用。
一:配置相关环境,编译安装mhvtl.tgz(linux 虚拟带库)
- [root@rhel6 src]# tar -zxvf mhvtl.tgz
- [root@rhel6 src]# cd mhvtl-0.18/
- [root@rhel6 mhvtl-0.18]# yum -y install zlib-devel mtx mt-st lsscsi
- [root@rhel6 mhvtl-0.18]# useradd vtl
- [root@rhel6 mhvtl-0.18]# echo '123456' |passwd --stdin vtl
- Changing password for user vtl.
- passwd: all authentication tokens updated successfully.
- [root@rhel6 mhvtl-0.18]# mkdir /opt/mhvtl //虚拟带库存储路径
- [root@rhel6 mhvtl-0.18]# mkdir /etc/mhvtl //配置文件路径
- [root@rhel6 mhvtl-0.18]# chown -R vtl.vtl /opt/mhvtl/ /etc/mhvtl/
- [root@rhel6 mhvtl-0.18]# cd kernel/ //需要安装kernel-devel和kernke-headers软件包,否则以下编译会报错
- [root@rhel6 kernel]# ls
- fetch24.c fetch26.c fetch27.c fetch.c Makefile mhvtl.c mhvtl-kmod.spec vtl_common.h
- [root@rhel6 kernel]# make && make install
- [root@rhel6 kernel]# modprobe mhvtl
- [root@rhel6 kernel]# lsmod |grep mhvtl
- mhvtl 26165 0
- [root@rhel6 kernel]# cd ..
- [root@rhel6 mhvtl-0.18]# make && make install
- [root@rhel6 mhvtl-0.18]# /etc/init.d/mhvtl start //启动mhvtl程序
- vtltape: version 0.18.10
- vtltape: version 0.18.10
- vtltape: version 0.18.10
- vtltape: version 0.18.10
- vtltape: version 0.18.10
- vtltape: version 0.18.10
- vtltape: version 0.18.10
- vtltape: version 0.18.10
- vtllibrary: version 0.18.10
- vtllibrary process PID is 14448
- vtllibrary: version 0.18.10
- vtllibrary process PID is 14451
- [root@rhel6 mhvtl-0.18]# ls /etc/mhvtl/
- device.conf library_contents.10 library_contents.30 mhvtl.conf
- [root@rhel6 mhvtl-0.18]# ls /opt/mhvtl/
- CLN101L4 E01002L4 E01007L4 E01012L4 E01017L4 E03002L4 E03007L4 E03012L4 E03017L4 F01031L5 F01036L5 F03031L5 F03036L5
- CLN102L5 E01003L4 E01008L4 E01013L4 E01018L4 E03003L4 E03008L4 E03013L4 E03018L4 F01032L5 F01037L5 F03032L5 F03037L5
- CLN301L4 E01004L4 E01009L4 E01014L4 E01019L4 E03004L4 E03009L4 E03014L4 E03019L4 F01033L5 F01038L5 F03033L5 F03038L5
- CLN302L5 E01005L4 E01010L4 E01015L4 E01020L4 E03005L4 E03010L4 E03015L4 E03020L4 F01034L5 F01039L5 F03034L5 F03039L5
- E01001L4 E01006L4 E01011L4 E01016L4 E03001L4 E03006L4 E03011L4 E03016L4 F01030L5 F01035L5 F03030L5 F03035L5
二:查看带库相关信息
- [root@rhel6 mhvtl-0.18]# lsscsi -g
- [0:0:0:0] disk ATA ST3160815AS 4.AA /dev/sda /dev/sg0
- [8:0:0:0] storage IET Controller 0001 - /dev/sg1
- [8:0:0:1] disk IET VIRTUAL-DISK 0001 /dev/sdb /dev/sg2
- [9:0:0:0] mediumx STK L700 550V /dev/sch0 /dev/sg11 //为带库机械手
- [9:0:1:0] tape IBM ULT3580-TD5 550V /dev/st0 /dev/sg3
- [9:0:2:0] tape IBM ULT3580-TD5 550V /dev/st1 /dev/sg4
- [9:0:3:0] tape IBM ULT3580-TD4 550V /dev/st2 /dev/sg5
- [9:0:4:0] tape IBM ULT3580-TD4 550V /dev/st3 /dev/sg6
- [9:0:8:0] mediumx SPECTRA PYTHON 550V /dev/sch1 /dev/sg12 //为带库机械手
- [9:0:9:0] tape IBM ULT3580-TD4 550V /dev/st4 /dev/sg7
- [9:0:10:0] tape IBM ULT3580-TD4 550V /dev/st5 /dev/sg8
- [9:0:11:0] tape IBM ULT3580-TD4 550V /dev/st6 /dev/sg9
- [9:0:12:0] tape IBM ULT3580-TD4 550V /dev/st7 /dev/sg10
- [root@rhel6 mhvtl-0.18]# lsscsi -l
- [0:0:0:0] disk ATA ST3160815AS 4.AA /dev/sda
- state=running queue_depth=31 scsi_level=6 type=0 device_blocked=0 timeout=30
- [8:0:0:0] storage IET Controller 0001 -
- state=running queue_depth=32 scsi_level=6 type=12 device_blocked=0 timeout=0
- [8:0:0:1] disk IET VIRTUAL-DISK 0001 /dev/sdb
- state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=30
- [9:0:0:0] mediumx STK L700 550V /dev/sch0
- state=running queue_depth=32 scsi_level=6 type=8 device_blocked=0 timeout=0
- [9:0:1:0] tape IBM ULT3580-TD5 550V /dev/st0
- state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900
- [9:0:2:0] tape IBM ULT3580-TD5 550V /dev/st1
- state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900
- [9:0:3:0] tape IBM ULT3580-TD4 550V /dev/st2
- state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900
- [9:0:4:0] tape IBM ULT3580-TD4 550V /dev/st3
- state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900
- [9:0:8:0] mediumx SPECTRA PYTHON 550V /dev/sch1
- state=running queue_depth=32 scsi_level=6 type=8 device_blocked=0 timeout=0
- [9:0:9:0] tape IBM ULT3580-TD4 550V /dev/st4
- state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900
- [9:0:10:0] tape IBM ULT3580-TD4 550V /dev/st5
- state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900
- [9:0:11:0] tape IBM ULT3580-TD4 550V /dev/st6
- state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900
- [9:0:12:0] tape IBM ULT3580-TD4 550V /dev/st7
- state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900
- [root@rhel6 ~]# mtx -f /dev/sg11 status
- Storage Changer /dev/sg11: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
- ————————输出省略————————————
- [root@rhel6 ~]# mtx -f /dev/sg11 load 1 0 //将磁带从1号槽位装入driver 0
- Loading media from Storage Element 1 into drive 0...done
- [root@rhel6 ~]# mtx -f /dev/sg11 status
- Storage Changer /dev/sg11:4 Drives, 43 Slots ( 4 Import/Export )
- Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag = E01001L4
- Data Transfer Element 1:Empty
- Data Transfer Element 2:Empty
- Data Transfer Element 3:Empty
- ————————输出省略————————————
三:使用磁带机,nst0代表不回卷设备
- 1.将数据归档到模拟磁带机
- [root@rhel6 media]# mt -f /dev/nst0 tel
- At block 0.
- [root@rhel6 media]# tar -cvf /dev/nst0 张敬轩\ -\ 定局\ -\ 盛世仁杰主题曲.mp3
- 张敬轩 - 定局 - 盛世仁杰主题曲.mp3
- [root@rhel6 media]# mt -f /dev/nst0 tel
- At block 350.
- 2.倒带至磁带头并查看磁带内容,查看完内容后,会把磁带指针停止在内容位置后
- [root@rhel6 media]# mt -f /dev/nst0 rewind
- [root@rhel6 media]# mt -f /dev/nst0 tel
- At block 0.
- [root@rhel6 media]# tar -tvf /dev/nst0
- -rw-r--r-- nobody/nobody 3569715 2010-07-26 04:54 张敬轩 - 定局 - 盛世仁杰主题曲.mp3
- [root@rhel6 media]# mt -f /dev/nst0 tel
- At block 349.
- 3.继续添加文件至磁带机
- [root@rhel6 media]# tar -cvf /dev/nst0 /boot/vmlinuz-2.6.32-71.el6.x86_64
- /boot/vmlinuz-2.6.32-71.el6.x86_64
- [root@rhel6 media]# mt -f /dev/nst0 tel
- At block 721.
- 4.从磁带机中导出归档文件
- [root@rhel6 media]# mt -f /dev/nst0 rewind
- [root@rhel6 media]# tar -tvf /dev/nst0
- -rw-r--r-- nobody/nobody 3569715 2010-07-26 04:54 张敬轩 - 定局 - 盛世仁杰主题曲.mp3
- [root@rhel6 media]# mt -f /dev/nst0 rewind
- [root@rhel6 media]# rm -i 张敬轩\ -\ 定局\ -\ 盛世仁杰主题曲.mp3 //删除本地文件
- rm: remove regular file `张敬轩 - 定局 - 盛世仁杰主题曲.mp3'? y
- [[root@rhel6 media]# tar -xvf /dev/nst0 //导出第一个文件
- 张敬轩 - 定局 - 盛世仁杰主题曲.mp3
- [root@rhel6 media]# tar -xvf /dev/nst0 //导出第二个文件
- boot/vmlinuz-2.6.32-71.el6.x86_64
- 验证:
- [root@rhel6 media]# ls
- boot 张敬轩 - 定局 - 盛世仁杰主题曲.mp3
- [root@rhel6 media]# ls boot/
- vmlinuz-2.6.32-71.el6.x86_64
- 5.清除磁带机中的数据并倒带至磁带头
- [root@rhel6 media]# mt -f /dev/nst0 erase
- [root@rhel6 media]# mt -f /dev/nst0 tel
- At block 0.
四:卸载磁带机
- [root@rhel6 media]# mtx -f /dev/sg11 unload 1 0
- Unloading drive 0 into Storage Element 1...done
更多内容请参考:
http://mhvtl-linux-virtual-tape-library-community-forums.966029.n3.nabble.com/
若需要相关软件,请直接在51cto上联系本人,附上HP磁带机的简单使用说明,包含在附件中!
本文出自 “斩月” 博客,谢绝转载!