LPI 101 考试准备: 硬件和体系结构之四

原贴:http://blog.chinaunix.net/u/23204/showart_206496.html

LPI 101 考试准备: 硬件和体系结构之四
 
 

设置 SCSI 设备

本节涵盖了针对初级管理员(LPIC-1)101 考试的主题 1.101.4 所需要的资料。此话题的权重为 1。

SCSI 概述

小型计算机系统接口(Small Computer System Interface) 更常见的是称为 SCSI,这个接口设计用于连接磁带等流设备和磁盘、 CD-ROM 等块存储设备。它也曾用于其他设备,比如扫描仪和打印机。SCSI 读作“scuzzy”。 SCSI 设计支持总线上的多个设备。某个叫做 控制器(controller) 的设备负责管理总线。 SCSI 设备可以是内置的,也可以是外置的。

American National Standards Institute(ANSI)已经制订了三个主要版本的 SCSI 标准。

SCSI
是最初的标准(X3.131-1986),现在通常称作 SCSI-1。这是在 Shugart Associates 为实现用于磁盘设备的标准接口而获得的成果中提出的。这个标准支持每条线缆上最多 8 个设备。SCSI-1 使用被动终结(passive termination,下面有更多关于此的内容)。尽管设备可能仍然以某种适当的终止机制在当前的 SCSI 线缆上使用,但这个标准现在已经被废弃了。数据接口是 8 位并行的,最大速度为 5MBps(megabytes/sec)。SCSI 标准是为磁盘设计的,但它非常灵活,为其他设备所使用,特别是扫描仪和更慢的设备,比如 Zip(™ 或 ® - gem,请查证)。 FConnection 使用 50 连接器线缆,最初是使用 Centronics 连接器,但是后来使用的是类似于 DB-25 RS-232 串行连接器的 50-pin D-shell 连接器。
SCSI-2
是 1994 年作为 ANSI 标准 X3.131-1994 被批准的。这个版本将总线的速度翻倍为 10MBps,并引入了所谓的 宽型(wide) 或 16-位 数据传输。以 10MBps 速度运行的 16-位 总线可以以 20MBps 的速度传输数据。50-connector 线缆用于 8-位 或者 窄型(narrow) SCSI 设备,而较新的宽型设备使用 68-pin 线缆。也引入了更高密度的线缆,以实现更小且更廉价的连接器。SCSI-2 还标准化了 SCSI 命令集,并引入了微分信号(differential signaling)来在速度更高时提高质量。这后来被称为 High Voltage DifferentialHVD)信号。HVD 要求主动终结(active termination)。小心地使用适当的终结,因为有可能在一根线缆上混合使用 8-位 和 16-位 设备。SCSI-2 支持在同一线缆上最多 16 个设备,其中最多 8 个可以是窄型的。
SCSI-3
是一组标准,而不是一个标准。这就使得可以改进那些变化迅速的技术的标准,同时避免修订那些稳定的技术的标准。在 ANSI 标准 X3.270-1996 中定义了总体的体系结构,也称为 SCSI-3 Architecture Model SAM)。较早的 SCSI 标准现在收录在 SCSI Parallel InterfaceSPI)标准中。速度再次得到了提高,在速度为 160MBps 的总线上,当前 16-位 设备的数据传输能力最高可以到 320MBps。

SCSI-3 引入了光纤通道 SCSI(Fiber Channel SCSI),每条总路支持最多 126 个设备,能够在距离为几公里的 1GBps 或 2GBps 光纤通道链路上建立连接。这有助于解决使用标准 SCSI 线缆所不可避免的限制。引入的另一个值得关注的内容是 Single Connector AttachmentSCA),它只用于宽型(16-位)设备。 SCA 是一个 80-pin 连接器,它综合了 68-pin 连接器的管脚以及电源和另外一些管脚。SCA 设计支持在运行着的系统中安全地进行热插拔,在实现 独立磁盘冗余阵列(Redundant Array of Independent disks,RAID) 的存储系统以及网络连接的存储和服务器机柜中经常用到它。

在前面我们提到了 终结(termination),却没有过多解释。SCSI 总线的电气特性要求总线的每一个末端都要适当地终止。必须为总线使用适当类型的终结器(terminator);被动的、HVD 或者 LVD。如果在总线上混合使用宽型和窄型设备,那么要意识到窄型设备的终结可能与宽型设备的终结并不发生在同一位置。如果控制器只控制内置总线或者只控制外置总线,那么它通常会提供终结,或者是自动的,或者是通过 BIOS 设置。查阅具体控制器的手册。如果控制器同时控制内置和外置片断,那么它通常不会提供终结。

有些设备能够提供终结,或者通过一个切换器,或者通过其他方式,比如跳线。同样,去参考设备的手册。否则,通常是通过向线缆插入一个终结器来实现终结。不管使用哪种类型的终结,在同一总线上混合使用宽型和窄型设备时都要特别小心,因为在总线上窄型终结发生的位置可能与宽型设备不同。

 






SCSI Ids

到现在为止,您可能还不明白系统如何管理一条线缆上的很多设备。包括控制器在内,每一个设备都有一个用数字表示的 ID。对于窄型(8-位)SCSI,ID 编号的范围是从 0 到 7。宽型设备增加了 8 到 15 的编号。窄型设备可能只使用 ID 编号 0 到 7,而宽型设备可能使用 0 到 15。控制器通常分配 ID 7。可以通过跳线、开关或者拨动设备上的转盘,或者通过软件来设置设备的 ID。使用 Single Connector Attachment(SCA)的设备通常拥有自动分配的 ID,因为这些设备是可以热插拔的。

SCSI 总线上的设备有优先级。窄型设备的优先级是从 0(最低)到 7(最高),所以位置 7 上的控制器拥有最高的优先级。用于宽型 SCSI 的额外 ID 拥有的优先级是从 8(最低)到 15(最高),15 的优先级比 0 更低。这样,完整的优先级顺序是 8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7。较慢的设备和不能容忍延迟的设备(比如 CD 或 DVD 刻录机)应该拥有高优先级 ID,以确保他们能获得足够的服务。

RAID 控制器等设备可能为总线来说表现为一个单一的 ID,但却组合了多个磁盘。除了 ID 以外,SCSI 寻址还允许使用 逻辑单元编号(Logical Unit Number,LUN)。磁带和单独的磁盘驱动器或者不报告 LUN,或者报告 LUN 为 0。

一个 SCSI 适配器可能支持不止一个 SCSI 线缆或 通道(channel),而且在系统中可能有多个 SCSI 适配器。所以,设备的完全 ID 包括适配器编号、通道编号、设备 ID 和 LUN。

CD 刻录机等使用 ide-scsi 模拟的设备和 USB 存储设备也表现为拥有它们自己的适配器。

SCSI 设备的 Linux 名称和文件

IDE 驱动器 的 BIOS 部分,我们讨论了 Linux 分配给各种 IDE 设备的名称,比如 /dev/hda 和 /dev/hdc。这对能够支持一个或两个硬盘驱动器的 IDE 控制器来说很简单。第二个适配器上的第二块 IDE 驱动器总是 /dev/hdd,就算另外只有第一个适配器上的主驱动器(/dev/hda)。对于 SCSI 来说情况更为复杂,因为我们在一条 SCSI 线缆上混合使用硬盘驱动器、磁带、CD 和 DVD 驱动器,还有其他设备。

当引导过程中检测到设备时,Linux 就会分配设备名称。那样,第一条通道上的第一个硬盘驱动器将是 /dev/sda,第二个是 /dev/sdb,依次类推。第一个磁带驱动器将是 /dev/st0,第二个是 /dev/st1,依次类推。第一个 CD 驱动器将是 /dev/sr0 或 /dev/scd0,第二个是 /dev/sr1 或 /dev/scd1。使用 SCSI 模拟器的设备,比如 USB 存储设备和(2.6 内核之前的)IDE CD 或 DVD 驱动器,也将在此名字空间中分配到名称。

虽然在此不会讨论到 SCSI 命名的所有纷繁难懂之处,但最重要的是要知道在每次引导时都会重新进行这种编号。如果添加或者删除 SCSI 硬盘驱动器,那么在下一次引导时,所有先前编号更高的驱动器都会拥有另外的设备名称。对于其他设备类型来说也是如此。在本系列的另一篇教程中将深入了解分区、标签和文件系统,不过现在先提出一个注意事项。由于每块磁盘最多可以有 15 个分区,每个分区都有一个与设备名相联系的名称(例如, /dev/sda1、/dev/sda2 一直到 /dev/sda15),当系统尝试挂载文件系统时可能会造成混乱。当添加或删除 SCSI 设备时要制定详细的计划,只要可能,就要为 SCSI 磁盘使用磁盘标签,而不要使用设备名称。

BIOS 设置 部分介绍了 /proc 文件系统。/proc 文件系统也包含关于 SCSI 设备的信息。清单 19 展示了具有两个 SCSI 设备的系统中 /proc/scsi/scsi 的内容,其中硬盘驱动器的 ID 为 0,控制器的 ID 为 8。


清单 19. /proc/scsi/scsi

     
[root@waratah root]# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: IBM-PSG  Model: DPSS-336950M  F  Rev: S94S
  Type:   Direct-Access                    ANSI SCSI revision: 03
Host: scsi1 Channel: 00 Id: 08 Lun: 00
  Vendor: IBM      Model: YGLv3 S2         Rev: 0
  Type:   Processor                        ANSI SCSI revision: 02

如果希望知道 /dev/sda 对应的是哪个实际的设备,可以使用 scsi_info 命令。清单 20 确认了我们的第一个(也是唯一一个)SCSI 硬盘驱动器是 /dev/sda。


清单 20. scsi_info 命令

     
[root@waratah root]# scsi_info /dev/sda
SCSI_ID="0,0,0"
MODEL="IBM-PSG DPSS-336950M  F"
FW_REV="S94S"

不过要注意,某些系统并不包含 scsi_info 命令(它是 kernel-pcmcia-cs 软件包的一部分),比如 Fedora Core 2。

最近的系统已经改为使用 SCSI Genericsg)驱动程序。当使用 sg 程序时,在文件系统中 /proc/scsi/sg 子树下可以找到更多另外的信息。还会拥有 /dev/sg0、/dev/sg1、/dev/sg2 等设备。这些通用设备通常对应于某些其他设备类型,比如硬盘(/dev/sda)或者磁带(/dev/st0)。

sg3_utils 软件包中有用于管理和查询 SCSI 子系统各方面的很多实用工具。特别是 sg_map 命令,它可以提供 sg 名称与另一个设备名称(如果存在)的映射。注意,扫描仪没有另外的设备名称,只有一个普通名称。清单 21 展示了 sg_map 的输出,运行那个命令的系统中有一个使用 SCSI 模拟的 IDE 光盘驱动器以及两个 USB 驱动器。


清单 21. scsi_map 命令

     
[root@lyrebird root]# sg_map
/dev/sg0  /dev/scd0
/dev/sg1  /dev/sda
/dev/sg2  /dev/sdb

对应于 scsi_info 的 sg 实用工具是 sginfo。可以使用普通的设备名称,或者借助 sginfo 使用更熟悉的名称。清单 22 展示了针对清单 21 中三个设备的 sginfo 输出。注意,sginfo 不提供关于 /dev/sg1 的信息,尽管在 scsi_info 命令的清单中表明它是一个 USB 存储钥匙。在本例中,设备已经从系统中拔出。保留了关于它的信息(可以在 /proc/scsi/scsi 中找到)。 sginfo 命令会去向设备查询信息,而 scsi_info 将使用保留的信息。必须以 root 身份运行 sginfo,而运行 scsi_info 并不需要 root 身份,不过非 root 用户可能不得不指明 /sbin/scsi_info 的完全路径。


清单 22. sginfo 命令

     
[root@lyrebird root]# sginfo /dev/scd0
INQUIRY response (cmd: 0x12)
---------------------------
Device Type                        5
Vendor:                    SONY
Product:                   DVD RW DRU-700A
Revision level:            VY08

[root@lyrebird root]# sginfo /dev/sg1
INQUIRY reponse (cmd: 0x12)
---------------------------
Device Type                        0
Vendor:
Product:
Revision level:

[root@lyrebird root]# sginfo /dev/sg2
INQUIRY reponse (cmd: 0x12)
---------------------------
Device Type                        0
Vendor:                    WD
Product:                   2500JB External
Revision level:            0411

[root@lyrebird root]# scsi_info /dev/sg1
SCSI_ID="0,0,0"
MODEL=" USB DISK 12X"
FW_REV="2.00"






SCSI BIOS 和引导顺序

虽然在大部分服务器上 SCSI 是标准设备,但大部分桌面机和膝上型计算机通常并不将 SCSI 支持作为标准。这种系统通常会从软盘、CD 或 DVD 驱动器,或者系统中第一个 IDE 硬盘驱动器引导。引导顺序通常可以在 BIOS 设置屏幕中进行配置(如 BIOS 设置 部分中所示),有时可以在系统启动时按下某个键或者组合键来动态设置。

BIOS Boot Specification(见 参考资料)定义了添加 SCSI 卡等设备卡的方法,来在启动过程中给出一条消息,并调用设备卡上的 BIOS 来进行配置。SCSI 卡通常使用这种方法来配置它所控制的 SCSI 子系统。例如, Adaptec AHA-2930U2 卡会打印出一条消息

Press <Ctrl><A> for SCSISelect (TM) Utility!

,允许用户同时按下 ctrl 和 A 键来进入适配器 BIOS。其他设备卡也有类似的方法可以进入设备卡的 BIOS 来进行设置。

进入设备卡的 BIOS 后,看到的屏幕通常会允许您设置 SCSI 控制器地址(通常是 7)、SCSI 引导设备(通常是 ID 0)、总线速度,以及控制器是否应该提供终结。有些较老的设备卡可能要求引导设备 ID 为 0,但是大部分新式的设备卡允许选择任何设备。您能够(可能将会)拥有其他选项,比如能格式化硬盘。查阅设备卡制造商的文档以获得详细资料。建立总线的 SCSI 视图后,通常仍必须要告诉 PC BIOS 从 SCSI 磁盘引导,而不是 IDE 驱动器。查阅系统参考手册来确定是否能从 非-IDE 驱动器引导,以及如果可以的话如何进行设置。

<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值