什么是磁带机?
        磁带机(Tape Drive)一般指单驱动器产品,通常由磁带驱动器和磁带构成。
为什么要用磁带?
        磁带是一种经济、可靠、容量大、速度快的备份设备。这种产品采用高纠错能力编码技术和写后即读通道技术,可以大大提高数据备份的可靠性。
磁带机的分类?
        根据装带方式的不同,一般分为手动装带磁带机和自动装带磁带机,即自动加载磁带机。
300px-Dds_tape_drive_01
今天我们的实验设备就是:一台Sun Fire V240服务器,一台SUN的磁带机,一盒HP的磁带,存储容量为40G。
Snap2
        从上图中能够发现,今天的服务器主频为160MHz,内存为两个G。练习Oracle的时候感觉很慢,但是今天我们来练习磁带机就绰绰有余了。
 
Snap4
        服务器的存储方面:4块SUN SCSI 72G硬盘,其中第0块盘作为Solaris所在的硬盘。
        不扯了,再扯就成了‘咸蛋超人’~
 
有的朋友会问:磁带机的接口不是USB,我们无法实现即插即用,那怎么安装设备呢?
        当然,磁带机的安装并不是跟Windows下安装USB鼠标一样简单,但也不是很难的~
1、关闭服务器。
2、安装磁带机。
3、设备加电。
4、按下Stop+A进入ok模式。
5、boot –r 。这条命令会重启机器,并且扫描新设备。
        安装之后,我们如何确认Solaris正确识别磁带机呢?
可以用这条命令来检查一下I/O设备:iostat  -en
当然还有一条显示详细信息的命令: iostat –En
我们可以看到图中显示的 rmt/0 ,这就是磁带机的设备编号,/dev/rmt/0
这时候,插入磁带。并且键入命令:mt –f /dev/rmt/0 status 查看磁带状态。
如下图所示:
        HP DDS-4 DAT (SUN) Type Drive
可发现惠普的4mm磁带,还有SUN磁带机。
        sense key (0x0) = no sense
表示系统可以正常访问磁带。
        sense key (0x0) = unit attention
表示这个设备可能被重置,或是刚加电的状态.
Snap6
 
        以下命令是对磁带机的基本操作。
删除磁带内容:mt –f /dev/rmt/0 erase
磁带反绕:mt –f /dev/rmt/0 rewind
查看状态:mt –f /dev/rmt/0 status
        sense key (0x0) = no sense
磁带弹出:mt –f /dev/rmt/0 offline
查看状态:mt –f /dev/rmt/0 status
        no tape loaded or drive offline(没有载入磁带或者设备离线)
插入磁带后马上查看状态:mt –f /dev/rmt/0 status
        sense key (0x6) = unit attention
Snap7
        哦了,磁带机的基本命令就这些。接下来,我们一起学习磁带读写的命令。
 
首先是cpio。其实我们可以把这个命令记为:copy I/O ,输入输出的复制。
实验步骤:
首先创建目录/type。
生成一个大小为100m的文件。
开始复制:ls | cpio –ocB > /dev/rmt/0
        204810块
删除/type中所有文件。
开始恢复文件:cpio –icBd < /dev/rmt/0
        204810块
文件恢复成功。
命令精解:
o ---- copy out,读取标准输入,获得文件列表,拷贝这些文件到标准输出。
i ---- copy in,从标准输入扩展文件 。
c ----标识了头信息已经以ASCII方式被写入 。
d ----创建所需的目录。
B ----这是必须使用的,标识着输入是以块的方式被记录 。
Snap10
        哦了,cpio的命令先告一段落,下面是ufsdump、ufsrestore命令。
 
ufsdump命令是文件和目录的转储,这条命令只能将文件写入磁带。
实验步骤:
删除磁带内数据:mt –f /dev/rmt/0 erase
确认/type中存在大小为100m的1.iso文件。
开始转储:ufsdump 0uf /dev/rmt/0 /type
        DUMP:本级0 日期转储:2009年5月10日 ……
        DUMP:传送……
        DUMP:转储已完成
大家可以发现,ufsdump命令会显示详细的转储状态。并且自动反绕磁带。
命令精解:
0 ----表示dump的级别。级别0拷贝全部的文件系统到磁带中,有效的级别为0---9, 1---9执行的是增量备份,只会拷贝在当前时间后改变的文件。
u ----表示如果成功的话,则对文件:/etc/dumpdates中的dump记录使用时间戳做一次更新
f ----指定dump文件(逻辑设备名或磁带设备)。f参数后,必须要跟随一个文件名,在本例中是:/dev/rmt/0
Snap13
删除/type目录中所有文件。
开始恢复文件:ufsrestore –i /dev/rmt/0
进入ufsrestore的交互模式,可用的命令为:
Snap14 
Snap18
进入根目录
检查磁带中所有文件
.:
  type/
添加目录type/
进入type/目录中
检查磁带中文件
./type:
*1.iso
添加文件1.iso
执行extract。
指定卷1 并设置属主/模式
退出ufsrestore模式
检查/type目录中有没有100m的1.iso文件
Snap19
再次删除/type中的文件。
开始恢复文件:ufsrestore –r /dev/rmt/0
进入ufsrestore的递归模式
Snap20
如上图所示,文件恢复成功
 
Snap21
上图为 ufsrestore的其他参数。
命令精解: 这个命令从一个磁带拷贝文件系统到一个硬盘。它只能拷贝由ufsdump创建的文件。
它必须使用以下的三个参数中的一个:
i ----(交互)从介质中读取目录信息后,ufsrestore调用一个交互式接口允许你浏览dump文件的层次结构,并选择文件进行扩展
r ----(递归)将介质中的全部内容恢复到当前目录(它将是文件系统中的顶级),为了完整的恢复一个文件系统,要使用这个参数来恢复级别为0的dump,并再次恢复每个增量dump。
t ----(内容列表)提供磁带中的所有文件列表
以下的参数为不是必须的:
f ----(dump文件)指定从哪里恢复dump文件。如果dump文件没有被指定,那么,ufsrestore将使用 /dev/rmt/0
v ----(详细模式)显示从磁带中读取的路径名
OK,ufsdump和ufsrestore就学习到这里。下面是tar命令。
有的朋友会问: .tar文件不是一种压缩文件格式么?怎么还能操作磁带?
其实tar是一个打包工具,可以将多个文件合并为一个文件,打包后的文件名亦为“tar”。目前,tar文件格式已经成为POSIX标准,最初是POSIX.1-1988,目前是POSIX.1-2001。tar最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar。
Snap22
新建目录/type
创建大小为100m的1.iso文件
删除磁带内数据
开始将数据写入磁带:tar cvf /dev/rmt/0 /type
        a   /type   0磁带块
        a   /type/1.iso   204800磁带块
删除/type中所有文件
开始恢复文件: tar xvf /dev/rmt/0
        x   /type,   0 bytes,   0磁带块
        x   /type/1.iso,   104857600 bytes,   204800磁带块
文件恢复成功
Snap23
新建目录/xDuan
在/xDuan目录中创建大小为50m的2.iso文件
开始将数据写入磁带:tar rvf /dev/rmt/0 /xDuan
查看磁带中的数据:tar tvf /dev/rmt/0
删除/xDuan目录中所有文件
开始恢复文件:tar xvf /dev/rmt/0
 
Snap25
文件恢复成功
删除磁带中的数据
查看磁带中的数据
        tar : 磁带读取错误
命令精解:
tar cvf /dev/rmt/0    /filename  从硬盘拷贝数据到磁带
tar tvf /dev/rmt/0    查看目录
tar rvf /dev/rmt/0    /filename 追加目录
tar xvf /dev/rmt/0   从磁带机拷贝数据到硬盘
好了,磁带机的基本操作以及磁带相关的命令我们都熟悉了一下,剩下的就是熟练的程度了。
可能大家身边没有磁带机,没有操作的机会。没关系,小段现在研究某个模拟磁带机的软件,等成熟的时候一定通知大家。
明天要跟女朋友去789,哦哦不是,是798。你说咱整个就是一大老粗,非要叫我去欣赏艺术……