BIOS RAID支持


系统环境

Novell SUSE Linux Enterprise Desktop 10

Novell SUSE Linux Enterprise Server 10 


背景

什么是"BIOS RAID" ? 对于BIOS RAID的支持有哪些?



解决方案

术语

RAID


独立磁盘冗余阵列,是一个存储类术语. 是为了提高性能和可靠性, 将多个磁盘组合起来, 从外面来看是一个存储单元. 比较详细的关于RAID的介绍不在此文档范围之内; 维基百科文章"RAID"提供了比较好的内容.



硬RAID 



硬RAID是在存储控制器中实现的RAID ("RAID卡")

通过特有的硬件和固件. 控制器的BIOS为管理RAID安装提供了接口.  对于系统级的应用而言, RAID看起来只是一个像SCSI硬盘一样的单一的存储设备. 因此, 操作系统可以通过一个标准驱动来将RAID做为存储设备来使用. 如果需要对RAID进行配置和对物理磁盘陈列进行监控, 需要使用专有的驱动程序.



软RAID 



软RAID独立于存储控制器之外由软件, 操作系统驱动程序来实现的. 这个驱动程序负责配置管理 RAID.

Linux平台上, 软RAID是通过md(多设备) 内核驱动和 mdadm 这个管理工具来实现的. Linux 软RAID使用它自己的格式来存储 RAID 配置信息 (称之为"元信息").



BIOS RAID

BIOS RAID (被称之为"准硬RAID") 是软RAID的一种形式. 它的RAID配置管理部分或是全部由存储控制器来完成, 但它不是真正意义上的硬RAID. 为了使BIOS RAID能够正常工作, 在操作系统中需要安装一个驱动程序.



BIOS RAID 经常被戏称为"伪RAID" , 因为它很容易被误以为是硬RAID. 一般在存储控制器中提供这种BIOS RAID功能的厂商很少会告知购买者关于这不是硬RAID, 而且它需要在操作系统中装载一个专用驱动程序才能使其正常工作这些信息. 一个相对比较合理的描述它的术语应该是 "BIOS协助的软RAID".



对比硬, 软和 BIOS RAID



硬RAID 对比 软RAID: 这种比较超出本文档的讨论范围. 



BIOS RAID 对比 硬RAID



  • BIOS RAID 需要专用驱动程序才能工作; 硬RAID 不需要. 使用专有驱动会使恢复数据有时候变的非常复杂, 比如说:系统无 法引导
  • 对于BIOS RAID, CPU用于管理RAID结构. 对于硬RAID, 这些全部由存储控制器来负责, CPU不参与RAID的维护.


BIOS RAID 对比 Linux 软RAID



  • BIOS RAID 局限于连接到提供 BIOS RAID 功能存储控制器的存储设备. 对于Linux 软RAID, RAID可以使用在多种块存储设备上, 包含那些连接到存储控制器上但不支持RAID功能的存储设备, 或是是连接到不同的存储控制器上的存储设备.
  • 对于BIOS RAID, 它需要一个专用驱动以正常工作, 而Linux软RAID可以通过一个标准驱动程序来实现( md).
  • BIOS RAID在存储设备上设置的结构是因厂商不同而不同的. 如果存储控制器失效, 需要使用相同规格的存储控制器才能够访问RAID上的数据. 对于Linux 软RAID, 存储设备上设置的结构是独立于磁盘控制器之外的, 如果由于控制器本身缺陷造成无法管理RAID, 可以使用另外一个控制器来重新获取数据, 而且不需要是同规格的存储控制器.
  • 在BIOS RAID中存储的数据可以很容易在Linux+Windows双系统环境中的Microsoft Windows中访问到.


对于BIOS RAID的支持



Novell SUSE Linux Enterprise Server 10 和 Novell SUSE Linux Enterprise Desktop 10 中带有的"dmraid"包 ("A Device-Mapper Software RAID Support Tool") 是用来浏览, 激活,关闭和查看多个 BIOS RAID 集的属性:



  • Highpoint HPT37X
  • Highpoint HPT45X
  • Intel Software RAID
  • Promise FastTrack
  • Silicon Image Medley

从dmraid包中带有的帮助文件可以看出, 目前这个软件是不成熟的, 需要小心使用