RAID卡有自己的CPU,Cache Memory,通过集成或借用主板上的 SCSI 控制器来管理硬盘,可以称之为一个智能化的设备。
   
RAID卡的分类一般根据集成的SCSI 控制器来划分。如果没有集成SCSI控制器,而是借用主板上的 SCSI控制器来管理硬盘,则为零通道RAID卡。根据RAID卡集成的SCSI控制器的通道数量,可以分为单通道、双通道、三通道RAID卡。还可以按照 SCSI 控制器的标准来划分RAID卡的种类,如Ultra Wide 、 Ultra2 Wide 、 Ultra160
Wide 。
   
RAID 处理器是一个PCI从设备,接受并执行来自系统的命令。同时占用PCI中断,代表 SCSI 磁盘子系统向系统提出中断请求,请求占用PCI总线,返回对系统命令的响应,如输送SCSI硬盘上的数据。
  作为 RAID卡的CPU,通过执行闪存中的Firmware ,控制 SCSI 控制器、Cache Memory 以及指示报警电路,来实现 RAID 卡的功能,运作流程如下:
( 1 )初始化 RAID 卡寄存器
( 2 )读取 NVRAM 的上次 RAID 参数,与硬盘实际信息进行比较,显示结果
( 3 )发送配置提示、响应 HOST 命令进入配置界面
( 4 )提供配置菜单、将用户提供的RAID卡参数、RAID 参数存入 NVRAM
( 5 )根据 RAID 参数,通过 SCSI 控制器对硬盘进行初始化写操作
( 6 )完成配置
( 7 )等待 Host 发出读写操作命令
   RAID 卡提高磁盘读写性能的另一手段是:磁盘 CACHE 。
   对于磁盘 I/O 来说,如果没有 CACHE ,就直接从硬盘读写;如果有 CACHE ,则首先从 CACHE 读写。
   CACHE 具有两大功能:
-- 预读
   CACHE 预读提高了计算机系统中的硬盘读的功能,尤其是在读取含有大量文件碎片的文件时。具有良好预读功能的 RAID 卡能在看起来很随机的读访问中,识别出读取磁盘的规律,通过这个规律提前将系统要读取的数据放在 CACHE 中。
预读的两种方式:
Read Ahead
  由于硬盘数据经常是以一族连续的硬盘扇区组织起来的,所以有时侯如把系统所请求的扇区随后的一个扇区里的数据同时读进来是有价值的。对于数据文件的读取有利,特别是系统CPU的性能低时。
Pre-Fetch
   当RAID卡发现系统要读的是先前已经读过的数据时,在这一次,便将这一个数据块的数据写到 CACHE里。对于程序文件的读取有利 。
-- 回写
   回写是通过暂时将数据存在 CACHE
里,从而推迟将数据写到慢设备(如硬盘、磁带机)的一种工作方式。数据将在随后的时间,硬盘闲置的时候写到硬盘中。写的时候也是统一将CACHE内的尚未写出的数据按照数据块的在硬盘中的 BLOCK 序号写入,这样可以提高写的效率。
回写需要加电池给CACHE 供电,以免数据在写到硬盘之前系统断电导致硬盘数据丢失。
  增加 CACHE 大小对于预读来说,为系统提供了更多的来自 CACHE 的可供读取的记录。 对于回写来说,允许控制卡保存更多的记录留待后期写磁盘。特别是对于电梯式回写,使得连续的回写段之间有更近的间隔,降低硬盘写操作的平均访时间并提高了吞吐率。
写策略
? -- 回写( Write Back )
? -- 通写( Write Through )
   通写模式下,所有数据在以命令完成状态返回到计算机之前,直接写到硬盘。两种写策略比较来说,写策略由通写改为回写时,可大幅度提高 RAID 性能。但回写具有一定的数据危险性。在突然断电的情况下,会丢失存于Cache 尚未写入硬盘的数据。
   RAID卡工作在写策略为 THROUGH 时,缓存大小对 RAID 卡的性能影响很小,只有当写策略改为 BACK时,缓存的作用才会发挥出来。
   影响 RAID卡性能的因素很多,其中可调因素主要有RAID 卡缓存( CACHE )大小、写策略( WRITE POLICY
)、读策略( READ POLICY )、条带的大小( STRIPE SIZE )。不同的RAID卡虽然说法略有不同,但意思是一样的。很多设置可以在RAID卡的配置工具中调整。
Adaptec3200s RAID 卡
5.1 Adaptec3200s RAID 卡简介
  Adaptec3200s卡是Adaptec所推出的一款Ultra160双通道RAID卡。
1 、功能特点
1 )支持两个 Ultra160 SCSI LVD 通道,每个通道支持15个Ultra160 SCSI 设备
2 ) 100MHz RISC Intel I960 RN RAID 处理器
3 ) Cache Memory : 32~128 ECC SDRAM
4 )支持 RAID0 、 1 、 10 、 5 、 50
5 ) RAID 阵列采用后台初始化 , 即:可以一边运行操作系统和应用程序 , 一边进行初始化
6 ) 64 位 PCI 接口
7 ) Battery backup module , 采用电池备份回写数据
8 )支持 SAF-TE 功能,
9 )在线的逻辑盘容量扩展
10 ) 支持 Hotspare 功能。
11 ) 可以在操作系统下运行 Storage Manager 来管理 RAID 阵列
5.2 RAID 卡配置方法
   开机前,首先检查 RAID 卡对 PCI 的接插、同热插拔模组的 SCSI 线连接是否良好。开机后,根据屏幕提示按 +A 键,在系统 BIOS POST 完之后,屏幕会出现兰色的配置窗口界面。
配置步骤:
1 )窗口的上方工具条上出现 File 、 RAID 、 Action 、 Help 菜单项。
2 )屏幕的左边一栏是 Configuration ,右边是 Information 栏。
3 )光标条落在左边栏的 -BUS0 上,回车以后出现通道0 上所接的物理磁盘列表。落在 -BUS1 上,回车以后出现的是通道 1 上的物理磁盘。
4 )按 +R ,上面的工具条 RAID 菜单项便下拉出子菜单,光标落在 Create… 上回车,出现 RAID
type 的选择: RAID-0 、 RAID-1 、 RAID-5 。按 TAB 键使光标条落在所要配置的 RAID 级别上,空格选中该项。
5 )随后 TAB 键选择 Suggested Stripe Size 为 32KB~256KB ,建议设为 64KB 。
6 ) TAB 点亮 OK 进行回车,出现了:
7 )( 0 , 0 , 0 , 0 ) ? 硬盘型号 1
8 )( 0 , 0 , 1 , 0 ) ? 硬盘型号 2
9 ) 。。。
10 )( 0 , 1 , x , 0 ) ? 硬盘型号 x
11 ) 按空格键点中所要配置的硬盘,用 TAB 键将光标落到 Done 上回车,此时左边栏中出现了 RAID-0 或 RAID-1 或
RAID-5 的菜单条,光标落在上面后,回车即出现所配置成的逻辑阵列中的若干硬盘。右边的 Information 一栏中的 Status
:项后面出现了 Not Set into Hardware 。
12 )按 TAB 键使光标条落在左边一栏的 Configuration 上,用 TAB 键进入右边一栏中 EBDA Relocation 项上,按空格键将该项划上勾号;同时进入 Enable Boot CDROM 一项上,按空格键将该项划上勾号。
13 )按 +F 进入 File 子菜单中,选择 Set System Config 回车,系统出现
“Configuration Changes” 的提示,选择 OK 回车,右边 Information 一栏中的 Status :后出现
“Building” 的字样,表示 RAID 阵列已经开始初始化。下面的 “Progress : ” 后显示初始化的进度。
14 )按  +F 出现上面的 File 的下拉菜单,选择 Exit 退出配置界面。系统重新启动。
15 )如果是做 RAID10 ,首先分别将要做 RAID1 的 1,…,N 组硬盘进行 RAID1 配置,配置完成后便有 N
个逻辑盘,配置方法如上所述。随后,将光标条移到 RAID 卡 “3200S” 的菜单项上,按 +R 选择
Configure… 回车,出现 RAID type 的窗口,此时 RAID-1 和 RAID-5 皆已隐去。选择 RAID-0 , OK
回车,右边一栏就出现:
16 )( 0 , 0 , 0 , 0 ) DPT ? ?RAID-1
17 )( 0 , 0 , 1 , 0 ) DPT ? ?RAID-1
18 ) …
19 )( 0 , x , x , 0 ) DPT ? ?RAID-1
20 )的选择项,按空格键选择将要配置成 RAID0 的逻辑盘,选择 Done 。此时左边一栏出现( 0 , 0 , 0 , 0 ) FW
RAID0 的菜单项。按 +F 进入 File 子菜单中,选择 Set System Config 回车,便配置完成。
21 ) 配置 RAID50 的步骤同 10 ),只是首先配置的 N 个逻辑盘为 RAID5 阵列。
22 )当有 4 块或 4 块以上的硬盘做 RAID5 时,可以将其中的一块硬盘设置为 Hotspare 硬盘,设置的方法是:
A 、首先将不做 Spare 的硬盘按照上述的配置步骤配置为 RAID5
B 、然后在左边一栏,使光标条落到剩下的那一块硬盘上,按 +A 激活上面的 Action 菜单,选择其中的 Make Hotspare 回车。
C 、按 +F ,选择 Set System Config 回车,配置完成。
5.3 RAID 阵列的管理
在 Adaptec3200S RAID 卡中,物理磁盘的状态有下表所示的 5 种。
? ? 物理磁盘状态 ? ? ? ? ? ? ? ? ? ? 解释说明
? ? ? Optimal 磁盘正常工作
? ? ? Failed 磁盘有故障
? ? ? Missing 磁盘被拔去
? ? ? Spare 磁盘作热交换备用盘
? Rebuild initiated 磁盘正在做数据恢复
在 Storage Manager 中,通过在物理磁盘的图形对象上,插上不同颜色的旗帜来表示这几种状态:
Optimal ?: ? 没有旗帜
Failed : ? ? 红色的旗帜
Missing : ? ? 黑色的旗帜
Spare: ? ? ? 没有旗帜,上面带 “+” 字
Rebuild initiated: ? ? 白色的旗帜
在 Adaptec3200S RAID 卡中,对物理磁盘的操作有下表所示的 5 种。
对物理磁盘的操作 物理磁盘状态
(前提条件) ? ? ? ? ? 解释说明
? format ?Optimal 对磁盘进行低级格式化
? Fail drive ?Optimal 将磁盘变为 Failed 状态
? Make Optimal ?Failed 将一个原先有故障的硬盘变为可用状态
? Make Hot Spare ?Optimal 将一个可用的磁盘标志为 Spare 状态,作热交换备用盘使用
Remove Hot Spare ?Spare 将一个 SPARE 磁盘改变状态,不作热交换备用盘使用
在 Adaptec3200S RAID 卡中,对于一个已经配置完成的逻辑阵列,有以下 5 种状态:
逻辑磁盘状态 ? ? ? ? ? ? ? ? 解释说明
? ? Building 该 RAID 阵列正在进行后台初始化,此时不可有硬盘发生故障
? ? Optimal 该 RAID 阵列已经初始化完成,此时该阵列允许一个 硬盘发生故障
? ? Degraded 该 RAID 阵列有一个硬盘 Fail, 但是还可以数据恢复 ;
或者是 Build 过程被中断,还可以继续 Build
Reconstructing ? ? ? ? ? 该 RAID 阵列正在进行数据恢复
? ? ? Dead ? ? ? 该 RAID 阵列已经损坏,数据无法得到恢复
在 Storage Manager 中,用逻辑盘的图形对象上的不同颜色的旗帜来表示这几种状态:
Building 或 Reconstructing ?: ? 兰色的旗帜
Degraded : ? ? ? ? ? ? ? ? ? ? ×××的旗帜
Dead : ? ? ? ? ? ? ? ? ? ? ? ? 红色的旗帜
Optimal: ? ? ? ? ? ? ? ? ? ? ? 没有旗帜
对逻辑磁盘的操作主要有以下 3 种:
对逻辑磁盘的操作逻辑磁盘状态 ? ? ? 解释说明
? ? ? Build ?Degraded 将一个 RAID 阵列进行数据恢复
? ?
? Stop Bld ? Building 或
? Rebuilding 使一个正在初始化或 Rebuilding 的逻辑阵列停止初始化或数据恢复
? ? NameOptima 、 Building
或 Rebuilding ? 对一个逻辑盘进行命名
? Delete RAIDOptimal 、 Building 或 Rebuilding 将一个逻辑阵列删除
   RAID 阵列的管理最常见的是在 RAID5 的阵列中,监测在 RAID 中是否有硬盘故障,如果有,用 Spare 硬盘来替换发生故障的硬盘,重建( Rebuilding ) RAID 。在运行管理软件


后,以上过程都是自动完成的,而且时间较短,管理员只需要检查阵列中哪一个硬盘发生了故障,将其替换掉,这是 Adaptec3200S RAID
卡的一个优点。但是如果没有使用热交换( Hot spare ),那么就需要管理员来检查是哪一个硬盘故障,并且手工将其替换掉,随后计算机可以通过
Bus scan 检测到并开始 Rebuild ,但是,如果在管理员发现之前又有一块硬盘发生了故障,那么 RAID
无法进行重建,系统将会崩溃。所以推荐采用热交换( Hot spare )方式,可以使系统得到最为安全可靠的保护。
操作系统下安装的 RAID 管理工具。这种方式的优点就是系统管理员可以在系统运行过程中,监视 RAID 阵列的状态,并可以对 RAID 阵列中的磁盘或者整个逻辑阵列进行操作。
   对于 Adaptec3200S RAID 来说,在 WinNT 、 Win2000 和 Linux Redhat 中,有方便的 RAID
管理工具,点击 “ 程序 ” 下的 Storage Manager 下的 Storage Manager ,会出现 RAID 管理软件的窗口。
   点击窗口中的“ Switch View” 按钮,就可以在物理上的 SCSI 设备和逻辑上的 SCSI 设备两种视图之间切换。
   当磁盘阵列中某个磁盘发生故障了,点击“ Switch View”
后,逻辑设备视图中,代表该磁盘的图形对象中会出现一个红色的旗帜,而此时逻辑盘的图形对象上会出现一个×××的旗帜,表示该逻辑盘处于
Degraded 状态。系统管理员看到这种情况,就知道应该把它替换掉,原先作为 Spare 硬盘的图形对象就归入到 RAID
阵列中,逻辑盘的图形对象上面便插上了一个兰色的旗帜,点击它回车便可以看到它的状态为 Reconstructing,
同时可以看到其进度。此时,原来 Fail 的磁盘位置更换了一个磁盘后,需要点击其图形对象,执行 Make Optimal 操作,把
Failed 标志清除,随即该磁盘也自动变为 Spare 状态。
   如果配置的 RAID 阵列中不含 Spare 硬盘,那么系统管理员就需要手工替换上一个硬盘后,双击代表该磁盘的图形对象,在 Make Optimal 之后,可以点击 Build 按钮,完成手工 Reconstructing