首页 > 代码库 > RAID

RAID

硬盘镜像技术

旧式RAID:使用IDE

新式RAID:使用SATA、SCSI

 RAID种类

RAID0:条带

   性能表现:读、写 提升至N倍

   冗余能力:无

   空间利用率:N

   磁盘数量:至少2块

RAID1:镜像

    性能表现:写性能下降(需同步),读性能提升(可以交替读) 

    冗余能力:有 

    空间利用率:1/2

   磁盘数量:至少2块 

RAID 0+1:先用条带技术,再对各自数据进行镜像

   性能表现:读、写提升

   冗余能力:有(硬盘坏时修复:牵一发而动全。)

   空间利用率:1/2

   磁盘数量:至少4块

RAID 1+0 :先对各自数据进行镜像,再用条带技术。

   性能表现:读、写提升

   冗余能力:有,(硬盘坏时修复:较RAID1+0更容易,更快)

   空间利用率:1/2

   磁盘数量:至少4块

RAID4:采用校验码技术,单独1磁盘存放校验码。

   性能表现:小于n-1倍,因为检验码盘速度慢,会成为速率瓶颈。

   冗余能力:有,不能坏2块

   空间利用率:(n-1)/n

   磁盘数量:至少3块

RAID5:采用校验码技术,所有盘轮流存放校验码。

   性能表现:略小于n-1倍,轮流存放校验码技术,减少瓶颈。

   冗余能力:有,不能坏2块

   空间利用率:(n-1)/n

   磁盘数量:至少3块

RAID 5+0:先RAID5,然后再镜像

   性能表现:读、写提升

   冗余能力:有

   空间利用率:(n-2)/n

   磁盘数量:至少6块

 

JBOD技术:将多个盘组合成1个盘使用,利用HDFS文件系统,可实现在文件系统级别找回丢失文件。

    性能表现:无提升

    冗余能力:无

    空间利用率:100%

    磁盘数量:至少2块

    使用案例:Hadoop

 RAID实现方式

硬件RAID

1.方式 1:

        RAID磁盘阵列卡

        存储箱:N块硬盘

        连接线:连接存储箱于RAID控制器

2.方式2:

       RAID控制器:可控制硬盘上的插槽

       硬盘插槽:

       连接线:连接硬盘与插槽。

RAID实现步骤:

1)通过BIOS界面配置RAID:配置启用RAID控制器,配置相关盘配置成RAID

 2)安装操作系统,如果系统不识别RAID,需在安装系统前安装RAID磁盘驱动;

在OS看来,RAID设备文件名为/dev/sda、/dev/sdb这样的格式。

软件RAID

OS中,直接操作硬件的只有内核

RAID前提:内核安装md(多磁盘)模块,通过md模板,将多个物理设备组合成RAID

实现原理:

    1.内核模拟一个RAID,设备文件:/dev/md0、/dev/md1。。。

    2.CPU将存储数据给/dev/md,md管理模板根据RAID方式存储具体的磁盘设备/dev/sda、/dev/sdb等

性能:取决于CPU能力,较差。

OS一挂,RAID数据无法找回,解决方法:将raid分区系统表示设备为fd(253),这样在存储数据到RAID时,会多写入元数据,

若OS一挂,充值系统时,只要内核安装了md模块,会自动扫面RAID的组成磁盘,这样数据就能重新使用。

mdadm:md管理器,用户空间工具,将任何块设备做成RAID

mdadm [mode]  <raiddevice> [option] <component-devices>

   创建模式 、

         -C

              选项:

                   -l:级别

        -n Num  设备个数

     -x Num  指定空闲个数

     -a {yes|no}  是否自动为其创建设备文件

     -c:指定数据块大小

   管理模式:

      -f

      -r

   监控模式:

       -F

   增长模式:扩展RAID

   装配模式:系统坏了,重装RAID到其他系统

   

 

RAID