[转] linux虚拟带库操作笔记
原文来自:“王旺的书房” ---- http://blog.itpub.net/271063/viewspace-1059840/
分类: Linux
[root@node1 ~]# lsscsi -g
[1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0 /dev/sg0
[2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda /dev/sg1
[3:0:0:0] mediumx STK L700 0104 /dev/sch0 /dev/sg10
[3:0:1:0] tape IBM ULT3580-TD5 0104 /dev/st0 /dev/sg2
[3:0:2:0] tape IBM ULT3580-TD5 0104 /dev/st1 /dev/sg3
[3:0:3:0] tape IBM ULT3580-TD4 0104 /dev/st2 /dev/sg4
[3:0:4:0] tape IBM ULT3580-TD4 0104 /dev/st3 /dev/sg5
[3:0:8:0] mediumx STK L80 0104 /dev/sch1 /dev/sg11
[3:0:9:0] tape STK T10000B 0104 /dev/st4 /dev/sg6
[3:0:10:0] tape STK T10000B 0104 /dev/st5 /dev/sg7
[3:0:11:0] tape STK T10000B 0104 /dev/st6 /dev/sg8
[3:0:12:0] tape STK T10000B 0104 /dev/st7 /dev/sg9
[root@node1 ~]#[@more@]
可以看到虚拟带库设备的两个机械臂和8个驱动器
查看虚拟带库配置文件
[root@node1 ~]# cat /etc/mhvtl/mhvtl.conf
# Home directory for config file(s)
MHVTL_CONFIG_PATH=/etc/mhvtl
# Default media capacity (500 M) //磁带缺省容量500M
CAPACITY=500
# Set default verbosity [0|1|2|3]
VERBOSE=1
# Set kernel module debuging [0|1]
VTL_DEBUG=0
[root@node1 ~]#
查看机械臂状态,4个驱动器,43个槽位
[root@node1 ~]# 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
......
[root@node1 ~]#
将1槽位的磁带放到0驱动器里
[root@node1 ~]# mtx -f /dev/sg10 status |more
Storage Changer /dev/sg10:4 Drives, 43 Slots ( 4 Import/Export )
Data Transfer Element 0:Empty 0驱动器是空的。 /dev/st0
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Empty
Storage Element 1:Full :VolumeTag=E01001L4 磁带在1槽位
Storage Element 2:Full :VolumeTag=E01002L4
Storage Element 3:Full :VolumeTag=E01003L4
......
[root@node1 ~]#
[root@node1 ~]# mtx -f /dev/sg10 load 1 0 将1槽位的磁带放到0驱动中
Loading media from Storage Element 1 into drive 0...done
[root@node1 ~]# mtx -f /dev/sg10 status |more 再次查看
Storage Changer /dev/sg10:4 Drives, 43 Slots ( 4 Import/Export )
Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag = E01001L4
E01001L4磁带已经进入0驱动器中
Data Transfer Element 1:Empty
Data Transfer Element 2:Empty
Data Transfer Element 3:Empty
Storage Element 1:Empty 1槽位已经空了
Storage Element 2:Full :VolumeTag=E01002L4
此时,查看st0状态 状态显示为file_number=0
[root@node1 ~]# mt -f /dev/st0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x46 (LTO-4).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN
未装磁带的st0 与上面的不同,状态显示为file_number=-1
[root@node1 ~]# mt -f /dev/st0 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
[root@node1 ~]#
======================================== /dev/st0 ===================================================
往磁带上写数据
查看磁带上的数据
[root@node1 ~]# tar -cvf /dev/st0 install.log
install.log
[root@node1 ~]# tar -tvf /dev/st0
-rw-r--r-- root/root 51340 2012-11-06 16:22 install.log
[root@node1 ~]# mt -f /dev/st0 tel
At block 6.
继续添加文件至磁带机
[root@node1 ~]# tar -cvf /dev/st0 liblzo2_2-2.03-6.el6.i686.rpm
liblzo2_2-2.03-6.el6.i686.rpm
[root@node1 ~]#
[root@node1 ~]# tar -tvf /dev/st0
-rw-r--r-- root/root 49176 2012-11-30 09:41 liblzo2_2-2.03-6.el6.i686.rpm
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/st0 tel
At block 0.
[root@node1 ~]#
因为使用的是自动回带设备,所以第2次备份会replace
======================================== tar -cvf ===================================================
重新进行文件的归档
[root@node1 ~]# mt -f /dev/nst0 erase 先清除磁带上的内容
[root@node1 ~]# mt -f /dev/nst0 tel 查看磁带指针停止位置
At block 0.
[root@node1 ~]# tar -cvf /dev/nst0 install.log.syslog 归档第1个文件大小为11288
install.log.syslog
[root@node1 ~]# mt -f /dev/nst0 tel 第1个文件使用了2个块
At block 3.
[root@node1 ~]# tar -cvf /dev/nst0 liblzo2_2-2.03-6.el6.i686.rpm 归档第2个文件大小为49176
liblzo2_2-2.03-6.el6.i686.rpm
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 tel 第2个文件使用了6个块 一共使用了8个块
At block 9.
[root@node1 ~]#
[root@node1 ~]# tar -cvf /dev/nst0 anaconda-ks.cfg 归档第3个文件大小为2194
anaconda-ks.cfg
[root@node1 ~]# mt -f /dev/nst0 tel 第3个文件使用了2个块 一共使用了10个块
At block 11.
[root@node1 ~]# tar -tvf /dev/nst0 查看内容时报错 因为现在的指针指向的是11块的空白区域
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
[root@node1 ~]#
======================================== tar -tvf ===================================================
如果要查看已归档的内容,倒带至磁带头
[root@node1 ~]# mt -f /dev/nst0 rewind 倒带
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 tel 此时在块0处
At block 0.
[root@node1 ~]# tar -tvf /dev/nst0 此时可以查看到第1个备份文件
-rw-r--r-- root/root 11288 2012-11-06 16:19 install.log.syslog
[root@node1 ~]# 查看完后,指针已经向前移动
[root@node1 ~]# tar -tvf /dev/nst0 此时看不到归档内容,因为第2个备份文件使用的是从块3开始的内容
tar: This does not look like a tar archive 经过这个错误,磁头又向前移动了
tar: Exiting with failure status due to previous errors
[root@node1 ~]# tar -tvf /dev/nst0 此时看到了第2个归档文件,因为
-rw-r--r-- root/root 49176 2012-11-30 09:41 liblzo2_2-2.03-6.el6.i686.rpm
[root@node1 ~]# mt -f /dev/nst0 tel 此时磁头移到了第8个块
At block 8.
[root@node1 ~]# mt -f /dev/nst0 tel 如果不进行tar命令,磁头不会移动
At block 8.
[root@node1 ~]# mt -f /dev/nst0 tel
At block 8.
[root@node1 ~]#
[root@node1 ~]# tar -tvf /dev/nst0 第3个文件是从块9开始的,但此时磁头还没到块9,还在块8
tar: This does not look like a tar archive 经过一个错误,磁头到了块9,
tar: Exiting with failure status due to previous errors
[root@node1 ~]# mt -f /dev/nst0 tel 磁头到了块9,
At block 9.
[root@node1 ~]# tar -tvf /dev/nst0 此时可以查看第3个备份文件 同时,磁头又向前移动了1块
-rw------- root/root 2194 2012-11-06 16:22 anaconda-ks.cfg
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 tel
At block 10.
======================================== tar -xvf ===================================================
如果要把已经备份的文件,释放出来,同理,也要按序进行。操作如下:
[root@node1 ~]# mt -f /dev/nst0 rewind 磁头回到0块,此时可以还原第1个文件
[root@node1 ~]# mt -f /dev/nst0 tel
At block 0.
[root@node1 ~]# tar -xvf /dev/nst0
install.log.syslog
[root@node1 ~]# mt -f /dev/nst0 tel 当前磁头在块2,所以不能还原或查看第2个文件
At block 2.
[root@node1 ~]# tar -xvf /dev/nst0 错误一次,磁头移到块3,此时可以还原或查看第2个文件
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
[root@node1 ~]# tar -xvf /dev/nst0
liblzo2_2-2.03-6.el6.i686.rpm 当前磁头在块8,还是不能还原或查看第3个文件,第3个文件从块9始
[root@node1 ~]# tar -xvf /dev/nst0 错误一次,磁头移一个块,现在磁头在块9
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
[root@node1 ~]# tar -xvf /dev/nst0 磁头在块9,可以查看和恢复第3个文件了
anaconda-ks.cfg
[root@node1 ~]# mt -f /dev/nst0 tel 第3个文件还原之后,磁头停在第3个文件尾部,而不是块11
At block 10.
[root@node1 ~]#
======================================== fsf ===================================================
如何使用fsf 来使用磁头前进一个文件
[root@node1 ~]# mt -f /dev/nst0 tel 磁头回到0块,此时可以还原第1个文件
At block 0.
[root@node1 ~]#
[root@node1 ~]# tar -tvf /dev/nst0 查询第1个文件
-rw-r--r-- root/root 11288 2012-11-06 16:19 install.log.syslog
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 tel 目前在第1个文件尾,不能查询第2个文件
At block 2.
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 fsf 1 让磁头前进一个文件,这样就能直接查询第2个文件了
[root@node1 ~]#
[root@node1 ~]# tar -tvf /dev/nst0
-rw-r--r-- root/root 49176 2012-11-30 09:41 liblzo2_2-2.03-6.el6.i686.rpm
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 fsf 1 让磁头再前进一个文件,这样就能直接查询第3个文件了
[root@node1 ~]#
[root@node1 ~]# tar -tvf /dev/nst0
-rw------- root/root 2194 2012-11-06 16:22 anaconda-ks.cfg
[root@node1 ~]#
========================================== bsf =================================================
到底当前磁头在什么位置呢? 在文件首还是文件尾?
[root@node1 ~]# mt -f /dev/nst0 tel
At block 0.
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x46 (LTO-4).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN 能不能这样理解? BOT : begin of tape ?
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 fsf 1 向前走一个文件
[root@node1 ~]# mt -f /dev/nst0 status
SCSI 2 tape drive:
File number=1, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x46 (LTO-4).
Soft error count since last status=0
General status bits on (81010000):
EOF ONLINE IM_REP_EN 到了第1个文件的尾端 end of file
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 tel 磁头处于3号块
At block 3.
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 fsf 1 再向前走一个文件
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 tel 磁头处于9号块
At block 9.
[root@node1 ~]# mt -f /dev/nst0 status
SCSI 2 tape drive:
File number=2, block number=0, partition=0. 文件号=2 是第3个文件 块号=0 可以操作
Tape block size 0 bytes. Density code 0x46 (LTO-4).
Soft error count since last status=0
General status bits on (81010000):
EOF ONLINE IM_REP_EN 9号块也是2号文件的尾端 只要是EOF,就可操作文件
[root@node1 ~]#
[root@node1 ~]#
使用回退稍微不同。
[root@node1 ~]# mt -f /dev/nst0 bsf 1
[root@node1 ~]# mt -f /dev/nst0 status
SCSI 2 tape drive:
File number=1, block number=-1, partition=0. 文件号=1 是第2个文件 块号=-1 是这个空间的最后一个块
Tape block size 0 bytes. Density code 0x46 (LTO-4).
Soft error count since last status=0
General status bits on (1010000):
ONLINE IM_REP_EN 没有出现EOF,此时不能使用tar命令
[root@node1 ~]# mt -f /dev/nst0 tel 回退一个文件,仅是回退到上个文件的未尾
At block 8.
[root@node1 ~]#
[root@node1 ~]# mt -f /dev/nst0 tel bsf之后,不能直接操作,可以再fsf前走一次
At block 2.
[root@node1 ~]# mt -f /dev/nst0 fsf 1
[root@node1 ~]# mt -f /dev/nst0 tel 接着就可以tar 操作了
At block 3.
[root@node1 ~]#
========================================== 参考资料 =================================================
http://www.cs.inf.ethz.ch/stricker/lab/linux_tape.html [ howto_tape.docx ]
http://hi.baidu.com/widebright/item/3fec7fe6cc4214a9c00d7577
[ 磁带机设备的管理和使用.txt ]
AIX下的磁带使用参考
http://www.ibm.com/developerworks/cn/aix/library/0904_wangwei_atape/
[ AIX_tape.docx ]
[转] linux虚拟带库操作笔记的更多相关文章
- linux系统操作笔记
tar cvf test.tar /etc gzip test.tar bzep2 test.tar 归档压缩 tar czf test.tar.gz /etc vi /etc/test ...
- Linux文件操作 笔记
fstat stat lstat 原型 #include <unistd.h> #include <sys/stat.h> #include <sys/types.h&g ...
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)
第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...
- Linux实战教学笔记04:Linux命令基础
第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...
- Linux实战教学笔记03:操作系统发展历程及系统版本选择
标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...
- Linux实战教学笔记02:计算机系统硬件核心知识
标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 互联网企业常见服务器介绍 1.1 互联网公司服务器品牌 - DELL(大多数公司,常用) - HP - IBM(百度在用) 浪潮 联想 航天联 ...
- Linux实战教学笔记01:计算机硬件组成与基本原理
标签(空格分隔): Linux实战教学笔记 第1章 如何学习Linux 要想学好任何一门学问,不仅要眼睛看,耳朵听,还要动手记,勤思考,多交流甚至尝试着去教会别人. 第2章 服务器 2.1 运维的基本 ...
随机推荐
- js兼容性记录
做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们程序员去兼容他们,不然有些浏览器就无法运行我们的代码.就会造来客户的投诉,如果让BoSS知道了, ...
- linux, configure --prefix=/有什么用
作用就是指定安装路径不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc.其它的资源文件放在 ...
- RESTful API的重磅好伙伴Swagger2
本文将介绍RESTful API的重磅好伙伴Swagger2,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档. 它既可以减少我们创建文 ...
- HAProxy安装配置详解
简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...
- Mysql 自定义HASH索引带来的巨大性能提升----[真相篇]
推倒重来 俗话说no zuo no die why you try,这时候我又忍不住zuo了,吭哧吭哧的把解决过程发上博客,向全世界宣布,哥又搞定个难题. 剧情的发展往往是看起来主角完全掌握了局势的情 ...
- ruby 查询mysql方法
首先对需要使用的数据库进行封装,便于使用:数据库表封装源码: mysqlapi.rb #业务涉及的数据库的配置ActiveRecord::Base$db1={:adapter => " ...
- 微分方程——基本概念和常微分方程的发展史
1.2 基本概念和常微分方程的发展史 自变量.未知函数均为实值的微分方程称为实值微分方程:未知函数取复值或变量及未知函数均取复值时称为复值微分方程.若无特别声明,以下均指实变量的实值微分方程. 1.2 ...
- Hbase条件筛选
需求来自于,模糊查找当天的所有记录,并查找对应列的记录数 public static void main(String[] args) throws Exception{ //创建HBase连接 Co ...
- [ActionScript 3.0] AS3.0 将图像的Alpha通道转换为黑白图像(分离ARGB方式)
import flash.display.BitmapData; import flash.display.Bitmap; /** * 将图像的Alpha通道转换为黑白图像(分离ARGB方式) */ ...
- pageContext对象的用法
(1) pageContext对象 这个对象代表页面上下文,该对象主要用于访问JSP之间的共享数据. pageContext是PageContext类的实例,使用pageContext可以访问page ...