SCSI与iSCSI基本组成部分及常用术语

来源:百度文库 编辑:神马文学网 时间:2024/04/28 14:30:40
SCSI与iSCSI基本组成部分及常用术语2008年10月30日 星期四 上午 11:25

SCSI

现在的存储器虽然出现了如USB、IEEE1394等新型接口类型,但总得来看,还是分为两大阵营,一类为IDE,另一类就是SCSI,IDE是普通家用 PC硬盘所用的接口,也是我们最常经常接触的硬盘接口;而SCSI主要是面向高端存储器市场,因此在普通PC上并不常见,这或多或少给大家增加了一份秘的 色彩,笔者希望通过此文能让大家对SCSI技术有所了解,揭开SCSI的神秘面纱。

  SCSI的全称为Small Computer System Interface 即小型计算机系统接口,它最早研制于1979年,从名称上想必大家就可猜出它最早是专为小型机而设计的存储器接口,不过随着电脑技术的发展,慢慢它被移植 到普通电脑上了。现在在一些高端服务器或者工作上都能看到SCSI的踪迹,它广泛应用于如扫描仪、SCSI硬盘、磁带备份器等产品中。

SCSI的特点

   相对于普通家用电脑的IDE接口,SCSI有它独特的一些特点。

        首先、SCSI适应面很广:在使用IDE接口时,你会受到IRQ(中断号)及IDE通道 的限制,一般情况下每个IDE通道占用一个IRQ,而一块标准的主板只有两个IDE通道(即IDE1与IDE2插槽),每两个设备要占用一个IDE通道, 因此一块标准的主板上最多只能连接四个IDE设备,虽然你可以通过增加IDE控制卡等其它方式来增加可连接设备的数量,但总共连接的IDE设备数最多也不 能超过15个。使用SCSI则可以使连接设备数超过15个,而且所有设备只占用一个中断号,因此它的适应面比IDE要广得多。

  其次、 SCSI的带宽很宽:

  第三、SCSI支持多任务、CPU占用率很低:由于使用SCSI系统必须要有SCSI控制卡或适 配器,在控制卡会有独立的芯片负责SCSI数据的处理;当CPU将指令传输给SCSI后,随即去处理后续的指令,其它的相关工作就交给SCSI控制卡上的 芯片自行处理,等SCSI处理完毕后,再发出控制信号给CPU,CPU进行后续的处理…因此不难想像SCSI系统对CPU的占用率是很低得;至于SCSI 的多任务性则表现在它允许对一个设备进行数据传输的同时,另一设备对其进行数据查找,这在如网络服务器系统中非常重要得,因为它们经常需要同时处理许多并 行请求,此时如果存储系统不支持多任务性,那存储系统都不知道该去响应谁的请求了。

       第四、SCSI系统昂贵:由于SCSI能给用户带来 很高的系统性能同时具有很好的并行处理能力,因此它也是价值不菲,一般组建一套完整的SCSI系统,其设备与控制器是必不可少得,就假如我们需要用 SCSI硬盘,那除此你还需另外购买一块SCSI控制卡,这不像IDE硬盘,买来直接插在主板上即可使用。而且SCSI设备的价格一般比普通接口的设备都 来得贵,所以总得来说SCSI系统是很昂贵,正因此在普通PC上不常见它们的踪影。

SCSI的优点和缺点

对于服务器或工作站来说,SCSI硬盘是毋庸置疑的选择。SCSI(Small Computer System Interface)是一种应用范围很广的接口规范,可以连接硬盘、光驱、打印机、扫描仪、磁带机等多种设备,堪称系统中除CPU以外的另一个控制核心。 与普通的IDE硬盘相比,SCSI硬盘具有很多优点。

首先,SCSI接口具有更高的传输速率。目前最新的IDE接口规范可以达到133MB/s的传输速度,而SCSI接口已经将峰值带宽提升到了 320MB/s; 在对应的硬盘技术上,IDE产品也明显落后于SCSI产品,以希捷公司的两款代表型产品为例,Barracuda Ⅳ是目前最出色的IDE硬盘之一,它的转速为7200rpm,平均数据传输率为34MB/s左右,寻道时间也在15ms以上,而SCSI硬盘中的极品—— Cheetah X15的转速已经达到了15000rpm,平均数据传输率超过了50MB/s,寻道时间也在4ms之内。

其次,SCSI硬盘的另一大优势在于CPU占用率很低。早期的IDE硬盘采用PIO工作模式,在进行数据传输时,CPU占用率基本达到100%, 根本无法进行其它操作,随着DMA技术的出现,这一问题在一定程度上得到了解决,CPU无需再对数据传输进行全程监控,但是仍然会占用较高的系统资源;而 SCSI设备则不存在这种问题,CPU只需将数据传输指令发送给SCSI控制芯片,而无需参与整个过程中的数据处理与计算,这种特点尤其适合于I/O操作 频繁或经常涉及到大容量文件交换的场合,因此广泛地被服务器和工作站所采用。

除此之外,SCSI还具有扩展性丰富、纠错能力高以及进行多任务操作时智能化更高等多种优点。尽管如此,昂贵的价格还是制约了SCSI硬盘的发展,普及程度远不如普通的IDE硬盘,只能应用在一些高端的服务器和工作站上。

------------------------------------------------------------------------------------------------------------------------------------------------

iSCSI系统的基本组成部分及一些常用术语和经验。

iSCSI大举进入企业应用环境,很多CIO和存储管理员都在考虑这种费用低廉的技术,希望用这种技术推动企业向集中式存储环境转变,或者为现有的存储系统提供补充。尽管目前 对于iSCSI应该在什么样的环境中使用还存在着争议,但是未来却是非常明确的:iSCSI在未来一定会有一席之地。而且由于它的价格只是光纤通道价格的 一小半,但性能却非常优 异,所以iSCSI技术的未来一定是光明的。

iSCSI组成部分和术语
最简单的iSCSI系统至少包含以下四个部分:

  • iSCSI initiator(software)或者iSCSI HBA(hardware) --client
  • iSCSI target                           --server
  • 一台或者多台服务器
  • 以太网


  • iSCSI initiator
    是一个硬件设备或者是安装在计算机上的一个软件,它负责处理同iSCSI阵列的通信

    服务器或者电脑(甚至是桌面电脑或者其他的工作站 都可以直接同iSCSI阵列连接)。和iSCSI阵列之间通常有两种连接方法。
    第一种方法是使用基于软件的iSCSI initiator,比如微软提供的免费iSCSI initiator,很多Linux 版本或者其他操作系统(包括 AIX、NetWare、Solaris和HP-UX)也提供了基于软件的iSCSI initiator。
    第二种方法使用的不是软件,而是硬件设备。iSCSI HBA(Host Bus Adapter)是一种硬件iSCSI initiator,它同基于软件的iSCSI initiator相比有很多优点。首先,基于硬件的设备不会像基于软件initiator一样需要耗占CPU的资源来处理iSCSI命令。其次,硬件设备可以从 iSCSI SAN导入系统,而这是基于软件initiators不具备的功能。第三,由于硬件设备是专用的,所以基于硬件的iSCSI initiator可以提供更好的总体存储性能。

    我的建议:首先,你应该使用gigabit以太网适配器,但是你只应该在需要从SAN导入系统或者服务器的CPU被iSCSI命令耗占了过多资源的情况下使用iSCSI HBA。今天,千兆以太网 非常便宜,千兆以太网 连接中的iSCSI initiator更有效率。其次,如果可能的话,你应该在两个独立的NIC上使用MPIO(Multi Path I/O)。简而言之:为服务器上的两个千兆以 太网 NIC都提供iSCSI连接,并仔细阅读操作系统的iSCSI MPIO相关资料。在我所在的公司,我们使用了Dell的刀片服务器,每台刀片服务器上都有4个千兆以太网 NIC。两个NIC是用于连接前端的,另外两个则是用于连接我们的EqualLogic PS200E阵列。只要有可能,我们就会使用MPIO。

    “array”和“target”的区别
    到目前为止,我将这种存储设备称为“iSCSI array”。在术语中,一个可以被用于存储数据的iSCSI array或者具有iSCSI功能的设备被称为“iSCSI target”。

    我之所以将iSCSI array和具备iSCSI功能设备区分开来,是因为对于绝大部分操作系统来说,都可以用一些软件将系统转变成一个iSCSI target,并用系统磁盘满足你的存储需求。(软件模拟)在这些情况下,尽管你仍然在使用iSCSI,但是你并没有真正地在使用阵列。所以为了避免将两者混淆,我们使用了“target”这个词。

    initiator 和target 形成了iSCSI SAN的两个终点。在很多情况下,如果你使用的是企业级的iSCSI targets(比如我曾经介绍过的EqualLogic PS系列),那么尽管有多个阵列,你仍然只有一个target,因为每个独立的阵列都是同一个集群的一部分,每个initiator都被看成是统一的一个target。如果你确实拥有多个阵列,我依然会建议你将两个阵列建成一个集群,这样你会拥有更好的性能(这还取决于厂商),管理工作也会更为简单,因为所有的管理工作都可以通过一个统一的控制台来完成。

    当然,initiator和 target之间仍然留有很大的空间。你也许知道,iSCSI是使用TCP/IP协议进行通信的,所以将iSCSI两端连接起来所需要的仅仅是一个以太网。你应该在你的 iSCSI网络中使用千兆以太网交换机。次级的设备会严重地影响系统性能,系统性能甚至会降低到不可接受的程度。这也就是说,应该为每个服务器上的两个独立的NIC配备使用两 个高质量的千兆以太网交换机,并提供两个连接(为每个交换机提供一个连接)。对于你的iSCSI targets,应该为每个独立阵列中的两个独立端口配备交换机。最后,将交换机连接起来。使用这种配置模式,即使一个NIC、两个交换机中的一个或者一条线缆出了故障,你的系统仍然能够工作。你应该将交换机上的巨型帧(Jumbo Frame)和流控制激活,这 样可以获得最佳也是最可靠的性能。

    在未来几年里,iSCSI仍将继续发展,它将能够支持更多更好的驱动器,并将支持下一代以太网(运行速度高达10Gbps)。