以DELL举例,其他品牌应该是类似的了。行业趋势如此吧。
在早期的『以DELL服务器为例』阵列卡上,阵列信息是两份的(出于安全考虑,备份),磁盘上,阵列卡都有。但这会带来一些问题,当所有磁盘与原阵列卡A断开,(比如A坏了)需要连接到另外一块卡B上的时候,但B曾经被使用过,于是B上也有阵列卡信息。假设B以前阵列信息是RAID1,而这些与其链接的磁盘是以阵列RAID5工作。那么,两者连接后,就有矛盾了,开机服务器会提示这个错误,我们需要到阵列卡下手动选择是用卡上信息覆盖硬盘信息还是硬盘覆盖卡的信息。如果用卡覆盖硬盘的,而硬盘数据格式是RAID5的,那显然磁盘数据不能被正确读出,继续使用甚至破坏原磁盘数据。显然我们必须用磁盘RAID信息覆盖卡上的。这样的两份数据导致了容易误操作丢失数据。
而在dell五代阵列卡开始(现在已经是7代了吧)RAID只保存一份。就是在硬盘上。所有做成一个阵列(VD,virtual disk)的磁盘组都含有相同的阵列信息。一个RAID5的VD内的成员磁盘都包含了这个RAID5一样的RAID信息。这些信息在每一个磁盘的最后512MB的空间内。供RAID卡访问,这一区域称为DDF(disk dsta format,这个数据区域设计可是行业标准啊)。
如果卡坏了,换了新卡,他们直接从磁盘上导入RAID级别后,继续工作,一般阵列卡需要手动干预下,把磁盘RAID信息导入阵列卡内。而磁盘话了的话,RAID1,RAID5这些都是容许磁盘出错的,新磁盘来了后,会从其他磁盘复制RAID信息并且运用校验算法(主要指RAID5,RAID1直接全盘数据复制就行了)通过其他磁盘把数据计算出来写入新磁盘内。目前大部分的阵列卡都支持迁移(把一个RAID5卷所有的磁盘转移到另一个服务器上依然能识别)和漫游技术(把某磁盘位置换到主机内的另一个磁盘接口上依然能识别,也就是你说的数序打乱,因为他们有一样的DDF信息)。不同厂家阵列卡之间可能无法进行迁移,因为阵列卡也有控制芯片,同芯片阵列卡一般可以迁移,比如IBm如果是与DELL阵列芯片厂商的产品,那RAID卷甚至能在不同品牌服务器之间迁移!阵列卡芯片厂商如(LSI,adaptec等)而中高端的盘柜,低端直连DAS盘柜不算,他们就不是用卡这么简单了。
RAID卡是进行数据分割运算,校验等等与RAID技术有关的操作,主要任务就是靠一颗芯片完成。而中高端盘柜把一台服务器用来进行这个专门的RAID运算的操作。不做别的,就是RAID相关的功能。肯定比一个芯片强劲,而且盘柜管理的是几十几百甚至上千的磁盘数。所以也用的了这么多的服务器性能。这台服务器上保存的可不仅仅RAID信息了,具体看他实现多少功能,就含多少信息。盘柜各厂家有自己的技术,这样它上面的RAID信息如何保存,存哪里,就差别很大了,不是一个卡那么简单了。