1 SCSI接口
SCSI直译为小型计算机系统专用接口(Small Computer System Interface),是一种连结主机和外围设备的接
口,支持包括磁盘驱动器、磁带机、光驱、扫描仪在内的多种设备。它由SCSI控制器进行数据操作,SCSI控制
器相当于一块小型CPU,有自己的命令集和缓存。
1、SCSI接口类型
SCSI连接器分为内置和外置两种,内置数据线的外型和IDE数据线一样,只是针数和规格稍有差别,主要用于
连接光驱和硬盘。40针IDE线有40根导线,40针ATA66有80根导线,SCSI内置则分为50针、68针和80针。至于
SCSI外置数据线,就有以下几种规格,它们的密度均不相同,分别列示如下:
◆ Apple SCSI,共有25针,分为两排,8位,常用于Mac机和旧式Sun工作站。
◆ Centronics,共有50针,分为两排,8位,有点像并行口,它可以连接的设备数目最多。
◆ SCSI-2 ,共有50针,分为两排,8位。
◆ Sun Microsystem的DD-50SA,共有50针,分为三排。
◆ SCSI-3和Wide SCSI-2,共有68针,分为两排,16位。旧式DEC单终结SCSI 使用68针高密接口。
◆ SCA,共有80针,分为两排。
6
2、SCSI ID
ID(identify)作为SCSI设备在SCSI总线的唯一识别符,绝对不允许重复,可选范围从0到15(共计16个),
SCSI主控制器通常占用ID7,即是说我们可以用在设备上的ID号只有15个。在SCSI总线中,控制器也算一个设
备, 即实际最大可连接设备数目 = 理论最大支持设备数目-1。
3、总线终结器
总线终结器能告诉SCSI主控制器整条总线在何处终结,并发出一个反射信号给控制器,必须在两个物理终端作
一个终结信号才能使用SCSI总线。常见的错误是把终结设置在ID号最高或最低的地方,而不是设置在物理终端
的SCSI设备上。其实,SCSI设备总是以链形来连接的,按顺序就能分辨出哪一个是终结设备。
终结的方式有三种:自终结设备、物理总线终结器和自终结电缆。大多数新型SCSI设备都有自终结跳线,只要
把非终结设备的自终结跳线设置成OFF即可避免冲突问题;物理总线终结器是一种硬件接头,又分为主动型和
被动型两种,主动型使用电压调整器来进行操作,被动型利用总线上的能源信号来操作,被动型比主动型更为
精确;自终结电缆可以代替物理总线终结器,也是一种硬件,它的价格非常昂贵,常用于两个主机连接同一个
物理设备,如:两个服务器存取同一个物理SCSI硬盘。通过检查SCSI ID和总线终结器,我们可以找出大多数
冲突现象的解决方法。
4、SCSI规格公用的几个标准术语解释:
⑴ SCSI-1:它是最早SCSI,特点是:支持同步和异步SCSI外围设备,支持7台8位的外围设备,使用8位的通道
宽度,传输速率为4MB/s,这现在通常是扫描仪在用的。
⑵ SCSI-2:类似SCSI-1,但是可以支持同时连接7个装置,传输速率为10-20MB/s,目前有CD-R、CD-ROM在使
用。
⑶ Fast SCSI:8位的通道宽度,使用双倍的频率,传输速率为 10MB/s。
⑷ Wide SCSI:16位的通道宽度,传输速率为20MB/s。
⑸ ULTRA SCSI:8位的通道宽度,传输速率为20MB/s,其允许接口电缆的最大长度为1.5米。
⑹ Ultra Wide SCSI:16位的通道宽度,传输速率为40MB/s,其允许接口电缆的最大长度为1.5米。
⑺ ULTRA 2 SCSI:8位的通道宽度,其采用了LVD(Low Voltage Differential,低电平微分)传输模式,传输
速率为40MB/s,允许接口电缆的最长为12米,大大增加了设备的灵活性,支持同时挂接15个装置。
⑻ WIDE ULTRA 2 SCSI:它跟Ultra 2 SCSI差不多,也是采用LVD传输模式,允许最长接口电缆为12米,可同
时挂接15个装置,不同于Ultra 2 SCSI,它有16位的通道宽度,因此传输速度为80MB/s。
⑼ Ultra 160/m SCSI:支持最高数据传输率为160MB/s。
⑽ Ultra320 SCSI:支持最高数据传输达到了320MB/s,是目前最新的SCSI接口类型。
⑾ Single Ended(单终结):许多旧式设备都是单终结设备,它们限制于 SCSI-1协议的6米长度。注意:此
距离包括设备内部电缆的距离。
⑿ Differential(分差动):SCSI总线和设备可借助它来沿长传输的距离,附加线的最大长度为25米。缺点
是与单终结设备不兼容。
2 独立磁盘冗余阵列(RAID)简介
RAID的全称是廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),于1987年由美国Berkeley 大
学的两名工程师提出的RAID出现的,最初目的是将多个容量较小的廉价硬盘合并成为一个大容量的“逻辑盘”
或磁盘阵列,实现提高硬盘容量和性能的功能。随着RAID技术的逐渐普及应用,RAID技术的各方面得到了很大
的发展。现在,RAID从最初的RAID 0-RAID 5,又增加了RAID 0+1和RAID 0+5等不同的阵列组合方式,可以根
据不同的需要实现不同的功能,扩大硬盘容量,提供数据冗余,或者是大幅度提高硬盘系统的I/0吞吐能力。
RAID技术主要有三个特点:
第一、通过对硬盘上的数据进行条带化,实现对数据成块存取,减少硬盘的机械寻道时间,提高数据存取
速度。
第二、通过对一阵列中的几块硬盘同时读取,减少硬盘的机械寻道时间,提高数据存取速度。
第三、通过镜像或者存储奇偶校验信息的方式,实现对数据的冗余保护。
在实际应用中,用的最广泛的RAID阵列主要分为RAID 0,RAID 1,RAID 5和RAID 0+1。下面分别对它们进行介
绍。
1.RAID0
RAID 0 也叫条带化,它将数据象条带一样写到多个磁盘上,这些条带也叫做“块”。条带化实现了可以
同时访问多个磁盘上的数据,平衡I/O负载,加大了数据存储空间和加快了数据访问速度。RAID 0是唯一的一
个没有冗余功能的RAID技术,但RAID0 的实现成本低。如果阵列中有一个盘出现故障,则阵列中的所有数据都
会丢失。如要恢复RAID 0,只有换掉坏的硬盘,从备份设备中恢复数据到所有的硬盘中。
硬件和软件都可以实现RAID0。实现RAID0最少用2个硬盘。对系统而言,数据是采用分布方式存储在所有的硬
盘上,当某一个硬盘出现故障时数据会全部丢失。RAID 0 能提供很高的硬盘I/O性能,可以通过硬件或软件两
种方式实现。
2.RAID 1
RAID 1也被称为磁盘镜像。系统将数据同时重复的写入两个硬盘,但是在操作系统中表现为一个逻辑盘。所以
如果一个硬盘发生了故障,另一个硬盘中仍然保留了一份完整的数据,系统仍然可以照常工作。系统可以同时
从两个硬盘读取数据,所以会提高硬盘读的速度;但由于在系统写数据需要重复一次,所以会影响系统写数据
的速度。硬盘容量的利用率只有50%。
3.RAID 0+1
对RAID0阵列做镜像。这是一种Dual Level RAID,也有人称之为RAID level 10。是两组硬盘先做RAID 0
,组成两颗大容量的逻辑硬盘,再互相为“镜像”。在每次写入数据,磁盘阵列控制器会将资料同时写入该两
组“大容量数组硬盘组”内。
同RAID level 1 一样,虽然其硬盘使用率亦只有50%,但它却是最具高效率的规划方式。
4.RAID 5
是在RAID 3和RAID 4的基础上发展来的,它继承了它们的数据冗余和条带化的特点,并将数据校验信息均匀保
存在阵列中的所有硬盘上。系统可以对阵列中所有的硬盘同时读写,减少了由硬盘机械系统引起的时间延迟,
提高了磁盘系统的I/O能力;当阵列中的一块硬盘仿生故障,系统可以使用保存在其它硬盘上的奇偶校验信息
恢复故障硬盘的数据,继续进行正常工作。
3 RAID的实现及控制卡
RAID可以通过软件或硬件实现。软件实现RAID需要操作系统的支持。硬件实现就是使用专用的RAID卡来实现。
1、软件RAID
些网络操作系统可以使用标准的SCSI适配卡支持和管理驱动器。一些网络操作系统支持RAID 0,RAID
1和RAID 5。
由于是操作系统下实现RAID,软RAID不能保护系统盘。亦即系统分区不能参与实现RAID。有些操作系统,RAID
的配置信息存在系统信息中,而不是存在硬盘上;当系统崩溃,需重新安装时,RAID的信息也会丢失。
当运行I/O增强应用程序,如文件服务器或应用程序服务器,可适当的使用软件RAID。RAID 5是CPU的增强方式
,所以不建议使用软件RAID在增强的处理器服务器中。 磁盘的容错技术并不等于完全支持在线更换,热插
拔或热交换,有些操作系统不能支持系统不经过重启的在线热交换。能否支持错误硬盘的热交换与操作系统有
关。
NetWare支持 RAID 1 (镜像和双工) 。 Windows NT 、Windows2000、LINUX、OPENSERVER支持RAID 0, RAID1
和RAID5。
另一种方案是配置系统在线扩充,服务器中配置一块备用硬盘,当系统中没有硬盘错误时,它处于等待状态,
当RAID5或RAID1中出现硬盘错误时,它可以自动取代坏盘,当系统确认后,即可成为阵列的一部分。
2、硬件RAID
硬件 RAID是采用集成的阵列卡或专用的阵列卡来控制硬盘驱动器,这样可以极大节省服务器系统CPU和操作系
统的资源。从而使网络服务器的性能获得很大的提高。
RAID控制器对主系统,是藉由连接至其存取接口(目前以SCSI 为主)作信道。换言之,它在主系统的存取接口
上,是一个独立的直接存取储存体DASD Direct Access Storage Device。 而这个大的储存体内,可以有不只
一个的逻辑磁盘LUN Logical Unit Number。 RAID控制器,对下管理多颗数组硬盘机们。而主系统是不会看到
或直接管理该硬盘的。例如:Mylex、AMI、Adaptec等都有相关的产品。
现在的RAID卡产品,都支持在线更换,热插拔或热交换。并在部分操作系统下实现软件监控和管理。
3、RAID卡原理
RAID卡有自己的CPU,Cache Memory,通过集成或借用主板上的SCSI控制器来管理硬盘,可以称之为一个智能
化的设备。
RAID卡的分类一般根据集成的SCSI控制器来划分。如果没有集成SCSI控制器,而是借用主板上的SCSI控制器来
管理硬盘,则为零通道RAID卡。根据RAID卡集成的SCSI控制器的通道数量,可以分为单通道、双通道、三通道
RAID卡。还可以按照SCSI控制器的标准来划分RAID卡的种类,如Ultra Wide、 Ultra2 Wide、Ultra160 Wide
RAID处理器是一个PCI从设备,接受并执行来自系统的命令。 同时占用PCI中断,代表SCSI磁盘子系统向系统
提出中断请求,请求占用PCI总线,返回对系统命令的响应,如输送SCSI硬盘上的数据。
作为RAID卡的CPU,通过执行闪存中的Firmware,控制SCSI控制器、Cache Memory以及指示报警电路,来实现
RAID卡的功能,运作流程如下:
(1) 初始化RAID卡寄存器
(2) 读取NVRAM的上次RAID参数,与硬盘实际信息进行比较,显示结果
(3) 发送配置提示、响应 HOST 命令进入配置界面
(4) 提供配置菜单、将用户提供的RAID卡参数、RAID参数存入NVRAM
(5) 根据RAID参数,通过SCSI控制器对硬盘进行初始化写操作
(6) 完成配置
(7) 等待Host发出读写操作命令
4、磁盘CACHE
RAID卡提高磁盘读写性能的另一手段是:磁盘CACHE。对于磁盘I/O来说,如果没有CACHE,就直接从硬盘读写
;如果有CACHE,则首先从CACHE读写。
CACHE具有两大功能:
⑴ 预读
CACHE预读提高了计算机系统中的硬盘读的功能,尤其是在读取含有大量文件碎片的文件时。具有良好预读功
能的RAID卡能在看起来很随机的读访问中,识别出读取磁盘的规律, 通过这个规律提前将系统要读取的数据
放在CACHE中。
预读的两种方式:
Read Ahead
由于硬盘数据经常是以一族连续的硬盘扇区组织起来的,所以有时侯如把系统所请求的扇区随后的一个扇区里
的数据 同时读进来是有价值的。对于数据文件的读取有利,特别是系统CPU的性能低时。
Pre-Fetch
当RAID卡发现系统要读的是先前已经读过的数据时,在 这一次,便将这一个数据块的数据写到CACHE里。对于
程序文件的读取有利 。
⑵ 回写
回写是通过暂时将数据存在CACHE里,从而推迟将数据写到慢设备(如硬盘、磁带机)的一种工作方式。数据
将在随后的时间,硬盘闲置的时候写到硬盘中。写的时候也是统一将CACHE内的尚未写出的数据按照数据块的
在硬盘中的BLOCK序号写入,这样可以提高写的效率。
回写需要加电池给CACHE供电,以免数据在写到硬盘之前系统断电导致硬盘数据丢失。
增加CACHE大小对于预读来说,为系统提供了更多的来自CACHE的可供读取的记录。 对于回写来说,允许控制
卡保存更多的记录留待后期写磁盘。特别是对于电梯式回写,使得连续的回写段之间有更近的间隔,降低硬盘
写操作的平均访时间并提高了吞吐率。
⑶ 写策略
通写模式下,所有数据在以命令完成状态返回到计算机之前,直接写到硬盘。两种写策略比较来说,写策略由
通写改为回写时,可大幅度提高RAID性能。但回写具有一定的数据危险性。在突然断电的情况下,会丢失存于
Cache尚未写入硬盘的数据。
RAID卡工作在写策略为THROUGH时,缓存大小对RAID卡的性能影响很小,只有当写策略改为BACK时,缓存的作
用才会发挥出来。
影响RAID卡性能的因素很多,其中可调因素主要有RAID卡缓存(CACHE)大小、写策略(WRITE POLICY)、读
策略(READ POLICY)、条带的大小(STRIPE SIZE)。不同的RAID卡虽然说法略有不同,但意思是一样的。很多设置可以在RAID卡的配置工具中调整