LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 859|回复: 4

请教:bus-based hardware RAID 和 fakeraid 的区别?

[复制链接]
发表于 2006-2-5 17:08:25 | 显示全部楼层 |阅读模式
"Bus-Based or Controller Card Hardware RAID" 和 fakeraid 之间的区别是什么?

"http://www.pcguide.com/ref/hdd/perf/raid/conf/ctrlHardware-c.html"
    *  Bus-Based or Controller Card Hardware RAID: This is the more conventional type of hardware RAID, and the type most commonly used, particularly for lower-end systems. A specialized RAID controller is installed into the PC or server, and the array drives are connected to it. It essentially takes the place of the SCSI host adapter or IDE/ATA controller that would normally be used for interfacing between the system and the hard disks; it interfaces to the drives using SCSI or IDE/ATA, and sends data to the rest of the PC over the system bus (typically PCI). Some motherboards, particularly those intended for server systems, come with some variant of integrated RAID controller. These are built into the motherboard, but function in precisely the same manner as an add-in bus-based card. (This is analogous to the way that the integrated IDE/ATA controllers on all modern motherboards function the same way that add-in IDE/ATA controllers once did on older systems.) The only difference is that integrated controllers can reduce overall cost--at the price of flexibility.
    * Intelligent, External RAID Controller: In this higher-end design, the RAID controller is removed completely from the system to a separate box. Within the box the RAID controller manages the drives in the array, typically using SCSI, and then presents the logical drives of the array over a standard interface (again, typically a variant of SCSI) to the server using the array. The server sees the array or arrays as just one or more very fast hard disks; the RAID is completely hidden from the machine. In essence, one of these units really is an entire computer unto itself, with a dedicated processor that manages the RAID array and acts as a conduit between the server and the array.

这里提到了两种 hardware RAID,在
"http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-raid-approaches.html"
也有类似的说明:
"The hardware-based system manages the RAID subsystem independently from the host and presents to the host only a single disk per RAID array.

An example of a Hardware RAID device would be one that connects to a SCSI controller and presents the RAID arrays as a single SCSI drive. An external RAID system moves all RAID handling "intelligence" into a controller located in the external disk subsystem. The whole subsystem is connected to the host via a normal SCSI controller and appears to the host as a single disk.

RAID controllers also come in the form of cards that act like a SCSI controller to the operating system but handle all of the actual drive communications themselves. In these cases, you plug the drives into the RAID controller just like you would a SCSI controller, but then you add them to the RAID controller's configuration, and the operating system never knows the difference. "


在我的映像中,如果是 hardware RAID,那么操作系统应该是将其视为普通的 SCSI/SATA 设备,并且使用同样的 module driver。

但是,比如我曾经安装过 silicon 3114 的一款 RAID card,可以肯定是 fakeraid,它安装起来比较麻烦,需要在安装系统的过程中在 bash 环境运行其指定的脚本,并且只支持 RHEL4(2.6.9-5),而且在 "http://linuxmafia.com/faq/Hardware/sata.html",
"http://linux.yyz.us/sata/faq-sata-raid.html"
也提到这是 fakeraid。

然而:

  1. # lsmod | grep sii3114
  2. sii3114 128640 3
复制代码

这里有一个模块,其实就是驱动程序了。但从前面内容的字面来看,一些 hardware RAID card 也需要一些模块,比如:aacraid.o(Adaptec AACRAID), gdth.o(ICP RAID Controller), ips.o(IBM ServeRAID)("http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ref-guide/s1-modules-scsi.html"), megaraid.o(AMI MegaRAID 418, 428, 438, 466, 762),在我看来这些大概只能被看作 bus-base hardware RAID。

问题是,为什么一块 RAID 卡使用 sii3114 模块就被认为是 fakeraid,而使用 accraid/gdth/ips/megaraid 模块的卡就被认为是 real hardware RAID 呢?它们不都是需要驱动模块支持吗?这些模块之间有什么区别呢?

谢谢。
发表于 2006-2-6 01:35:17 | 显示全部楼层
sii3114这些,真正的运算都是用主机CPU的。

acard/megaraid等,则是用卡上专门的CPU运算。

这就是区别。后者价格也贵很多!:)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-6 09:08:29 | 显示全部楼层
谢谢楼上兄弟的回复。不过我想知道在实际操作上我应该怎样区分呢?比如我现在要测试一台服务器:MSI MS-9252,使用 Intel ICH-HR 南桥芯片来做 SATA RAID 支持,那我怎么知道它是哪一种芯片呢?有什么办法可以通过测试看出来呢?

谢谢
回复 支持 反对

使用道具 举报

发表于 2006-2-6 09:48:04 | 显示全部楼层
连续大量拷贝数据(比如 50G )的时候,看看CPU占用率就能感觉到了。

一般来说,主板的都是 软raid。 nvraid 属于 软raid。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-6 10:04:15 | 显示全部楼层
从感觉上来说,我也认为这是一个 fakeraid,至少它是只有一个南桥芯片来支持,好像没有别的东西。不过我无法完全确定。

现在我是不是可以这样理解,sii3114.o 这样的驱动模块是用来给 CPU 调用以控制 RAID 的各个方面,而 acard.o/megaraid.o 则仅仅是提供给系统调用来与 hardware RAID card 上专门的 processor、cache 等进行通信以获得结果数据?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表