Ubuntu 12.04下虚拟磁带库mhvtl的安装和使用
apt-get install zlib1g-dev mt-st mtx lsscsisg3_utils liblzo2-dev tar zxvf mhvtl---.tgz
cd mhvtl-1.4 安装内核
cd kernel
make;
make install;
root@lion-SNS:/opt# service mhvtl start
vtllibrary process PID is
vtllibrary process PID is
查看VTL挂截情况
root@lion-SNS:/opt# lsscsi -g
[:::] disk ATA ST500DM002-1BD14 KC45 /dev/sda /dev/sg0
[:::] cd/dvd HL-DT-ST DVD+-RW GH82N A102 /dev/sr0 /dev/sg1
[:::] disk Generic- SD/MMC 1.00 /dev/sdb /dev/sg2
[:::] disk Generic- Compact Flash 1.01 /dev/sdc /dev/sg3
[:::] disk Generic- SM/xD Picture 1.02 /dev/sdd /dev/sg4
[:::] disk Generic- MS/MS-Pro 1.03 /dev/sde /dev/sg5
[:::] mediumx STK L700 /dev/sch0 /dev/sg14
[:::] tape IBM ULT3580-TD5 /dev/st0 /dev/sg6
[:::] tape IBM ULT3580-TD5 /dev/st1 /dev/sg7
[:::] tape IBM ULT3580-TD4 /dev/st2 /dev/sg8
[:::] tape IBM ULT3580-TD4 /dev/st3 /dev/sg9
[:::] mediumx STK L80 /dev/sch1 /dev/sg15
[:::] tape STK T10000B /dev/st4 /dev/sg10
[:::] tape STK T10000B /dev/st5 /dev/sg11
[:::] tape STK T10000B /dev/st6 /dev/sg12
[:::] tape STK T10000B /dev/st7 /dev/sg13
sg14,sg15为两个磁带机,sg6-9,sg11-13分别为他们的磁头
查看磁带机状态:
root@lion-SNS:/home/lion# mtx -f /dev/sg14 status
Storage Changer /dev/sg14: Drives, Slots ( Import/Export )
//四个读写磁头
Data Transfer Element :Empty
Data Transfer Element :Empty
Data Transfer Element :Empty
Data Transfer Element :Empty
//43个磁带槽
Storage Element :Full :VolumeTag=E01001L4
Storage Element :Full :VolumeTag=E01002L4
Storage Element :Full :VolumeTag=E01003L4
Storage Element :Full :VolumeTag=E01004L4
Storage Element :Full :VolumeTag=E01005L4
Storage Element :Full :VolumeTag=E01006L4
Storage Element :Full :VolumeTag=E01007L4
Storage Element :Full :VolumeTag=E01008L4
Storage Element :Full :VolumeTag=E01009L4
Storage Element :Full :VolumeTag=E01010L4
Storage Element :Full :VolumeTag=E01011L4
Storage Element :Full :VolumeTag=E01012L4
Storage Element :Full :VolumeTag=E01013L4
Storage Element :Full :VolumeTag=E01014L4
Storage Element :Full :VolumeTag=E01015L4
Storage Element :Full :VolumeTag=E01016L4
Storage Element :Full :VolumeTag=E01017L4
Storage Element :Full :VolumeTag=E01018L4
Storage Element :Full :VolumeTag=E01019L4
Storage Element :Full :VolumeTag=E01020L4
Storage Element :Empty
Storage Element :Full :VolumeTag=CLN101L4
Storage Element :Full :VolumeTag=CLN102L5
Storage Element :Empty
Storage Element :Empty
Storage Element :Empty
Storage Element :Empty
Storage Element :Empty
Storage Element :Empty
Storage Element :Full :VolumeTag=F01030L5
Storage Element :Full :VolumeTag=F01031L5
Storage Element :Full :VolumeTag=F01032L5
Storage Element :Full :VolumeTag=F01033L5
Storage Element :Full :VolumeTag=F01034L5
Storage Element :Full :VolumeTag=F01035L5
Storage Element :Full :VolumeTag=F01036L5
Storage Element :Full :VolumeTag=F01037L5
Storage Element :Full :VolumeTag=F01038L5
Storage Element :Full :VolumeTag=F01039L5
Storage Element IMPORT/EXPORT:Empty
Storage Element IMPORT/EXPORT:Empty
Storage Element IMPORT/EXPORT:Empty
Storage Element IMPORT/EXPORT:Empty
root@lion-SNS:/home/lion#
将磁带装入磁头才能进行读写存储操作
将第1个磁带装入磁头0
root@lion-SNS:/home/lion# mtx -f /dev/sg14 load
Loading media from Storage Element into drive ...done
root@lion-SNS:/home/lion# mtx -f /dev/sg14 status
Storage Changer /dev/sg14: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
Storage Element 1:Empty
Storage Element 2:Full :VolumeTag=E01002L4
Storage Element 3:Full :VolumeTag=E01003L4
Storage Element 4:Full :VolumeTag=E01004L4
Storage Element 5:Full :VolumeTag=E01005L4
进行数据存储,lsscsi -g 可以得到驱动器的设备名称为/dev/st0,1,2,3
[13:0:0:0] mediumx STK L700 0104 /dev/sch0 /dev/sg14
[13:0:1:0] tape IBM ULT3580-TD5 0104 /dev/st0 /dev/sg6
[13:0:2:0] tape IBM ULT3580-TD5 0104 /dev/st1 /dev/sg7
[13:0:3:0] tape IBM ULT3580-TD4 0104 /dev/st2 /dev/sg8
[13:0:4:0] tape IBM ULT3580-TD4 0104 /dev/st3 /dev/sg9
Linux下使用磁带机的方式有多种,主要有通过Amanda、Tar、cpio、pax、ufsdump等软件进行操作。
Amanda是提供了远程集中备份的功能,通过分别设置客户端、服务器端,实现远程集中存储备份。而Tar主要用于单机环境下,将数据直接写入磁带的备份。
针对单一节点的备份,只要简单的使用Tar命令进行备份、恢复即可。
往磁带中写入文件,和读取文件
root@lion-SNS:~# tar -cvf /dev/st0 restartN*
restartNetwork.sh
restartNova.sh
root@lion-SNS:~# tar -tvf /dev/st0
-rw-r--r-- root/root -- : restartNetwork.sh
-rw-r--r-- root/root -- : restartNova.sh
root@lion-SNS:~#
磁带库其它操作命令
列出磁带机状态
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 //磁带准备就绪
DR_OPEN //磁带门打开,磁带未准备好
倒带,将磁带卷至起始位置:
# mt -f /dev/st0 rewind 擦除,擦掉磁带上的内容,如果是真实磁带,对磁带损伤比较大,一般不用。
mt -f /dev/st0 erase
装磁带从插槽1装入驱动器0
mt -f /dev/sg14 load 1 0
卸载磁带,将磁带从驱动器0卸载放到插槽1:
# mtx -f /dev/sg14 unload 出带,将磁带卷至初始位置然后从磁带机内弹出
mt –f /dev/st0 offline 列目录操作,假如磁带上没有任何文件,则列目录会报错,忽略即可。
tar tvf /dev/st0 写入数据操作,每次写入都会覆盖之前的文件。
tar cvf /dev/st0 <要写入的文件名> 继续写入数据,不覆盖之前文件,tar cvf 会覆盖之前写入的文件
tar rvf /dev/st0 <要写入的文件名> 读取数据到当前目录
tar xvf /dev/st0 <要读取的文件名>
检查磁头是否位置磁带的起始位置
root@lion-SNS:/tmp# mt -f /dev/st0 tell
At block 0.
磁带前进n个文件
mt -f /dev/nst0 fsf n
磁带后退n个文件
mt -f /dev/nst0 bsf n
cpio命令
cpio 命令用于复制需要跨多个磁带卷的文件、特殊文件或文件系统。可实现不同系统间文件的可移植性,但命令比tar更复杂,其复制机制类似于块复制。
将文件备份到磁带
ls | cpio -ov filename > /dev/st0 备份目录树
find . -print -depth | cpio -ov > tree.cpio 从磁带恢复
cpio -iv
cpio 常用参数说明
-o :将数据copy到文件或设备上
-i :将数据从文件或设备上还原到系统中
-t :查看cpio建立的文件或设备内容
-c :一种比较新的portableformat方式存储
-v :在屏幕上显示备份过程中的文件名
-B :让预设的blocks可以增加到5120bytes,默认是512bytes,这样可以使备份速度加快
-d :自动建立目录,这样还原时才不会出现找不到路径的问题
-u :更新,用较新的文件覆盖旧的文件
跨磁带备份及恢复文件举例
//mhvtl 默认的磁带大小是 500M,找一个超过500M的文件
root@lion-SNS:/home/lion/下载/pub# ls -lh ubuntu1210-smartvm.iso
-rw-rw-r-- lion lion 722M 6月 : ubuntu1210-smartvm.iso //写入磁带
root@lion-SNS:/home/lion/下载/pub# ls ubuntu1210-smartvm.iso | cpio -covB > /dev/st1
磁带已结束。要继续,在准备就绪时输入设备/文件名。
//驱动器1已经写满,提示输入驱动器2的设备号
/dev/st2
ubuntu1210-smartvm.iso
块 //读取文件,因为mhvtl写入st0完毕后,可能会把st0磁带弹出,需要重新装入,确保st0,st1都在线方可读取文件
root@lion-SNS:/home/lion/下载/pub/tmp# cpio -civuB< /dev/st0
磁带已结束。要继续,在准备就绪时输入设备/文件名。
/dev/st1
ubuntu1210-smartvm.iso
块
root@lion-SNS:/home/lion/下载/pub/tmp# ll
总用量
drwxr-xr-x root root 6月 : ./
drwxrwxr-x lion lion 6月 : ../
-rwxrwxrwx lion lion 6月 : ubuntu1210-smartvm.iso*
TroubleShooting:
编译出错:
root@lion-SNS:/home/lion/Downloads/mhvtl-1.4# make
make -C usr USR=vtl GROUP=vtl MHVTL_HOME_PATH=/opt/mhvtl MHVTL_CONFIG_PATH=/etc/mhvtl
make[]: 正在进入目录 `/home/lion/Downloads/mhvtl-1.4/usr'
cc -Wall -Wshadow -g -O2 -D_LARGEFILE64_SOURCE -I../kernel -DMHVTL_VERSION=\"1.4.7\" -D_GNU_SOURCE -DMHVTL_DEBUG -DUSR=\"vtl\" -DMHVTL_HOME_PATH=\"/opt/mhvtl\" -DMHVTL_CONFIG_PATH=\"/etc/mhvtl\" -c -o vtltape.o vtltape.c
vtltape.c::: 致命错误: lzo/lzoconf.h:没有那个文件或目录
编译中断。
make[]: *** [vtltape.o] 错误
make[]:正在离开目录 `/home/lion/Downloads/mhvtl-1.4/usr'
make: *** [usr] 错误 说明缺少lzo库,这个名字不好找
apt-get install liblzo2-dev 安装后,再继续 make
make install
启动失败(Media .. failed)是因为权限问题:
dmesg
chown -Rf /opt/mhvtl
误删除磁带设备符号 /dev/st0
rm -f /dev/st0
用mt -f /dev/st0 status察看已经说
/dev/st0: Inappropriate ioctl for device 用mt -f /dev/nst0察看提示:
SCSI tape drive:
File number=-, block number=-, partition=.
Tape block size bytes. Density code 0x0 (default).
Soft error count since last status=
General status bits on ():
EOD DR_OPEN IM_REP_EN 用dmesg看有这样的提示:
mtrr: type mismatch for fc000000, old: uncachable new: write-combining
mtrr: type mismatch for fc000000, old: uncachable new: write-combining
st0: Failed to read byte block with byte read.
end_request: I/O error, dev : (floppy), sector //解决办法
mknod /dev/st0 c
chmod /dev/st0
chgrp disk /dev/st0
Ubuntu 12.04下虚拟磁带库mhvtl的安装和使用的更多相关文章
- 【linux】UBUNTU 12.04下傻瓜式简单安装arm-linux-gcc等gnu arm toolchain交叉编译工具
欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http:// ...
- ubuntu 12.04下 ns3的下载 安装
这个的内容我主要是参考了 http://blog.sina.com.cn/s/blog_7ec2ab360102wwsk.html 这个链接的学习,基本上过程没有出现的问题. 就是这个链接少了测试的一 ...
- 在Ubuntu 12.04下采用apt-get的方法安装Qt4
在Ubuntu 12.04下采用apt-get的方法安装Qt4 注:之前发表的一篇博客是采用编译源码的方式安装Qt4,这是很有用的方式,因为源码安装对于所有系统都是通用的,其次,在使用交叉编译器的时候 ...
- Ubuntu 12.04下GAMIT10.40安装说明
转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/164.html?1456481297 Ubuntu 12.04下GAMIT10.40安装步 ...
- Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma
1.下载angularjs 进入其官网下载:https://angularjs.org/,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...
- Ubuntu 12.04 下安装 Eclipse
方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JD ...
- Ubuntu 12.04下安装QQ 2012 Beta3(转)
Ubuntu 12.04下安装QQ 2012 Beta3 由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...
- [转载] Ubuntu 12.04下安装git,SSH及出现的Permission denied解决办法
如何安装ssh http://os.51cto.com/art/201109/291634.htm 仅需要阅读至成功开启ssh服务即可 http://www.linuxidc.com/Linux/20 ...
- Ubuntu 12.04下安装QQ 2012 Beta3
Ubuntu 12.04下安装QQ 2012 Beta3 由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...
随机推荐
- 再谈移动端Web屏幕适配
一个多月前水了一篇移动web屏幕适配方案,当时噼里啪啦的写了一通,自我感觉甚是良好.不过最近又有一些新的想法,和之前的有一些不同. 先说一下淘宝的方案,感觉现在好多的适配方案都是受了它的影响,上周六看 ...
- 【原创】微信公众号与HTML 5混合模式揭秘3——JSSDK获取地理位置
微信公众号与HTML 5混合模式揭秘1——如何部署JSSDK 微信公众号与HTML 5混合模式揭秘2——分享手机相册中照片 JSSDK为开发者提供了两个位置API服务:获取地理位置和使用微信内置地图查 ...
- HashSet 读后感
HashSet实现Set,是一个不能重复元素的集合,内部使用HashMap实现.因此具有HashMap的特性,如不保证元素插入的顺序,线程不安全,允许null.HashSet的元素就是内部HashMa ...
- struts2值栈分析
前段日子对ognl表达式不是很理解,看了几本书上关于ognl表达式的描述后还是感觉很难,前几天学习了struts2中值栈的内容,现在感觉ognl表达式其实很容易. struts2中利用值栈来存储数据, ...
- Linux读写锁的使用
读写锁是用来解决读者写者问题的,读操作可以共享,写操作是排它的,读可以有多个在读,写只有唯一个在写,写的时候不允许读. 具有强读者同步和强写者同步两种形式: 强读者同步:当写者没有进行写操作时,读者就 ...
- iPhone的全球之旅 读书笔记
最近在看<一只iPhone的全球之旅>,文章主要从iPhone供应链角度入手,从各个方面来详细剖析了iPhone这一智能手机领头羊的生产过程. 苹果iPhone手机 ...
- 全排列算法(字典序法、SJT Algorithm 、Heap's Algorithm)
一.字典序法 1) 从序列P的右端开始向左扫描,直至找到第一个比其右边数字小的数字,即. 2) 从右边找出所有比大的数中最小的数字,即. 3) 交换与. 4) 将右边的序列翻转,即可得到字典序的下一个 ...
- tp中让头疼似懂非懂的create
项目中多次用到create() 只能它是表单验证,不过好出错,痛下心扉好好了解理解它的来龙去脉和所用的用法 一:通过create() 方法或者 赋值的方法生成数据对象,然后写入数据库 $model = ...
- jquery.tmpl.min.js--前端实现模版--数据绑定--详解
动态请求数据来更新页面是现在非常常用的方法,比如博客评论的分页动态加载,微博的滚动加载和定时请求加载等. 这些情况下,动态请求返回的数据一般不是已拼好的 HTML 就是 JSON 或 XML,总之不在 ...
- Activity的Launch mode详解 singleTask正解
Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance.以下逐一举例说明他们的区别: standard:Activity ...