mt

(0 comments)

磁带备份容量大、可靠性好、速度块并且易于携带和保存,因此它是目前应用最广泛的备份设备。目前最常用的磁带格式包括 DDS、LTO、DAT、DLT 和 SDLT 等等。

Rewind vs No-Rewind

磁带有两种读写方式 Rewind 与 No-Rewind,其中 /dev/st0 是 Rewind,/dev/nst0 是 No-Rewind。

Rewind 方式读写磁带时,每次读取或写入磁带时会将磁带自动回卷到磁带头,而 No-Rewind 方式读取时则是一直往下读,直到不能读为止。

每次写入文件结束时,会自动写入结束表记。在读取磁带时,也是在读取到结束标记时本次读写结束。因此如果一个磁带被多次写入文件,例如增量备份,那么使用 Rewind 方式就无法读取到增量备份的内容。

下面举个例子来说明 Rewind 和 No-Revwind 的区别:

磁带的前 32k 写入了一些文本信息,接下来的 32k 写入其他的文件信息。以 Rewind 方式访问,永远只能读取前 32K 信息:

# dd if=/dev/st0 bs=32k count=1		<== 第一次运行读取	
INFO: This message in in 0-32kB

# dd if=/dev/st0 bs=32k count=1		<== 第二次运行读取
INFO: This message in in 0-32kB

# mt -f /dev/st0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0		<== File number 永远为 0
Tape block size 512 bytes. Density code 0x26 (DDS-4 or QIC-4GB).
Soft error count since last status=0
General status bits on (81010000):
EOF ONLINE IM_REP_EN

以 No-Rewind 方式访问,第一次读取到文件结束,第二次读取下一个文件:

# dd if=/dev/nst0 bs=32k count=1		<== 第一次运行读取	
INFO: This message in in 0-32kB

# dd if=/dev/nst0 bs=32k count=1		<== 第二次运行读取
INFO: This message in in 32-64kB

# mt -f /dev/nst0 status		<== mt 程序也必须 No-Rewind 方式访问
SCSI 2 tape drive:
File number=1, block number=0, partition=0		<== File number 被改为 1
Tape block size 512 bytes. Density code 0x26 (DDS-4 or QIC-4GB).
Soft error count since last status=0
General status bits on (81010000):
EOF ONLINE IM_REP_EN

硬件压缩与软件压缩

目前的磁带机一般都支持硬件压缩,软件压缩就是在压缩时加上 -z 的参数。使用硬件压缩比软件压缩占用更少的 CPU 时间,在启用硬件压缩的磁带机上再启用软件压缩是没有意义的。

磁带驱动

对于磁带设备,主要安装 SCSI 设备的驱动并为设备加载驱动程序。例如有 RAID 卡和 SCSI 硬盘的系统,默认的配置为:

alias scsi_hostadapter1 aacraid
alias scsi_hostadapter2 megaraid2

安装的外置 SCSI 设备将使用未被使用 scsi_hostadapter 名称,例如外置 SCSI 卡安装了两台磁带机,相应的模块是 aic7xxx。

alias scsi_hostadapter aic7xxx
alias scsi_hostadapter3 aic7xxx

安装好后使用 mt 命令查看磁带机的状态。

mt -f /dev/st0 status
mt -f /dev/st1 status

磁带工具

mt

mt -f 指定磁带机设备文件名。

mt -f  /dev/st0 retension  # 拉紧磁带
mt -f  /dev/st0 rewind     # 倒带
mt -f  /dev/st0 status     # 列出磁带机状态
mt -f  /dev/st0 erase      # 擦掉磁带数据

tar

磁带的读写格式和读写普通文件基本没有什么区别,下面有一些磁带备份和恢复的常用命令(如果磁带读写时没有使用软件压缩,在命令参数中移去 z ):

tar ztvf /dev/st0                   # 显示磁带中的文件和目录结构
tar zcvf /dev/st0 /etc              # 首次写入磁带
tar zrvf /dev/st0 /etc              # 增量写入磁带
tar zxvf /dev/st0 etc               # 将文件恢复到当前目录下,注意不要加绝对路径,否则会直接覆盖原文件
tar -delete "filename" -vf /dev/st0  # 磁带中删除文件
Current rating: 2

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required