SCSI—小型计算机系统接口
SCSI(小型计算机系统接口)总线是一种常见于工作站级机器的系统,但也适用于其他系统,例如个人计算机(PC)。SCSI 的优势在于,一旦控制器设置完毕,您只需添加新的设备(通常最多七个),而无需进行太多繁琐的操作。新设备只需插入现有的“菊花链”总线即可。用户必须确保链中的最后一个设备已正确端接。我们将在后面的章节中讨论端接。
撰写关于 SCSI 的文章的想法源于我正在进行的一个项目,该项目旨在为当地材料科学公司 Fibics, Inc. (http://www.fibics.com/) 提供基于 Linux 的 Web 和网络服务器。网络服务器将包含用于执行文件系统备份的硬件。我不是 SCSI 专家,不得不通过艰苦的方式学习,所以我认为应该分享一些基础知识,希望其他人可以从我的经验中受益。
您将需要一台计算机(显然)、一块与您的计算机总线类型匹配的 SCSI 控制器卡以及一个或多个 SCSI 设备(磁盘驱动器、磁带驱动器等)。请注意,不同的 SCSI 设备可能需要不同的 SCSI 总线类型(SCSI-1、SCSI-2、超宽带等),这可能会影响您对控制器卡的选择。有关不同 SCSI 总线的更多信息,我推荐 Ancot Corporation 的小册子 SCSI 基础知识 (http://www.ancot.com/)。
在购买硬件之前,您应该查看相关的 HOWTO 文档(SCSI、硬件)以及您的 Linux 发行版的硬件兼容性列表。我阅读的 HOWTO 文档来自 Red Hat 发行版,安装在 /usr/doc 中:/usr/doc/HOWTO/SCSI-Programming-HOWTO 和 /usr/doc/HOWTO/unmaintained/SCSI-HOWTO。HOWTO 文档提供了一些有用的信息,尽管它们有些过时。
如果您的 PC 没有 SCSI 设备或控制器,您应该首先确定您需要什么设备。对于我的项目,需要一个高容量 4mm DAT 驱动器。对可用驱动器的评估表明,Seagate Scorpion (12/24GB) 将满足要求。一旦选择了设备,您就可以根据设备所需的 SCSI 总线类型缩小控制器卡的选择范围。
以下步骤用于确定我需要的控制器卡
目标机器是一台基于 AMD K6-2 的 PC,带有 PCI 和 ISA 总线。
需要一个 4mm DAT 驱动器用于备份目的。
所选驱动器需要 SCSI-2 总线。
Adaptec 2910 控制器支持 SCSI-2,并且是一张 PCI 卡;它没有在硬件列表中被明确列为不兼容。
需要在 Red Hat 5.2 下运行 2910 的驱动程序。
最困难的任务是确定正确的驱动程序,因为此类信息在我查找的任何地方都没有记录。Seagate 有一个自动电话系统 (1-800-SEAGATE),它提供了关于其硬件的大量信息。不幸的是,在软件方面,只有 Windows 95/98/NT 的信息可用。
解决方案是向本地 Linux 邮件列表发布消息。非常感谢 Ottawa Carleton Linux Users Group (OCLUG) 邮件列表上的个人指出 “aic7xxx” SCSI 驱动程序模块是正确的选择。OCLUG URL 列在资源中。
另一篇发布到 OCLUG 邮件列表的文章和一些搜索引导我获得了更详细的信息。各种 SCSI 驱动程序的 README 文件位于 /usr/src/linux-2.0.36/drivers/scsi/ 中。在这里,您可以确定每个驱动程序支持哪些卡或芯片组。在购买 SCSI 控制器卡之前,值得查看这些文件。
要添加所需的驱动程序,我启动了 Red Hat 的控制面板。我选择了“内核配置器”并单击“添加”。打开了一个“模块类型”窗口;在那里我从“模块类型”下拉菜单中选择了“scsi_hostadapter”。我单击“确定”打开“模块定义”窗口,然后单击“哪个模块”下拉菜单并选择了所需的驱动程序。最后,我单击“确定”,然后在“内核配置器”窗口中单击“重启 kerneld”。
在确定了需要什么之后,购买并安装了硬件。Seagate DAT 手册对于安装单个 SCSI 设备的说明不如它本可以做到的那么清晰,但是所有必要的信息都在那里。收听他们的自动电话帮助热线上的信息解答了我剩余的硬件问题。我在这里提供了足够的信息(我希望如此),这样您就不必打电话了。
在处理 SCSI 系统时,必须遵守两条规则。第一,每个 SCSI 设备必须设置为唯一的 SCSI ID 号。ID #7 通常用于 SCSI 控制器卡,ID #0 通常由启动驱动器使用。第二,SCSI 总线(电缆)必须按以下方式在两端端接
内部设备在链中的最后一个设备上使用有源端接,位于扁平电缆的末端。
外部设备需要一个端接器,插入到链中最后一个设备上未使用的连接器中。
控制器卡提供自动有源端接。如果该卡仅用于内部设备,则外部连接器无需端接。
在我特定的情况下,我想安装一个内部设备。2910 控制器卡插入到主板上一个空闲的 PCI 插槽中。DAT 驱动器通过适当的 DIP 开关配置为有源端接。其他 DIP 开关用于将驱动器设置为 SCSI 地址 #2。然后将驱动器安装在空闲的 5-1/4 英寸驱动器托架中。由于 DAT 驱动器是唯一要安装的 SCSI 设备,因此将其插入到 SCSI 扁平电缆的一端。另一端插入到 SCSI 控制器卡中。Adaptec 2910 “套件”附带扁平电缆,允许将两个设备连接到卡上。该卡还有一个未使用的外部 SCSI 连接器(也未端接)。
虽然我的计划是介绍 SCSI,但我认为列出备份软件也很相关,因为我安装了一个磁带设备。选项范围从使用基本的 Linux 实用程序 (tar) 到昂贵的商业解决方案。
表 1 列出了一些可用的商业备份解决方案。该列表仅是一个示例,我相信还有许多其他解决方案可用。对于任何我可能遗漏的公司:请在LJ的读者来信部分发声。其中一些商业产品可供个人免费使用。BRU200 和 PerfectBackup 都可能包含在某些 Linux 发行版中。Arkeia 在 4 月 '99 期的Linux Journal中进行了评测。
对于 KDE 用户,有一个名为 KDat 的备份实用程序,它记录在 KDE 在线帮助中。有关更多信息,请参见表 1 中显示的网页或资源中列出的 Linux 应用程序页面。
总而言之,我的目的是帮助初学者回答以下问题
我需要什么?
我从哪里开始?
我在哪里可以找到更多信息?
提供了足够的信息,使初学者能够在基于 Linux 的 PC 中安装一个或多个 SCSI 设备。指向其他信息来源的指针有望解答本文未解答的任何问题。
电子邮件:kdesolla@shield.com
Keith P. de Solla, P.Eng 是一位 VLSI CAD 应用工程师和 Linux 支持者。当他不坐在电脑前时,他可能会去钓鱼、打猎或射击。可以通过电子邮件 kdesolla@shield.com 联系他