Chinaunix首页 | 论坛 | 博客
  • 博客访问: 296255
  • 博文数量: 120
  • 博客积分: 2015
  • 博客等级: 大尉
  • 技术积分: 1350
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-13 17:27
文章分类

全部博文(120)

文章存档

2010年(11)

2009年(109)

我的朋友

分类:

2009-11-24 11:12:43

解读RAID原理

    正如大家所知,RAID级别有很多种,但理论上较好理解并具有实用价值的主要是RAID 0、RAID 1、RAID 3、RAID 5、RAID 10和RAID 50,而根据RAID卡的功能区别最常支持的为RAID 0、RAID 1、RAID 5、RAID 10,下面就简单的用图片直观的介绍一下这四种使用最广泛的RAID级别。

RAID 0
    把多块(至少2块)连接在一起而组成一个容量更大的设备:逻辑器。处理数据时把数据分块并且同时读写入组成RAID的磁盘,从而大大提高I/O速率。

    优点:可以同时访问多个通道的和磁盘从而提高提高读写性能,设计简单且实现成本较低,由于所有硬盘都存储数据能获得最大磁盘空间。

    缺点:由于所有硬盘都存储数据没有校验信息无冗余性,任一硬盘损坏会全部数据丢失。

RAID 1
    磁盘镜像,至少需要2块硬盘。每一个磁盘都具有一个对应的镜像盘,对任何一个磁盘的数据写入都会被复制到镜像盘中,并且系统可以从一组镜像盘中的任何一个磁盘读取数据。

    优点:读速度提高一倍写速度与单个硬盘相同,完全的数据备份获得100%的冗余性,RAID恢复速度快因为只需一次数据拷贝过程不需要使用校验信息进行计算。

    缺点:由于占总数一半的磁盘用来实现冗余性所以存储数据单位成本最高。

RAID 5
    使用最广的RAID级别,需要至少3块磁盘,将数据和校验信息按顺序写在每块磁盘上,实际能够使用的磁盘空间为n-1(n是RAID 5中物理磁盘数量)。

    优点:冗余性、读写性能和存储数据单位成本综合起来效率最高。

    缺点:RAID恢复时需要通过校验信息运算,所需时间长

RAID 10
    RAID 1和RAID 0的组合,为了便于理解可以认为是先1后0,即先镜像再条带。

    优点:具有与RAID 1同样的高冗余性和很好的读写性能,硬盘损坏对整个RAID的读写性能影响很小。

    缺点:实现代价太高。

RAID控制器解析
    RAID控制器及我们所说的,通常常用的RAID卡为PCI-X (64bit/100MHz, 64bit/133MHz )接口,并且使用时尽量将RAID卡插到上最高速度的接口,为的是能尽量提高作为基础性能一部分的磁盘系统的I/O性能。

    一个RAID卡应有以下三大部分:

    1. RAID控制芯片:专门完成RAID运算的芯片,整个RAID卡的基础,比较常见的有Adaptec,AMI等厂商的。
    2. 缓存:通常为带ECC校验的作为缓存提高读写性能。
    3. 电池:较新的高质量产品使用锂电池为缓存供电。当服务器突然断电时缓存中可能存有数据尚未回写至中,如无电池保持供电,则缓存中的数据会丢失导致断电时的数据完整可能丢失。此标准并不是一定的,有些低端RAID卡可能就没有电池。而且随着芯片组技术的发展,很多的主板上会集成成本较低并且功能相对简单的RAID芯片或在南桥芯片中附带RAID功能,此情况下通常也没有电池模块。

     以DELL PowerEdge系列服务器使用的RAID卡为例,下图为PowerEdge Expandable RAID Controller 3(简称Perc 3)系列RAID卡,其中DC为双通道QC为四通道全长卡。我们可以看到Lite为简版就没有附带电池,DC和QC在缓存上都有电池为缓存供电。

    下图为Perc 3/DC的结构图,散热片下为RAID控制芯片,DIMM Socket为缓存接口。此卡有Channel 0、1内部和外部四个接口,可以使用内部接口在服务器内部搭建RAID,也可以用外接接口扩展外接磁盘柜。虽然它有四个接口,但它只是双通道的RAID卡,实际不论Channel 0还是1内外口是相通的,一次只能连结一个,即接Channel 0内部接口就不能接Channel 0外部接口,反之亦然,否则可能造成该接口上整个RAID出现硬盘掉线等不正常现象。

    有些服务器会使用集成RAID卡,将RAID控制芯片集成在主板上,缓存、电池均连接在主板上。集成RAID卡有一个RAID Key,没有RAID Key无法使用集成RAID卡。

    集成RAID卡的缓存直接插在主板的RAID DIMM接口。

    如果服务器安装了RAID卡,在进入系统前的启动过程会显示RAID卡的信息,由此可以确定RAID卡的类型等信息。

    不管哪个厂家生产的RAID卡,其RAID功能是对系统透明的。例如,一台服务器有两个RAID逻辑器,一个2块73G硬盘组成的RAID 1 73G,一个3块73G硬盘组成的RAID 5 73G,在Windows的磁盘管理中只会显示磁盘0 73G、磁盘1 73G,无法看出是否是RAID逻辑驱动器以及RAID级别。至于Windows的升级基本磁盘为动态卷功能是实用Windows系统功能实现的RAID,其基本RAID原理完全相同,但是由于其完全基于,故性和性能比起以RAID卡为载体的硬件实现由比较大的差距。

    在安装操作系统前必须先配置RAID虚拟磁盘驱动器,并在安装前加载RAID卡驱动否则安装程序后因无法找到硬盘驱动器而无法安装。

实际操作中应注意的问题

    笔者结合自身经验,将实际操作中遇到的常见问题列出,由于型号不同问题可能不尽相同,仅作参考。

    1. 无法正常启动进入系统,可能与RAID有关。若RAID卡有问题或PCI-X插槽有问题可能导致此现象。另需注意的是,随着新型RAID卡越来越多的使用DDR 2介质作为缓存,由于DDR 2颗粒损坏率较高而引起的RAID卡缓存损坏导致RAID卡无法通过自检的情况也是时有发生。

    2. 注意备份数据。虽然冗余是RAID一大特点,但排除操作错误等人为因素而导致的RAID数据丢失也会发生。以最常使用的RAID 5为例,一个逻辑器中两块同时Fail引起数据丢失的情况虽然发生几率很低,但仍有可能。逻辑驱动器中一块硬盘Fail更换新硬盘Rebuild过程中另一块硬盘Fail导致数据丢失也有可能发生。

    3. 注意备份RAID配置信息。在某些情况下,例如突然停电可能造成RAID卡中RAID配置信息丢失。这种情况,数据虽仍保存在逻辑驱动器中,但如无法正确恢复备份RAID配置或恢复备份RAID配置错误,会导致逻辑驱动器中数据丢失。

    4. 某些RAID卡若设置为手动Rebuild,插入新硬盘后状态仍为Fail,需要进行手动Rebuild操作才会正常。

    5. Online操作要注意,有时会是很危险。前提是必须保证需要Online的硬盘和逻辑驱动器的其他硬盘数据完全同步,否则会导致整个逻辑驱动器数据丢失。如果不慎将Hot Spare或不属于该逻辑驱动器的硬盘Force Online ,该硬盘与逻辑驱动器中其他硬盘不同步可能会使RAID卡强制会对该逻辑驱动器初始化,造成数据丢失。

    6. 停机清扫或检查硬盘后开机,发现有硬盘未完全插入硬盘槽就加电的情况下,不应将硬盘强行再插入硬盘槽,因为开机后此硬盘可能与逻辑驱动器中其他硬盘不同步,建议方法是对该硬盘作Rebuild操作防止数据丢失。

    7. 某些RAID卡带有在线改变RAID级别和在线RAID扩容功能,但花费时间很长,途中若发生掉电等情况可能导致数据丢失,故不建议在有重要数据的情况下使用。

    虽然RAID在理论上有完善的冗余性,但实际中仍不能保证100%的,所以为了无价的数据安全,应加强数据备份。

阅读(840) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~