美文网首页
RAID技术

RAID技术

作者: JevonWei | 来源:发表于2017-06-18 17:34 被阅读0次

    一、RAID的概念

    RAID又称之为廉价的冗余磁盘阵列,早七磁盘阵列就是由很多价格较便宜的[磁盘]组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。后来经过发展,RAID加入了同位校验等功能,可以在某块磁盘损坏时数据不会丢失失效等特性。
    RAID根据技术的不同,又可分为软RAID和硬RAID,软RAID就是根据系统软件工具将多块磁盘根据一定的技术实现的,但是会消耗大量的服务器CPU等资源。当然还有一种是硬RAID,根据硬件RAID卡将多块磁盘自动重组为RAID的技术,这一过程不需消耗系统本身的资源,不占用CPU,但是RAID卡的成本偏高,主要应用于中高端服务器设备上。今天我们只了解软件RAID的实现,硬件RAID需要使用RAID设备来实现,暂时我们不予讨论。
    RAID就是将多块磁盘组合在一块,在数据存储时,将数据存储在不同的磁盘上,实现多块磁盘同时读写,增加了磁盘的读写速度,因为数据校验位的存在,也有了一定的冗余性和安全性。
    RAID的级别分为:RAID0,RAID1,RAID4,RAID5,RAID6,RAID10,RAID50,及RAID2.0+等。

    • RAID0:
      RAID0由两块及以上的磁盘组成,也是早出现的一种级别,确实增加了磁盘的读写速度,数据写入和读取时多块磁盘同时工作,提高了磁盘的性能,但是因为没有容错检验功能,当一块磁盘损坏时整块RAID将停止工作。
      RAID0 卷为逻辑状态,最小单元 chunk size =512k,磁盘的默认最小存储单元(block
      size=4k),即实现卷的数据存放,1 个 chunk size 占用 128 个 block size ,即磁盘是以 128block
      为单元存放,a 盘和 b 盘各写一个 block size 单元,依次轮换,为条带功能。即 A 盘和 b 盘
      依次轮流读写 chunk size,即为 RAID0 的条带作用,条带数量越多,读写速度越快
      优点时磁盘利用率可达百分百,且具有条带功能,缺点就是没有冗余检验功能。
      RAID1:
      RAID1又称之为磁盘镜像,由两块磁盘构成,两块磁盘互为镜像,一份数据同时写入两块磁盘上,即一块磁盘为另一块的备份。
      优点是安全性高,有校验功能,缺点是磁盘利用率只有百分之五十
      RAID4:
      RAID4由三块及以上的磁盘构成,其中有一块固定的磁盘用作存放奇偶校验法的数据校验位,其余的磁盘用来存放数据,当一块磁盘损坏时不影响RAID的使用,并且当新的磁盘加入时数据会自动回复而不会丢失,利用率为(N-1)/N。
      RAID5:
      RAID5为分布式奇偶校验的磁盘阵列,奇偶校验位不是存放在一块固定的磁盘上,而是分别存放在不同的磁盘上,这样的优点是减少了奇偶校验位磁盘的多次读写造成的损坏率高,也是由三块以上的磁盘构成,比RAID4的优点在于减少了校验盘的压力,利用率也为(N-1)/N。
      RAID6:
      RAID6为带有两种校验位的奇偶校验分布磁盘,由四块及以上的磁盘构成,使用两种不同的算法对数据进行计算,并存放在不同的磁盘上,可最大承受两块磁盘的损坏,利用率为(N-2)/N。
      RAID10:
      RAID10 (RAID0 和 RHID1 的组合),由四块以上磁盘构成
      RAID10 由两种做法:
      ①RAID(1+0),先做 raid1,在做 raid0 ,即由物理的四块磁盘与两个逻辑 2 级磁盘做raid1,一个 2 级逻辑磁盘分别对应一个数据物理盘和一个数据备份盘,然后再由两个 2 级逻级磁盘与 1 级逻辑磁盘运用 raid0 的条带技术进行读写
      ② RAID10 是把四块磁盘即做 RAID0 又做 RAID1
      RAID60:
      RAID60由六块以上磁盘构成,利用RAID6和RAID0两种技术实现,利用率也为百分之五十,安全容错性最高。
      此外,还有 RAID5+1 RAID10+1 RAID1+1 +1 为增加了一块热备盘,随后为损坏的磁盘做替补

    二、RAID的实现

    mdadm为创建软raid的工具
    Raid 的设备为/dev/md0 0 代表第一块 raid 设备
    Raid 的磁盘类型为 linux raid

    • mdadm

       参数:
          -C 创建一个新的阵列
          -l RAID 的类型 eg -l 1,-l 10, -l 5
          -n 磁盘数目
          -A 加入一个以前定义的阵列
          -f 强制是某个磁盘丢失
          -r 正常移除某块磁盘
          -X 增加一块热备盘
          -D 打印 md 设备文件
          -s 扫描配置文件和丢失的文件信息
          -S 停止删除 md0(raid)
      
    • watch 实时跟踪查看信息

       -n 间隔刷新时间 eg .5 间隔为 0.5 秒
      
    • mdadmRAID创建相关命令:

    mdadm -c /dev/md0 -l 10 -n 4 -X 1 /dev/sd{a,b,c,d,e} 创建 raid10 设备,sde 为一块热备盘,四块磁盘构成 raid10
    Mdadm -f /dev/md0 /dev/sdb 使 md0 设备的/dev/sdb 磁盘强制损坏
    Mdadm -r /dev/md0 /dev/sdb 使 md0 设备的/dev/sdb 磁盘正常移除
    Mdadm -a /dev/md0 /dev/sdf 使 md0 设备新增加一块磁盘/dev/sdf

    • Mdadm -D -S > /etc/mdadm.conf 生成 mdadm.conf 文件
    • /etc/mdadm.conf 为 RAID 的开机启动配置文件
    创建RAID10

    现有/dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5 /dev/sdb6 五个磁盘分区,没有格式化,因为资源有限,使用分区代替磁盘使用,一个分区等同于一个磁盘,即五个分区等同于五块磁盘,每一块分区大小为10G。

    mdadm -c /dev/md0 -a yes -l 10 -n 4 -X 1 /dev/sdb{1,2,3,5,6}    -n指定四块盘,-l指定RAID类型为10,-C为创建/dev/md0设备 -X为指定一块做热备盘
    mkfs.ext4 /dev/md0   RAID10设备md0格式化为ext4
    vim /etc/fstab    将md0设备挂载信息写入fstab文件
        /dev/md0         /app/md0         ext4  defaults 0 0
    mount -a   挂载md0设备   
    

    mdadm -D -s > /etc/mdadm.conf 生成/etc/mdadm.conf配置文件

    vim /etc/mdadm.conf 编辑

     MAILADDER root@localhost(邮件接受者) 
    

    当磁盘发生故障时,邮件通知本地的 root 用户在文件的每一个 RAID 后面编辑

    Auto=yes space-group=danran(口令) 
    

    每个 raid 的口令必须一致,热备盘才可替换任何一个发生故障的磁盘
    将邮件地址写入 /etc/mdadm.conf 后,重启 mdmonitor.server 服务,配置文件生效, /etc/mdadm.conf必须写入 mailadder 邮件接收者,此服务才能正常启动
    /etc/mdadm.conf 为 RAID 的开机启动配置文件,用来自启动 RAID

    相关文章

      网友评论

          本文标题:RAID技术

          本文链接:https://www.haomeiwen.com/subject/zfniqxtx.html