SCSI和RAID的相关知识

RAID在硬件的体现上,就是RAID卡。根据硬盘种类的不同,现在的RAID卡可以分为IDE RAID卡,SCSI RAID卡或SATA RAID卡。RAID的中文名称是廉价磁盘阵烈,主要功能在于数据恢复、性能提高、硬盘的集中管理。现在的RAID主要有RAID 0、RAID 1、RAID5。RAID 0最典型的就是使用两块SCSI硬盘,当有数据写入时,两块硬盘同时开始做写入操作,如两块硬盘上同时写入50%的数据,这样最大的好处就是提高了性能,因为相对同样大小的数据,有两块硬盘同时在写,理论上来说就可以提高一半的性能,读也是一样,但这种方式的缺点也很明显,就是没有数据恢复的功能;再看RAID 1,假设有两块SCSI硬盘,使用RAID 1方式进行搭建,那么当有数据写入时,数据同时写入这两块硬盘,每块硬盘都要写入所有的数据,这样,等于是将一份数据写了两遍,两块硬盘的数据也是完全一模一样,这样虽然做到了数据恢复和备份的功能,但性能收到影响,而且浪费磁盘空间;RAID 2、3、4用的不多,这里不介绍了;RAID 5也是目前用的比较多的一种RAID方式,首先,要使用RAID 5,至少需要三块硬盘,而且,不论使用多少块硬盘,最终都要失去相当于一块硬盘的容量(该容量用来做差异信息,供恢复时使用)。首先来说三块硬盘的模式,我们假设现在有三块SCSI硬盘,使用RAID 5的方式来集成,那么现在假设有数据写入时,硬盘1上面写入的数据是“1”(所有数据中的一部分),硬盘2上写入的数据是“2”(所有数据中剩下的一部分),此时硬盘3上写入的数据就是“1+2”,这样,当硬盘1损坏后,通过硬盘3和硬盘2,就可以得到硬盘1的所有数据(“1+2”-“2”),同理,当硬盘2损坏时,也可以轻松将这块硬盘上的所有数据恢复,当硬盘3损坏时,也可以轻松通过硬盘1和硬盘2来恢复,这是最安全的数据恢复方案。但是,这样也会导致每次数据有写入动作时,都要做上述的一系列动作,而且1+2这个动作一般来说比较复杂(因为不是单纯保留两份数据的和,而是要分析两份数据的差异,只保存差异部分,这样就可以做到不浪费空间)。现在这些都是由硬件来完成,使用的一般来说都是intel的芯片(intel i960)。但是以上只分析了三块硬盘的情况,下面分析多块硬盘的情况,比如现在有五块硬盘,按照上述的理论,就应该是硬盘1、2、3、4分别存放数据1、2、3、4,硬盘五存放数据1+2+3+4,事实上并不是这样,因为对于1+2这种的差异分析,算法就已经非常复杂,所以如果要同时分析四块硬盘或更多,那显然是不可能的,最好的方法是仍然保持只分析两块硬盘的差异,这样就有了如下的方法:将五块硬盘都划分为五等分,当有数据来时,在硬盘1的第一份上记录1,硬盘2的第一份上记录2,在硬盘5的第五等分上记录1+2,然后在硬盘3上记录3,在硬盘4上记录4,在硬盘1的第五份上记录3+4,依次类推,基本思想就是这样,我不是掌握的非常清楚,总体原则就是一块硬盘既作为数据的具体记录者,也作为差异分析数据的记录者,这样五块硬盘都有具体数据,也有差异数据,那么不管损坏掉哪一块,都可以由其他四块恢复回来,而且还保证了差异分析每次都只需要分析两份数据的差异即可。

RAID卡除了上述的提高性能(如RAID 0方式)和数据备份、恢复之外,本身在卡上还可以做入大量的Cache,来进一步提高I/O的性能。

下面来讨论一下SCSI卡,对于SCSI卡,只要掌握以下几点就OK了:

1、SCSI卡本身有控制系统和逻辑,可以在不占用CPU资源的情况下,做读写操作(我们的PC,读写数据都要通过CPU下发指令,通过总线来传递数据)。这一点非常重要,可以大幅度提高系统的性能,BTW,SCSI的前两个所写SC就是Small Computer,进一步能说明这一点。

2、SCSI的转速很高,现在在15000转左右,至少也有10000转,所以性能很好

3、如果和RAID卡搭配使用,一般RAID卡上如果有SCSI接口,而且系统主板上也有SCSI接口的话,那么尽量用RAID卡的接口,因为如果接在主板上的话,主板一坏将导致硬盘也无法使用了,所以推荐接在RAID卡上。当然,如果是自己搭一个PC,买一个支持SCSI接口的主板,也不用做RAID,直接买SCSI硬盘来接上,回来自己用,性能会很好的,嘿嘿

4、SCSI硬盘现在有热插拔的和非热插拔的两种,价格差不多。但热插拔其实是针对RAID来说的,在RAID下可以进行热插拔,如果没有RAID,直接在系统上拔下SCSI硬盘,估计系统也就死掉了,呵呵

最后,现在SCSI的RAID卡大概在两三千所有,IDE的RAID只要四五百;对于SCSI硬盘,一般在两千左右一块,如果买二手的9G左右的硬盘,只要一两百块哦,^_^
再补充一点,使用了RAID以后,可以将多块硬盘集中管理,也就是说,无论后台是多少块硬盘组成的阵列,在前台看来(操作系统级别上),都是一个磁盘,可以对其进行分区,然后使用
原文地址:https://www.cnblogs.com/super119/p/2046091.html