今天偶然的机会,客户打电话说有一台DELL T110的服务器换了主板电池RAID信息没了进不去系统了,问我怎么处理,T110的RAID是主板集成的S100的RAID卡(算是软RAID,通过BIOS配置RAID,所有计算都是由主板CPU提供),我的第一想法是从新配置RAID,但是想到配置的过程需要初始化磁盘,意味着所有数据会丢失,方法不可行,导入RAID信息也不行,因为这个RAID卡比较低级不支持,这时候客户说我拿两块新盘放到机器上从新配置下RAID(级别不变),配置完成后再放回以前的硬盘看是否好用,我当时说试试吧,因为我也没有这样操作过,结果客户这样操作后居然成功了,这时候我在想这样操作成功了说明RAID信息是放在主板的CMOS里的,如果不是也不会换下主板电池RAID信息会没了,这就勾起了我想知道RAID信息放在那里。于是我上网搜索了很长时间,但是关于这方面的信息太少了,也不权威,有一篇关于这方面的文章,感觉写的还算合理,内容如下:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
以DELL举例,其他品牌应该是类似的了。行业趋势如此吧。
在早期的『以DELL服务器为例』阵列卡上,阵列信息是两份的(出于安全考虑,备份),磁盘上,阵列卡都有。但这会带来一些问题,当所有磁盘与原阵列卡断开,(比如卡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信息如何保存,存哪里,就差别很大了,不是一个卡那么简单了。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
我个人觉得RAID卡的信息放在那里主要看用的是什么RAID卡,不同的RAID卡信息存储的位置也不同,这个还需要后续更权威的确认。