Linux、UNIX下磁带机的管理和使用 (作者:张亚宁)

一、磁带机简单介绍

目前市场上有很多自称是“完美的系统备份选择”的设备,包括磁带机,便携式磁盘驱动器,甚至还有一些神秘的Internet备份系统。对于备份操作来说,还是磁带机提供了最可信的存储方式。为什么是磁带机呢?当然,Iomega公司的Jaz或Zip驱动器看上去是令人感兴趣的备份工具,但是它们易于在硬盘驱动器崩溃的情况下因为文件系统的原因而导致问题出现。对于Internet备份来说,当你因为系统崩溃而不能访问互联网时,就不能恢复系统的数据。同样,你能真正信任你的数据存放在别人的远程系统么?因此,我们选择了磁带机,但是如何访问磁带机呢?正如Linux、UNIX系统的设备一样,在Linux、UNIX系统中,在用户状态的角度来看,任何设备都可以被看做是文件。因此,可以“打开”合适的磁带驱动器文件来进行写入操作,将要备份的数据写入到文件中去。虽然这听上去过于简单了,但是实际情况就是这样。Linux、UNIX环境下根文件系统的/dev目录包含了所有和物理设备关联的文件。当对这些文件进行操作,实际上是在操作下层的物理设备。

二、磁带机设备的关联

下面的表_1举例说明了在Linux环境下设备文件是如何和物理设备关联起来的。

设备(Device)        回卷(Rewinding)        不回卷(No-Rewind)
1st SCSI   tape drive        /dev/st0        /dev/nst0
2nd SCSI   tape drive        /dev/st1        /dev/nst1
nth SCSI   tape drive        /dev/st[n-1]        /dev/nst[n-1]
1st ATAPI  tape drive        /dev/ht0        /dev/nht0
2nd ATAPI  tape drive        /dev/ht1        /dev/nht1
nth ATAPI  tape drive        /dev/ht[n-1]        /dev/nht[n-1]
1st floppy tape drive        /dev/ft0        /dev/nft0
                                                             表_1

这正如在上表中看的那样,设备名是基于位于针对这种设备类型的分层结构的设备的逻辑数字,而不是其物理ID(SCSI)或者IDE通道(ATAPI)。因此,即使某个SCSI磁带机被分配为SCSI设备的ID4,如果它是SCSI链的第一个磁带设备,则它将是 /dev/st0, 而不是/dev/st4,这种命名惯例有利于跟踪系统中的磁带设备,甚至在拥有多个驱动类型的磁带设备。同样,在2.0.X内核下,只支持单个ATAPI设备,2.2版本的内核可以使用多个ATAPI驱动(例如ht0, ht1,...等)。

现在我们来看看这些文件是如何被命名的,回卷和不回卷的区别在哪里呢?简单的说,回卷设备允许在结束操作以后,自动将磁带回卷到开始处,而不回卷设备在操作结束以后,将磁带机停留在当时的位置而不进行回卷操作。对于大多数简单备份操作,回卷设备更适合一些,因为在备份操作结束以后其自动回卷以准备取出磁带。而对于那些复杂的备份操作(如附加备份,逻辑搜索及那些高端备份工具的操作),不回卷设备更适合一些。

   在UNIX环境下,磁带机设备文件和物理设备关联的情况就比较复杂了,要和磁带机的类型以及UNIX系统的类型而变,下表只举例说明常用的SUN Solaris操作系统下磁带机设备文件和物理设备关联的情况。

磁带机        大小        类型        格式        磁道        设备关联缩写
Xylogics 472 Fujitsu        1/2inch        卷绕式        1600bpi        9        /dev/rmt/0m
M2444        1/2inch        卷绕式        800bpi        9        /dev/rmt/0h
SCSI/前插入式 HP        1/2inch        卷绕式        1600bpi        9        /dev/rmt/0m
SCSI Sysgen        1/4inch        盒式        QIC-11        4        /dev/rmt/0l
Emulex        1/4inch        盒式        QIC-11        4        /dev/rmt/0l
Archive        1/4inch        盒式        QIC-150        18        /dev/rmt/0h
Wangtek        1/4inch        盒式        QIC-150        18        /dev/rmt/0h
Desktop        1/4inch        盒式        QIC-150        18        /dev/rmt/oh
                                                                       表_2

三、磁带机的命令

下面介绍一下磁带机的读写命令和操作管理命令,最常用的磁带机读写命令是tar, 它可以对磁带进行列目录、读和写目录文件,下面是对磁带机读写命令的介绍:

列磁带目录:      tar tvf  磁带机设备文件名
首次写入磁带:    tar cvf  磁带机设备文件名  欲记录的文件或目录名
增量写入磁带:    tar rvf  磁带机设备文件名  欲记录的文件或目录名
读磁带:          tar xvf  磁带机设备文件名  欲读出的文件或目录名
            
注:上面的磁带机设备文件名即指磁带机设备在Linux、UNIX系统中的关联缩写。磁带机的其他操作命令和更详细的使用说明可参考tar的man page。

磁带机读写命令举例:

$ tar tvf /dev/rmt/0h    /* 列磁带目录  */
$ tar cvf /dev/rmt/0h  /usr2/ora_bak/full01.dmp.gz /* 首次写入磁带 */
$ tar rvf /dev/rmt/0h  /usr2/ora_bak/full02.dmp.gz /* 增量写入磁带 */$ tar xvf /dev/rmt/0h  /usr2/ora_bak/full02.dmp.gz /* 读磁带 */


最常用的磁带机操作管理命令是mt, mt命令是操作磁带机的一个很常用的命令, 利用它可以十分方便得管理磁带机设备,下面是对磁带机操作管理命令的介绍:

拉紧磁带:        mt  -f   磁带机设备文件名 retension
倒带:            mt  -f   磁带机设备文件名  rewind
列出磁带机状态:  mt  -f   磁带机设备文件名  status
擦掉数据:       mt  -f   磁带机设备文件名  erase

注:关于mt命令更详细的使用说明可参考mt的man page。

磁带机操作管理命令举例:

$ mt  -f  /dev/rmt/0h retension  /*  拉紧磁带 */
$ mt  -f  /dev/rmt/0h rewind     /*  倒带  */
$ mt –f  /dev/rmt/0h status     /*  列出磁带机状态 */
$ mt  -f  /dev/rmt/0h erase      /*  擦掉磁带数据  */

这样,在Linux、UNIX系统下对磁带机进行管理和使用的方法就给大家介绍完了,磁带机设备是网络和系统管理员要经常用到的东西,关于这方面的资料也比较少,所以针对这个现象,撰写此搞供大家阅读。

请使用浏览器的分享功能分享到微信等