由于UNIX操作系统的诸多优点,目前主流服务器多数仍然采用UNIX作为提供服务的系统平台,其中Solaris占了其中的很大比例。本文介绍一下基于solaris的Unix 系统下磁带机配置使用方法。
一、存储磁带简介 磁带存储是相当广泛的范畴,包括DDS、LTO、DAT、DLT和SDLT等等。数十年来各种磁带成了传统的备份媒介。表1 是磁带技术列表:
注:DDS-3 和DDS-4 使用的技术与较早版本不同。最新的磁带驱动器才支持最大的磁带,但大多数驱动器提供只读的向后兼容性。
二、磁带设备的命名规则 通过提供逻辑设备名称,可以指定用于备份的磁带。磁带机命名约定使用逻辑设备名称而不是物理设备名称。下表显示了此命名约定。可以按照图-1所示指定磁带设备。
图 1 磁带机设备名称
大多数 SCSI 磁带机可以自动检测磁带的密度或格式,并相应地进行读取。要确定磁带机支持的不同密度,请查看 /dev/rmt 子目录。该子目录中包含支持每种磁带的不同输出密度的磁带设备文件集。一个 SCSI 控制器最多可有七个 SCSI 磁带机。
通常,可以按照逻辑单元号(范围从 0 到 n)指定磁带机。缺省情况下,磁带机按照“首选”密度写入,该密度通常为磁带机支持的最高密度。如果不指定磁带设备,则命令会按照设备支持的缺省密度写入磁带机编号 0。要将磁带传输到其磁带机仅支持特定密度的系统,请指定按照所需密度写入的设备名称。表2介绍了如何指定磁带机的反绕选项和不同密度。
表2 磁带机的不同密度和反绕选项
三、磁带管理命令 从用户的角度来看,unix的任何设备都可以看做是文件。因此,可以“打开”合适的磁带驱动器文件来进行写入操作,将要备份的数据写入到文件中去。虽然这听上去过于简单了,但是实际情况就是这样。Unix系统把每一个设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。 从用户的角度来看,对设备的使用和一般文件的使用一样。所以管理磁带的最有效的方法是使用相关命令。
1. ml命令
mt命令用来控制磁带机。可以使用 mt 命令的 status 选项来获取有关磁带机的状态信息。mt 命令可报告配置文件 /kernel/drv/st.conf 中介绍的所有磁带机的信息。
mt命令格式:mt [ -f device ] command [ count ] ,
显示磁带状态
#
mt -f dev/rmt/0m status 然后可以替换磁带机编号 0、1、2、3 等,以显示有关所有可用磁带机的信息。
应用实例:
显示 QIC-150 磁带机 (/dev/rmt/0) 的状态:
$ mt -f /dev/rmt/0 status
Archive QIC-150 tape drive:
sense key(0x0)= No Additional Sense residual= 0 retries= 0
file no= 0 block no= 0
重新拉张磁带
如果读取磁带时出现错误,则可以重新张紧磁带、清洁磁带机,然后重试。请勿重新张紧非 QIC 磁带机。
$ mt -f /dev/rmt/3 retension
要反绕盒式磁带,请使用 mt 命令。
$ mt -f /dev/rmt/1 rewind
2.tar命令
tar命令是用来建立,还原备份文件的工具程序,Solaris 系统对tar 进行了增强,使之更胜任系统级别的备份。它允许所有或部分要备份的文件和目录列表保存在一个或多个文本文件中。UNIX环境下根文件系统的/dev目录包含了所有和物理设备关联的文件。当对这些文件进行操作时,实际上是在操作下层的物理设备。如果DAT或DLT的磁带机已经连接好并加电,一般下情况下能够自动检测到磁带机并在自检时会提示是否要配置发现的磁带机,选择配置即可。如果用户在起系统时没有发现磁带机,可能是磁带机的驱动已经安装到系统中了。
tar命令格式:
tar {c|r|t|u|x}[BDeEFhilmnopPqvw@[0-7]][bfk][X...][块大小] [磁带存档文件] [大小] [排除文件...] {文件 | -I 包含文件 | -C 目录文件}...下面介绍常用选项:
将文件复制到磁带
1. 进入包含要复制的文件的目录。
2. 将可写磁带插入磁带机中。
3. 将文件复制到磁带。命令如下:
$ tar cvf /dev/rmt/n filenames
参数说明:c 指明要创建归档文件;v 归档时显示每个文件的名称;
f /dev/rmt/n 指明应该将归档文件写入指定设备或文件。
filenames 指明要复制的文件和目录。使用空格分隔多个文件。
系统会将指定的文件名复制到磁带,并且会覆写该磁带上的任何现有文件。然后从磁带机中取出磁带。在磁带标签中写入文件名称。
应用实例:把/export/home/目录下两个文件文件复制到磁带
$ cd /export/home/
$ ls reports
reportA reportB
$ tar cvf /dev/rmt/0 reports
a reports/ 0 tape blocks
a reports/reportA 59 tape blocks
a reports/reportB 61 tape blocks
$ tar tvf /dev/rmt/0
从磁带中恢复文件
转到要放置文件的目录。
将磁带插入磁带机。
从磁带中恢复文件。 使用命令:
$ tar xvf /dev/rmt/n [filenames]
参数说明:x 指明应从指定的归档文件中提取文件。指定磁带机中的磁带上的所有文件都会被复制到当前目录。v 恢复时显示每个文件的名称。f /dev/rmt/n 指明包含归档文件的磁带设备。filenames 指定要恢复的文件。使用空格分隔多个文件。
3.cpio命令
Cpio命令用于复制需要多个磁带卷的文件、特殊文件或文件系统。或者,当要将文件从运行当前的 Solaris 发行版的系统复制到运行 SunOS 4.0/4.1 发行版的系统时使用。Cpio的命令参数太多,这里只介相关参数。
将目录中的所有文件复制到磁带。步骤如下:
1. 转到包含要复制的文件的目录。
2. 将可写磁带插入磁带机中。
3. 将文件复制到磁带。使用命令:
$ ls | cpio -oc > /dev/rmt/n
参数说明:ls 为 cpio 命令提供文件名列表;cpio -oc 指定 cpio 命令应该在复制出模式 (-o) 下操作,并以 ASCII 字符格式 (-c) 写入头信息。这些选项确保可移植到其他供应商的系统。> /dev/rmt/n :指定输出文件。
系统会将目录中的所有文件复制到指定磁带机中的磁带,同时会覆写该磁带中的任何现有文件。屏幕将显示复制的总块数。
应用实例:
将/export/home/目录中的所有文件复制到磁带 :
$ cd /export/home/kryten
$ ls | cpio -oc > /dev/rmt/0
16 blocks
$ cpio -civt
图2 是tar和 cpio 命令的对比和优缺点
四、磁带机和存储介质的维护
磁带机和磁带是服务器备份的好工具,但是磁带也有些不利因素:
● 磁带对热和电磁场非常敏感,如果处理不当很容易出错。电磁场由计算机周围的各种常用设备产生,包括UPS 电源、包含电源的外围设备、显示器和扬声器等。 此外,仅仅是读取磁带也会影响数据。
● 磁带是连续存储设备。为了访问磁带上某个指定的文件,必须使磁带卷动到正确的某个点。这对于较老的磁带驱动器常常会出问题。当前的高端驱动器能够在数秒内访问到任意一点。
针对以上缺陷应当采取以下措施:
1. 请定期清洁和检查磁带机,以确保其正确操作。请将磁带存储在远离磁性设备的无尘安全位置。
2. 应该创建一个日志并对其进行维护,该日志用于跟踪存储每个作业(备份)的介质(磁带卷)和每个备份文件的位置。
3. 注意物理安全。在保存备份磁带的位置,应该考虑一般性的物理安全:必须保护磁带免遭偷窃、蓄意破坏以及可能的环境破坏。
4. 正确保存磁带介。一些媒介有特殊的要求,必须加以考虑。比如盒式磁带的磁带卷轴要垂直放置(垂直于地面,就像汽车的轮胎一样),并且与驱动器接触的边朝下(从而重力把磁带拖离磁带轴)。
5. 在备份后对磁带进行标记。应该在标签上标明“磁带 A”、“磁带 B”,依此类推。此标签绝不能更改。每次执行备份时,请创建另一个包含磁带标签,包括以下内容:
备份日期
备份的计算机和文件系统的名称
备份级别
磁带编号(1 至 n 中的任意一个数字,前提是备份跨多个卷)
特定于站点的任何信息
总结:
磁带主要用来离线存储数据,通常用于备份。 虽然使用的操作系统是Solaris,但是其思维也可以应用于其他Unix、BSD、Linux等操作系统。