感谢支持
我们一直在努力

RHEL6 虚拟磁带机使用指南

在linux上学习备份命令tar的时候,有提到使用磁带机将数据备份到磁带,但对于学习者来说,很少有机会使用真正的磁带机,只有在归档海量数据的时候,磁带机会比较常见,在使用Oracle rman进行备份和恢复的时候也需要磁带机,因而本章介绍下如何在rhel6 64位操作系统下模拟磁带机和模拟磁带机的简单使用。

一:配置相关环境,编译安装mhvtl.tgz(linux 虚拟带库)

  1. [root@rhel6 src]# tar -zxvf mhvtl.tgz   
  2. [root@rhel6 src]# cd mhvtl-0.18/  
  3. [root@rhel6 mhvtl-0.18]# yum -y install zlib-devel mtx mt-st lsscsi  
  4. [root@rhel6 mhvtl-0.18]# useradd vtl  
  5. [root@rhel6 mhvtl-0.18]# echo ‘123456’ |passwd –stdin vtl  
  6. Changing password for user vtl.  
  7. passwd: all authentication tokens updated successfully.  
  8.  
  9. [root@rhel6 mhvtl-0.18]# mkdir /opt/mhvtl    //虚拟带库存储路径  
  10. [root@rhel6 mhvtl-0.18]# mkdir /etc/mhvtl    //配置文件路径  
  11. [root@rhel6 mhvtl-0.18]# chown -R vtl.vtl /opt/mhvtl/ /etc/mhvtl/  
  12.  
  13. [root@rhel6 mhvtl-0.18]# cd kernel/  //需要安装kernel-devel和kernke-headers软件包,否则以下编译会报错  
  14. [root@rhel6 kernel]# ls  
  15. fetch24.c  fetch26.c  fetch27.c  fetch.c  Makefile  mhvtl.c  mhvtl-kmod.spec  vtl_common.h  
  16. [root@rhel6 kernel]# make && make install  
  17. [root@rhel6 kernel]# modprobe mhvtl  
  18. [root@rhel6 kernel]# lsmod  |grep mhvtl   
  19. mhvtl                  26165  0   
  20.  
  21. [root@rhel6 kernel]# cd ..  
  22. [root@rhel6 mhvtl-0.18]# make && make install  
  23.  
  24. [root@rhel6 mhvtl-0.18]# /etc/init.d/mhvtl start  //启动mhvtl程序  
  25. vtltape: version 0.18.10  
  26. vtltape: version 0.18.10  
  27. vtltape: version 0.18.10  
  28. vtltape: version 0.18.10  
  29. vtltape: version 0.18.10  
  30. vtltape: version 0.18.10  
  31. vtltape: version 0.18.10  
  32. vtltape: version 0.18.10  
  33. vtllibrary: version 0.18.10  
  34. vtllibrary process PID is 14448  
  35. vtllibrary: version 0.18.10  
  36. vtllibrary process PID is 14451  
  37.  
  38. [root@rhel6 mhvtl-0.18]# ls /etc/mhvtl/  
  39. device.conf  library_contents.10  library_contents.30  mhvtl.conf  
  40. [root@rhel6 mhvtl-0.18]# ls /opt/mhvtl/  
  41. CLN101L4  E01002L4  E01007L4  E01012L4  E01017L4  E03002L4  E03007L4  E03012L4  E03017L4  F01031L5  F01036L5  F03031L5  F03036L5  
  42. CLN102L5  E01003L4  E01008L4  E01013L4  E01018L4  E03003L4  E03008L4  E03013L4  E03018L4  F01032L5  F01037L5  F03032L5  F03037L5  
  43. CLN301L4  E01004L4  E01009L4  E01014L4  E01019L4  E03004L4  E03009L4  E03014L4  E03019L4  F01033L5  F01038L5  F03033L5  F03038L5  
  44. CLN302L5  E01005L4  E01010L4  E01015L4  E01020L4  E03005L4  E03010L4  E03015L4  E03020L4  F01034L5  F01039L5  F03034L5  F03039L5  
  45. E01001L4  E01006L4  E01011L4  E01016L4  E03001L4  E03006L4  E03011L4  E03016L4  F01030L5  F01035L5  F03030L5  F03035L5 

二:查看带库相关信息

  1. [root@rhel6 mhvtl-0.18]# lsscsi -g  
  2. [0:0:0:0]    disk    ATA      ST3160815AS      4.AA  /dev/sda   /dev/sg0  
  3. [8:0:0:0]    storage IET      Controller       0001  –         /dev/sg1  
  4. [8:0:0:1]    disk    IET      VIRTUAL-DISK     0001  /dev/sdb   /dev/sg2  
  5. [9:0:0:0]    mediumx STK      L700             550V  /dev/sch0  /dev/sg11  //为带库机械手  
  6. [9:0:1:0]    tape    IBM      ULT3580-TD5      550V  /dev/st0   /dev/sg3  
  7. [9:0:2:0]    tape    IBM      ULT3580-TD5      550V  /dev/st1   /dev/sg4  
  8. [9:0:3:0]    tape    IBM      ULT3580-TD4      550V  /dev/st2   /dev/sg5  
  9. [9:0:4:0]    tape    IBM      ULT3580-TD4      550V  /dev/st3   /dev/sg6  
  10. [9:0:8:0]    mediumx SPECTRA  PYTHON           550V  /dev/sch1  /dev/sg12  //为带库机械手  
  11. [9:0:9:0]    tape    IBM      ULT3580-TD4      550V  /dev/st4   /dev/sg7  
  12. [9:0:10:0]   tape    IBM      ULT3580-TD4      550V  /dev/st5   /dev/sg8  
  13. [9:0:11:0]   tape    IBM      ULT3580-TD4      550V  /dev/st6   /dev/sg9  
  14. [9:0:12:0]   tape    IBM      ULT3580-TD4      550V  /dev/st7   /dev/sg10  
  15.  
  16.  
  17. [root@rhel6 mhvtl-0.18]# lsscsi -l  
  18. [0:0:0:0]    disk    ATA      ST3160815AS      4.AA  /dev/sda   
  19.   state=running queue_depth=31 scsi_level=6 type=0 device_blocked=0 timeout=30 
  20. [8:0:0:0]    storage IET      Controller       0001  –         
  21.   state=running queue_depth=32 scsi_level=6 type=12 device_blocked=0 timeout=0 
  22. [8:0:0:1]    disk    IET      VIRTUAL-DISK     0001  /dev/sdb   
  23.   state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=30 
  24. [9:0:0:0]    mediumx STK      L700             550V  /dev/sch0  
  25.   state=running queue_depth=32 scsi_level=6 type=8 device_blocked=0 timeout=0 
  26. [9:0:1:0]    tape    IBM      ULT3580-TD5      550V  /dev/st0   
  27.   state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900 
  28. [9:0:2:0]    tape    IBM      ULT3580-TD5      550V  /dev/st1   
  29.   state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900 
  30. [9:0:3:0]    tape    IBM      ULT3580-TD4      550V  /dev/st2   
  31.   state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900 
  32. [9:0:4:0]    tape    IBM      ULT3580-TD4      550V  /dev/st3   
  33.   state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900 
  34. [9:0:8:0]    mediumx SPECTRA  PYTHON           550V  /dev/sch1  
  35.   state=running queue_depth=32 scsi_level=6 type=8 device_blocked=0 timeout=0 
  36. [9:0:9:0]    tape    IBM      ULT3580-TD4      550V  /dev/st4   
  37.   state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900 
  38. [9:0:10:0]   tape    IBM      ULT3580-TD4      550V  /dev/st5   
  39.   state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900 
  40. [9:0:11:0]   tape    IBM      ULT3580-TD4      550V  /dev/st6   
  41.   state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900 
  42. [9:0:12:0]   tape    IBM      ULT3580-TD4      550V  /dev/st7   
  43.   state=running queue_depth=32 scsi_level=6 type=1 device_blocked=0 timeout=900 
  44.     
  45. [root@rhel6 ~]# mtx -f /dev/sg11 status  
  46.   Storage Changer /dev/sg11:4 Drives, 43 Slots ( 4 Import/Export )  
  47. Data Transfer Element 0:Empty  
  48. Data Transfer Element 1:Empty  
  49. Data Transfer Element 2:Empty  
  50. Data Transfer Element 3:Empty  
  51. ————————输出省略————————————  
  52.  
  53. [root@rhel6 ~]# mtx -f /dev/sg11 load 1 0  //将磁带从1号槽位装入driver 0
  54. Loading media from Storage Element 1 into drive 0…done  
  55.  
  56. [root@rhel6 ~]# mtx -f /dev/sg11 status  
  57.   Storage Changer /dev/sg11:4 Drives, 43 Slots ( 4 Import/Export )  
  58. Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag = E01001L4                              
  59. Data Transfer Element 1:Empty  
  60. Data Transfer Element 2:Empty  
  61. Data Transfer Element 3:Empty       
  62. ————————输出省略———————————— 

三:使用磁带机,nst0代表不回卷设备

  1. 1.将数据归档到模拟磁带机  
  2. [root@rhel6 media]# mt -f /dev/nst0 tel  
  3. At block 0.  
  4. [root@rhel6 media]# tar -cvf /dev/nst0 张敬轩\ -\ 定局\ -\ 盛世仁杰主题曲.mp3   
  5. 张敬轩 – 定局 – 盛世仁杰主题曲.mp3  
  6. [root@rhel6 media]# mt -f /dev/nst0 tel  
  7. At block 350.  
  8.  
  9. 2.倒带至磁带头并查看磁带内容,查看完内容后,会把磁带指针停止在内容位置后  
  10. [root@rhel6 media]# mt -f /dev/nst0 rewind  
  11. [root@rhel6 media]# mt -f /dev/nst0 tel  
  12. At block 0.  
  13. [root@rhel6 media]# tar -tvf /dev/nst0  
  14. -rw-r–r– nobody/nobody 3569715 2010-07-26 04:54 张敬轩 – 定局 – 盛世仁杰主题曲.mp3  
  15. [root@rhel6 media]# mt -f /dev/nst0 tel  
  16. At block 349.  
  17.  
  18. 3.继续添加文件至磁带机  
  19. [root@rhel6 media]# tar -cvf /dev/nst0 /boot/vmlinuz-2.6.32-71.el6.x86_64   
  20. /boot/vmlinuz-2.6.32-71.el6.x86_64  
  21. [root@rhel6 media]# mt -f /dev/nst0 tel  
  22. At block 721.  
  23.  
  24. 4.从磁带机中导出归档文件  
  25. [root@rhel6 media]# mt -f /dev/nst0 rewind       
  26. [root@rhel6 media]# tar -tvf /dev/nst0  
  27. -rw-r–r– nobody/nobody 3569715 2010-07-26 04:54 张敬轩 – 定局 – 盛世仁杰主题曲.mp3  
  28.  
  29. [root@rhel6 media]# mt -f /dev/nst0 rewind  
  30. [root@rhel6 media]# rm -i 张敬轩\ -\ 定局\ -\ 盛世仁杰主题曲.mp3    //删除本地文件  
  31. rm: remove regular file `张敬轩 – 定局 – 盛世仁杰主题曲.mp3′? y  
  32.  
  33. [[root@rhel6 media]# tar -xvf /dev/nst0          //导出第一个文件  
  34. 张敬轩 – 定局 – 盛世仁杰主题曲.mp3  
  35.  
  36. [root@rhel6 media]# tar -xvf /dev/nst0           //导出第二个文件  
  37. boot/vmlinuz-2.6.32-71.el6.x86_64  
  38.  
  39. 验证:  
  40. [root@rhel6 media]# ls  
  41. boot  张敬轩 – 定局 – 盛世仁杰主题曲.mp3  
  42. [root@rhel6 media]# ls boot/  
  43. vmlinuz-2.6.32-71.el6.x86_64  
  44.  
  45.  
  46. 5.清除磁带机中的数据并倒带至磁带头  
  47. [root@rhel6 media]# mt -f /dev/nst0 erase  
  48. [root@rhel6 media]# mt -f /dev/nst0 tel  
  49. At block 0. 

四:卸载磁带机

  1. [root@rhel6 media]# mtx -f /dev/sg11 unload 1 0  
  2. Unloading drive 0 into Storage Element 1…done 

附上HP磁带机的简单使用说明,见 http://www.linuxidc.com/Linux/2011-12/49156p2.htm

【注意事项】

【本文档所带来的系列数据风险作者不予承担】
################################################
# HP380 G3 DAT72 磁带机启用简明
# DB 2.2
################################################
# 说明:
#echo “engage scsi” >> /proc/driver/cciss/cciss0 (0 or 1)与启用的阵列卡有关
#cat /proc/scsi/scsi 查看设备是否已经启用

/dev/st0 回卷设备名
/dev/nst0 不回卷设备名

mt -f /dev/st0 tel 查看当前位置后回卷

mt -f /dev/nst0 tel 查看当前位置后不回卷

mt -f /dev/nst0 status 查看当前状态后不回卷

mt -f /dev/nst0 asf 1 前往block 1处后不回卷【一般不用】

tar tvf /dev/nst0 查看目录树后不回卷

tar tvf /dev/st0 查看目录树后回卷至0

mt -f /dev/nst0 rewind rewind 它可以使磁带快倒至磁带头

mt -f /dev/nst0 eod eod 定位磁带到最后可进行追加写入

mt -f /dev/nst0 fsf [欲前进的记录段数] fsf 它可以使磁带快速前进若干段记录[默认一段]

mt -f /dev/nst0 bsf [欲退回的记录段数] bsf 它可以使磁带快速后退若干段记录[默认一段]

mt -f /dev/nst0 offline offline 使磁带快倒至磁带头并弹出磁带机

mt -f /dev/st0 erase 清除数据后倒至磁带头【危险操作、时间较长】

mt -f /dev/st0 retension 拉紧磁带

################################################

1.1 ERP全备份
#################
#echo “engage scsi” >> /proc/driver/cciss/cciss0 (0 or 1)与启用的阵列卡有关
#cat /proc/scsi/scsi 查看磁带机启用状态
#mt -f /dev/nst0 rewind 回卷至磁带最开头
#nohup tar cf /dev/nst0 /ora1159/prod & 备份/ora1159/prod后不回卷【大约3小时】
#mt -f /dev/nst0 offline offline 使磁带快倒至磁带头并弹出磁带机

1.2 ERP全恢复
#################
#echo “engage scsi” >> /proc/driver/cciss/cciss0 (0 or 1)与启用的阵列卡有关
#cat /proc/scsi/scsi 查看磁带机启用状态
#df -h 查看/XXXXX/YYYYY可用空间大于70GB
#cd /XXXXX/YYYYY 进入目标恢复目录
#mt -f /dev/nst0 rewind 回卷至磁带最开头
#nohup tar -xpf /dev/nst0 & 恢复开始【大约3小时】
#mt -f /dev/nst0 offline offline 使磁带快倒至磁带头并弹出磁带机

1.3 ERP proddata备份
########################
#echo “engage scsi” >> /proc/driver/cciss/cciss0 (0 or 1)与启用的阵列卡有关
#cat /proc/scsi/scsi 查看磁带机启用状态
#nohup tar cf /dev/nst0 /ora1159/prod/proddata & 【注意使用不回卷设备名,一盘磁带备份2次,第二次备份完后再取出磁带】

1.4 ERP proddata恢复【注意:恢复磁带第1段数据】
##################################################
#echo “engage scsi” >> /proc/driver/cciss/cciss0 (0 or 1)与启用的阵列卡有关
#cat /proc/scsi/scsi 查看磁带机启用状态
#df -h 查看/XXXXX/YYYYY可用空间大于40GB
#cd /XXXXX/YYYYY 进入目标恢复目录
#mt -f /dev/nst0 rewind 回卷至磁带最开头
#nohup tar -xpf /dev/nst0 & 恢复开始【大约2小时】

1.5 ERP proddata恢复【注意:恢复磁带第2段数据】
##################################################
#echo “engage scsi” >> /proc/driver/cciss/cciss0 (0 or 1)与启用的阵列卡有关
#cat /proc/scsi/scsi 查看磁带机启用状态
#df -h 查看/XXXXX/YYYYY可用空间大于40GB
#cd /XXXXX/YYYYY 进入目标恢复目录
#mt -f /dev/nst0 rewind 回卷至磁带最开头
#mt -f /dev/nst0 fsf 前进至第2段记录的开始 【与1.4的差别所在】
#nohup tar -xpf /dev/nst0 & 恢复开始【大约2小时】

################################################
[root@erpapp diskA]# cat /proc/scsi/scsi
Attached devices: none
[root@erpapp diskA]# echo “engage scsi” >> /proc/driver/cciss/cciss0
[root@erpapp diskA]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: HP Model: C7438A Rev: V312
Type: Sequential-Access ANSI SCSI revision: 03
[root@erpapp diskA]#

################################################
异地使用磁带机(必须为可信任用户)
1)备份数据至异地磁带机
tar cvf – dirname|rsh remote dd of=/dev/rmt/0
2)从异地磁带机读取数据
rsh remote dd if=/dev/rmt/0 tar xvf –

赞(0) 打赏
转载请注明出处:服务器评测 » RHEL6 虚拟磁带机使用指南
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏