RAID 技术 Linux下组建RAID 5


RAID 技术产生的背景
·普通的IDE硬盘速度不够快,性能不够稳定,不能应用于企业级的关键任务
·高效并且稳定可靠的SCSI硬盘价格昂贵,中小企业征收不起
·RAID (Redundant Array of Inexpensive/Independent Disks),即廉价/独立磁盘冗于阵列(或简称趁盘阵列),他的出现,可以让我们把普通的IDE硬盘组成快速安全可靠的

存储设备。

RAID原理
·RAID是一种把多块独立的硬盘按不同方式组合起来形成一个磁盘组,从而提供比单个硬盘更高的存储性能和提供数据的冗余的技术,不同的组织方式称为RAID级别(RAID level)·数据冗余的功能是在用户数据一旦发生损坏后,利用冗于信息可以使损坏的数据得以恢复,从而保障了用户数据的安全。
·在用户看来,组成的磁盘组就像一个硬盘,对磁盘阵列的操作与单个硬盘一模一样。

RAID 级别
·常用的RAID级别是level0,level 1和level 5
·需要RAID控制器(一种PC适配器)来管理硬盘
·linux内核可以模拟RAID控制器,用来管理硬盘,但只支持级别0,1,4,5,6

RAID 0
特点:RAID 0又称为striping。通过把连续的数据访问分散到多个磁盘上来提供存储性能,这样,数据请求就可以被多个磁盘并行的执行,每个磁盘只负责属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存储性。在所有的级别中,RAID 0的速度是最快的。但没有数据冗余,阵列中任何一个磁盘坏掉,意味着所有数据丢失。
磁盘利用数:n(假设有n个磁盘)。
配置条件:最低两块磁盘,且分区大小尽量相同。
应用领域:对高磁盘容量及高速磁盘存取有特殊需求,而又不计较其高故障率的工作。当然,如果你正在使用集群,RAID 0 无疑是提高磁盘I/O性能的最好方法,因为在这种情况下,你就不用担心冗余的问题了。

RAID 1
特点:RAID 1又称为mirror或者mirroring,他的宗旨是最大限度的保证用户数据的可用性和可修复性。RAID1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。因为有了备份磁盘,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。尽管其写入数据的速度比较慢,但因其数据是以分段的方式作储存,因而在读取时,它几乎和RAID 0有同样的性能。
磁盘利用数:n/2。
配置条件:最低两块磁盘,且分区大小尽量相同。
应用领域:数据库、金融系统等一些对数据有着高可靠性要求的领域。再者就是系统中写数据量比较少,而读数据量又比较多的情况下可以采用这一模式。


RAID 5
特点:RAID 5 不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息交互存放于各个磁盘上,任何一个磁盘损坏,都可以根据其他磁盘上的校验位来重建损坏的数据。并行读写数据,性能也很高。
磁盘利用数:n-1。
配置条件:最低三块硬盘,且分区大小尽量相同。
应用领域:适合于事务处理环境,例如民航售票处、销售系统等。


RAID 0+1
特点:是RAID 0和RAID 1的组合形式,也称为RAID 10。形式为最少需要4块磁盘,组成两个一组,比如1和3,2和4组成RAID 0 那么1和2或者1和3,对应的2和3或者2和4就组成RAID 1即提高可性质也提高安全性。
磁盘利用数:n/2。
配置条件:最低四块磁盘,且分区大小尽量相同。

Linux中的RAID
·使用linux内核实现的RAID控制器
·需要内核的支持
·需要相应的应用软件(mdadm或者早期的raidtools)创建管理RAID设备
·软件RAID设备文件名:
   /dev/mdN (N= 0,1,2...)
·软件RAID设备可以当分区看待,需要格式化后挂载
# mkfs.ext3 /dev/md1
# mount /dev/md1 /mnt/md1

实验环境:vmware 5.5.3,Red Hat Enterprise Linux 4 update 5
系统:/dev/sda
RAID Devices:/dev/sdb   /dev/sdc   /dev/sdd   /dev/sde
设备准备:直接使用硬盘硬件设备,不需要分区。如果要具体使用哪个硬盘的分区做RAID,才需要fdisk特定的分区,并给它指定分区类型:fd。

1.确认raid应用软件已经安装好。
[root@www.bkjia.com]# rpm -q mdadm
mdadm-1.12.0-2

2.创建raid:
mdadm的每个命令都有其简写形式,当然也可以使用shell的正规表达式:
#[root@www.bkjia.com]# mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=1 /dev/sde
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: size set to 8388544K
mdadm: array /dev/md0 started.
等效命令如下:
mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb /dev/sdc /dev/sdd -x1 /dev/sde
mdadm -Cv /dev/md0 -l5 -n3 /dev/sd[bcd] -x1 /dev/sde

3.格式化raid设备:
[root@www.bkjia.com]# mkfs.ext3 /dev/md0

4.挂载raid设备:
[root@www.bkjia.com]# mkdir /mnt/md0
[root@www.bkjia.com]# mount -t ext3 /dev/md0 /mnt/md0/
[root@www.bkjia.com]# df -lh
Filesystem             容量   已用 可用 已用% 挂载点
/dev/sda3              5.8G   2.0G   3.6G   36% /
/dev/sda1               99M   8.8M    85M   10% /boot
none                   147M      0   147M    0% /dev/shm
/dev/md0                16G    77M    15G    1% /mnt/md0

5.查看raid设备状态:
[root@www.bkjia.com]# mdadm -D /dev/md0
/dev/md0:
         Version : 00.90.01
   Creation Time : Sat Feb 23 10:22:34 2008
      Raid Level : raid5
      Array Size : 16777088 (16.00 GiB 17.18 GB)
     Device Size : 8388544 (8.00 GiB 8.59 GB)
    Raid Devices : 3
   Total Devices : 4
Preferred Minor : 0
     Persistence : Superblock is persistent

     Update Time : Sat Feb 23 10:26:26 2008
           State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
   Spare Devices : 1

          Layout : left-symmetric
      Chunk Size : 64K

            UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
          Events : 0.72

     Number    Major    Minor    RaidDevice State
        0        8        16         0       active sync    /dev/sdb
        1        8        32         1       active sync    /dev/sdc
        2        8        48         2       active sync    /dev/sdd

        3        8        64         -       spare    /dev/sde
[root@www.bkjia.com]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd[2] sde[3] sdc[1] sdb[0]
       16777088 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
     
unused devices: <none>
说明:
sdd[2]:此设备在RAID中的次序。
[3/3]:RAID使用3个设备,当前有3个设备正常运行。当某一个设备出错时将会显示[3/2]。
[UUU]:RAID中所有磁盘运转正常。如果出错则显示[_UU],则说明RAID中第一磁盘fail。
[root@www.bkjia.com]# mdadm -E /dev/sdb
/dev/sdb:
           Magic : a92b4efc
         Version : 00.90.00
            UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
   Creation Time : Sat Feb 23 10:22:34 2008
      Raid Level : raid5
    Raid Devices : 3
   Total Devices : 4
Preferred Minor : 0

     Update Time : Sat Feb 23 10:26:26 2008
           State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
   Spare Devices : 1
        Checksum : e5bbfe68 - correct
          Events : 0.72

          Layout : left-symmetric
      Chunk Size : 64K

       Number    Major    Minor    RaidDevice State
this      0        8        16         0       active sync    /dev/sdb

    0      0        8        16         0       active sync    /dev/sdb
    1      1        8        32         1       active sync    /dev/sdc
    2      2        8        48         2       active sync    /dev/sdd
    3      3        8        64         3       spare    /dev/sde

6.mdadm配置文件:
mdadm的缺省配置文件为/etc/mdadm.conf。对于阵列而言不是必须的,主要是为了方便阵列的日常管理。
使用配置文件后,我们每次启动RAID时,就不需要再次输入建立RAID时的一大堆的参数。
mdadm.conf文件中要包含两行:
第一行是以DEVICE开头的行,它指明在阵列中的设备列表。
第二行是以ARRAY开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的UUID号。
生成方法:
[root@www.bkjia.com]# echo 'DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde' > /etc/mdadm.conf   等同echo 'DEVICE /dev/sd[bcde]' > /etc/mdadm.conf
[root@www.bkjia.com]# mdadm -Ds >> /etc/mdadm.conf
一般会有如下格式:
[root@www.bkjia.com]# cat /etc/mdadm.conf
DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=b4ea24cc:fa3b279e:e8fb1bb5:14703dd1

  • 1
  • 2
  • 3
  • 下一页

相关内容