以下信息用于在 Linux 系统中设置磁带备份。 强烈建议阅读以下信息。
提示:
以下信息,用于成功设置 Linux 服务器以便使用 HP Surestore 磁带机,进行磁带备份的有用信息。 LSI Logic 目前包含了 Symbios。
如何确定,要使用的磁盘驱动器和用于运行磁带备份的驱动程序
无需担心当前所使用的磁盘驱动器类型 - 如果具备合适的 SCSI 传输驱动程序,便可在磁带机上使用。 如果使用一般内核(例如,硬件设备支持并尚未从 RedHat 5.2 安装的内核中除去),则包括所有的常见 SCSI HBA 的支持。 请查看 http://www.linux.org 以了解某个硬件的支持;当前所有 Symbios 53cXXX 衍生产品随附的常见 Adaptec 78xx 和 77xx 芯片组均受支持。
如果内核不包括相关的 SCSI 驱动程序,则通过下载内核源并进行编辑使其成为新内核。 有关编辑新内核,请查阅相关发行文档。 如果已安装内核源,则通常这些驱动程序位于 /usr/src/linux。
提示:
此链接可以为实际发行目录的符号链接,例如:Linux-2.0.34。
为获得 SCSI 磁带支持,需要编辑 SCSI 支持和 SCSI 磁带支持。
如何配置磁带机
为在操作系统中配置磁带,需要传输驱动程序(请参阅问题 1)以及配置得当的磁带设备(假定这些设备的电缆已正确连接,且无 SCSI 标识冲突,则该配置将自动完成)。
要检查操作系统是否识别当前的磁带机,请使用 dmesg 检验引导时间输出,
% dmesg | more
并查找类似于以下内容的消息:
st0:
该命令将识别 SCSI 磁带目标。 磁带将在被操作系统找到的时候从 0 开始进行有序编号。
每个磁带目标包括两个设备:
/dev/stX: 重绕 SCSI 磁带设备 X
/dev/nstX: 非重绕 SCSI 磁带设备 X
非重绕磁带设备将用于在一个磁带上创建多个归档文件(通常在对磁带设备运行备份命令之后),磁带驱动程序将把介质重绕至磁带的起 始部分。 非重绕设备将把介质保留在先前备份期间结束之后的写入文件标记后的位置。 此功能允许在相同介质上进行多个备份。
如何判断是否正确设置了磁带机和驱动程序?
安装在系统中的磁带驱动程序不响应应用程序软件所发命令的几个原因在于:
- 线缆: 过长、设备过多、无总线终端、无防护的内部电缆外用、连接器安装不理想、磁带机与另一个设备具有相同的 SCSI 标识等。
- 未装入 HBA 驱动程序,或者装入了错误的驱动程序。
- 未必是磁带机和 HBA 故障,因此应首先检查所有其它设备。
确定线路未发生故障的最简便的方法为找到磁带机的 SCSI 查询字符串,该字符串应在系统引导时由 SCSI HBA BIOS(安装了磁带驱动程序的 HBA 的 SCSI HBA BIOS)显示。
如果在引导时查看到磁带机的 SCSI 查询字符串,则问题未必为上述前三个原因之一。 然而,导致此问题的原因将不排除边缘线路引发的任何 SCSI 错误,这些错误通常发生在高速同步数据传输过程中(执行备份/恢复期间)。
某些系统在引导时不显示 SCSI 查询字符串。 然而,所有带有 BIOS 的 Adaptec 和 Symbios SCSI 控制器均执行此操作。
要诊断是否已正确配置磁带机,请仔细查看系统引导。 HBA 设置始终是正确的,因此,如果(例如)Symbios HBA 报告磁带机位于通道 1,则必须也将磁带配置为位于总线 1。
要尝试对磁带机进行访问,请尝试以下命令来检查是否已正确配置磁带机: % mt �Ct /dev/nst0 rewind
磁带机上的 LED 应随之闪烁。 如果无法与磁带机进行通信,则将显示诸如“no such device or address.”的错误消息。 首先,请检查介质是否已装入,且磁带机是否已就绪(例如,仍未处于“coming ready”过程)。 如果 mt 命令不能使介质重绕,则请检查线缆以及内核的 SCSI 是否可用。
更换系统中的驱动程序时,是否具有需要特别注意的地方?
通常,无需将驱动程序加入系统。 如果添加了新硬件,除非正在运行非一般内核(例如,构建了自己的内核将设备支持削减至最小程度),否则该硬件运行正常。 在本实例中,请下载适用于安装版本的内核源代码(或安装包含该代码的软件包)。 请按照 /usr/src/linux 中的说明进行配置,然后重新引导包括了新驱动程序的操作系统。
无需进行其它配置。 如果不存在 SCSI 磁带机文件(/dev/[n]st*),则请重新运行“/dev/MAKEDEV all”。
在使用 ISV 备份软件或 Linux 内置备份小应用程序时设备无法正常运行。
默认情况下,Linux 不具有任何可驱动自动变换器设备(例如,C1553A/C1557A DAT 变换器)的软件。 要完成此工作,请购买相应的备份解决方法,或者在具有上述两个设备的情况下,使用第三方变换器实用程序,例如: http://sourceforge.net/projects/mtx 的 mtx。 惠普将在未来时期提供变换器实用程序,但目前在 Surestore CD 中所提供的 HP mtx 实用程序(的确,前面提到的第三方实用程序也称为 mtx)对于 Linux 是不可移植的。
有关使用方法,请参阅第三方 mtx 实用程序随附的文档 ― 该实用程序与 HP mtx 实用程序十分相似。 例如:
第三方:
- mtx �Cd /dev/st0 �Cload 1
HP:
如果在 Linux 中无法找到标准的磁带机,则启动排除驱动程序配置的故障 ― 必须在内核中构建 SCSI 和 SCSI 磁带支持。 如果在引导时未看到类似于以下内容的消息:
st0:
则表示未找到 SCSI 磁带机。 使用 dmesg 命令重新查看引导消息,例如:
要重新配置内核,请参阅 /usr/src/linux 中的说明并按照必需的步骤进行操作。
将 <architecture>/zImage 复制到正常内核文件位置,重新运行 /sbin/lilo 以允许其引导和重新引导带有新内核的系统。
哪些 HP Surestore DAT 和 DLT 磁带机由 ISV 和 IHV 认证并在 Linux 上使用?
通常情况下,http://www.linux.org 向所有支持 Linix 的商业供应商提供文件资料;有一些 ISV 具有可用产品。 ISV 将使用给定的 C 库集(例如,旧 libc vs.、新 glibc 和 a.out vs. ELF 格式等)来支持给定的内核修订版级别(例如,2.0.34)。 在 ISV 网站上分发了某些不受支持版本的产品。
IHV 同样将在其网站上提供它们的支持文件资料(网址为 http://www.linux.org)。提供硬件支持方法很多,通常情况下,这里只使用其中的一种方法:
- IHV 向开发者社区发布了技术规范来将其启用以用于写入驱动程序。
- IHV 编写驱动程序代码并将其发布给 Linux 社区。
- 在存在非特定硬件的情况下(例如,SCSI 磁带),IHV 将成为标准驱动程序。
我们在测试中发现标准磁带驱动程序(st)与 HP DAT 和 DLT 范围兼容。
在使用磁带机时 SCSI 出错
产生 SCSI 错误的原因有很多:
- 线缆: 过长、设备过多、无总线终端、无防护的内部电缆外用、连接器安装不理想、磁带机与另一个设备具有相同的 SCSI 标识等。
上述所有原因中,目前导致 SCSI 错误的大多数原因在于线缆和驱动程序。
如果用户遇到 SCSI 错误,则应该首先检查线缆问题,然后再考虑 SCSI 传输驱动程序问题。
驱动程序的编写人员正在改进 Linux 驱动程序;然而,在改进的过程中我们认为给定发行版所随附的驱动程序(例如,RedHat 5.2)正在趋于稳定。 也可使用 Linux 的“测试”版(奇数内核源 ― 例如,2.1.x 比产品发行版(例如:2.0.x)的稳定性差)。 要安装新版本的 SCSI 驱动程序,应下载内核源树并安装 C 开发工具。 欲了解有关详情,请参阅 http://www.linux.org。 请注意,编辑新内核的操作十分复杂,且需要对选择的选项进行深入了解 - 请参阅 /usr/src/linux(此为到安装的内核源树的符号链接)中的文档。
但是在更换系统中的驱动程序之前应先查阅有关“在更改系统中的驱动程序时需要特别注意哪些地方?”的答案。
如何使用 Linux 中提供的内置“磁带备份”小应用程序
通常,应使用的两个应用程序为 tar 和 cpio。 tar 代表“磁带归档”,而 cpio 代表“CoPy 输入/输出”。
要备份 /home 中的目录树,请使用以下命令:
tar:
- tar cvbf 20 /dev/st0 ./home
“c”表示“创建”
“v”表示“冗余”(需要静默除去)
“b”表示“缓冲输出”
“f”指定磁带归档(在此情况下,应为外设磁带)
/dev/st0 在“f”变量的后面以指定磁带,而 20 在“b”选项的后面表示以 20*512 字节块进行数据传输。 ./home 指定所要备份的内容。
cpio:
- find ./home �Cprint | cpio �CocB > /dev/st0
cpio 要将一系列文件备份到其标准输入流中,该命令按照以下顺序进行读取:
在当前的工作目录中找到目录 home 中的所有文件并将其打印出来。 然后将该输出馈送给命令以复制带有移植性符号标题(“c”)的输出 OUT(-o)并将数据以 5KB 字符块进行传输(“B”)。 将所有这些输出发送至第一个重绕磁带设备(> /dev/st0)。
这两步操作将在系统中把 /home 中的内容备份到第一个磁带设备中,然后在该作业完成后重绕该磁带设备。 要使用名为 /dev/nst0(非重绕 SCSI 磁带 0)的设备在一个介质上执行多个备份。
请注意,应在该路径中始终使用“/”。 许多 UNIX (R) 供应商内置版本的 tar 和 cpio 均保留绝对路径,这意味着在恢复时,将改写已备份文件的原始副本。 使用相对路径(“.”表示相对于当前的工作目录)可避免发生此情况,且能够在文件系统的其它路径完成恢复。 要恢复归档文件,请使用以下命令:
tar:
- cd <someplace to restore>
请注意,“x”应该被删除,除此之外,上述命令无其它更改。
cpio:
- cd <someplace to restore>
请再次注意,此命令和备份命令的相似之处 - “i”说明正在使用磁带设备(< /dev/st0)的信息进行传输。
要将数据读回,但并非实际将其恢复(例如,测试其是否可读取),请使用以下命令:
在两种情况中“t”表示“目录”。
如何检查或开启/关闭压缩
要检查当前压缩的状态:
mt -f /dev/st0 datcompression
使用以下的命令开启压缩:
mt -f /dev/st0 datcompression [2..9]
提示:
在数据压缩后,必须输入一个大于 1 的数字,该数字指定压缩的数量。
使用以下的命令关闭压缩:
mt -f /dev/st0 datcompression off