Linux基础知识之RAID

1、什么是RAID?
    多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。
2、RAID的优点?
    提高IO 能力:
        磁盘并行读写
    提高耐用性:
        磁盘冗余来实现
3、RAID 实现的方式:
    外接式磁盘阵列:通过扩展卡提供适配能力
    内接式RAID :主板集成RAID 控制器
        安装OS 前在BIOS 里配置
    Software RAID:软件实现的RAID
4、RAID级别:多块磁盘组织在一起的工作方式有所不同
    0:条带
        性能提升:读和写
        冗余能力(容错能力):无
        空间利用率:nS
        至少需要2块硬盘
    1:镜像
        性能提升:写性能下降,读性能提升
        冗余能力:有
        空间利用率:1/2
        至少需要2块硬盘
    2-4:现在不做使用
    5:
        性能提升:读 写
        冗余能力:有
        空间利用率:(n-1)/n
        至少需要3块硬盘
    6:
        性能提升:读 写
        冗余能力:有,最多支持两块硬盘同时损坏
        空间利用率:(n-2)/n
        至少需要4块磁盘
    7:
        可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID

组合RAID
    10:
        性能提升:读 写
        冗余能力:有
        空间利用率:1/2
        至少需要4块硬盘
    01:
        性能提升:读 写
        冗余能力:有
        空间利用率:1/2
        至少需要4块硬盘
    50:
        性能提升:读 写
        冗余能力:有
        空间利用率:(n-2)/n
        至少需要6块硬盘
    jbod:
        性能提升:无提升
        冗余能力:无
        空间利用率:100%
        至少需要2块硬盘
    常用级别:RAID-0, RAID-1, RAID-5, RAID-10,RAID-50, JBOD
5、利用软件实现RAID
    mdadm:模式化的工具  
    支持的RAID 级别:LINEAR, RAID0, RAID1, RAID4,RAID5, RAID6, RAID10
    语法:mdadm [mode] <raiddevice> [options] <component-devices>
    模式化的命令:
        创建模式
        -C 设备
        专用选项
            -n #: 使用#个块设备来创建此RAID;
            -l #:指明要创建的RAID的级别;
            -a {yes|no}:自动创建目标RAID设备的设备文件;
            -c CHUNK_SIZE: 指明块大小;
            -x #: 指明空闲盘的个数;
        管理模式
            –add(-a)    eg:mdadm /dev/md# -a /dev/sda9      将磁盘sda9添加的md#阵列中,新添加硬盘要与原先的硬盘的储存空间相同
            –remove(-r) eg:madam /dev/md# -r /dev/sda8      移除md#下的sda8磁盘
            –fail(-f)   eg:mdadm /dev/md# –fail /dev/sda7       模拟损坏的md#下的sda7磁盘
        监控模式
            -F
            -D  /dev/md1  显示/dev/md1 的所有的磁盘信息
        增长模式
            -G
        装配模式
            -A  mdadm -A /dev/md# /dev/sda7 /dev/sda9 将sda7和sda9装配到md#下
        停止阵列:
            mdadm -S /dev/md#  停止/dev/md#的磁盘阵列
        观察md的状态:
            cat /proc/mdstat
6.软RAID配置实例
    使用mdadm创建并定义RAID设备
        #mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
    用文件系统对每个RAID 设备进行格式化
        #mke2fs -j /dev/md0
    测试RAID 设备
        mdadm 允许检查RAID 设备的状况
        #mdadm –detail|D /dev/md0
    增加新的成员
        #mdadm –G /dev/md0 –n4 -a /dev/sdf1
7.软RAID测试和修复
    模拟磁盘故障
        #mdadm /dev/md0 -f /dev/sda1
    移除磁盘
        #mdadm /dev/md0 –r /dev/sda1
    从软件RAID磁盘修复磁盘故障,替换出故障的磁盘然后开机
    在备用驱动器上重建分区
        #mdadm /dev/md0 -a /dev/sda1
        mdadm  /proc/mdstat 及系统日志信息
8、软RAID管理
    生成配置文件:mdadm –D –s >> /etc/mdadm.conf
    停服务:mdadm –S /dev/md0
    激活:mdadm –A –s /dev/md0  激活
    删除raid信息:mdadm –zero-superblock /dev/sdb1
9、RAID实战演练
    (1)创建2G RAID0
    2G  2个1G的 分区
    mdadm -C /dev/md0   创建一个设备
    fdisk /dev/sda     查看一下/dev/sda
    n +1G n +1G 创建两个为sda5 sda6的分区
    t 5 fd  t 6 fd 将这两个分区的格式更改为Linux Raid auto
    w 保存退出
    partprobe /dev/sda 重新读取一下硬盘分区
    cat /proc/partitions 查看所有的Raid
    mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda5 /dev/sda6   创建/dev/md0 自动为其创建文件,创建的级别为0 设备个数为2
    cat /proc/mdstat   查看所有的Raid
    mke2fs -j /dev/md0      格式化md0,不能格式化sda5 sda6
    mount /dev/md0 /mnt 将md0挂载到/mnt
    (2)创建2G RAID1
    因为磁盘的利用率为1/2,要想创建一个2G的RAID1需要创建两个2G的分区
    mdadm -C /dev/md1   创建一个设备
    fdisk /dev/sda     查看一下/dev/sda
    n +2G n +2G 创建两个为sda7 sda8的分区
    t 7 fd  t 8 fd 将这两个分区的格式更改为Linux Raid auto
    w 保存退出
    partprobe /dev/sda 重新读取一下硬盘分区
    cat /proc/partitions 查看所有的Raid
    mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sda7 /dev/sda8   创建/dev/md1 自动为其创建文件,创建的级别为0 设备个数为2
    cat /proc/mdstat   查看所有的Raid
    mke2fs -j /dev/md1      格式化md1,不能格式化sda7 sda8
    mount /dev/md1 /mnt 将md1挂载到/mnt
    (3)实现软件raid
    ①将已经存在的或者新建的多块磁盘分区同意调整为 fd  Linux raid auto 模式
        fdisk  /dev/sd#  n  p  +10G  t  fd  w
    磁盘的建议块数,RAID5为例 需要5块磁盘左右
    ②创建RAID设备
        mdadm -C  /dev/md0 -a yes -l 5  -n 4 -x 1 /dev/sd{b,c,d,e,f}
    创建的RAID的设备的文件名为md0,自动创建设备文件(-a yes),创建的级别为RAID5(-l 5),设备的个数为4个(-n 4),创建空闲盘的合数为1个(-x 1),创建的真实的磁盘为/dev/sd{b,c,d,e,f}
    ③查看已经创建的RAID设备是否存在
        mdadm -D /dev/md0
        cat /proc/mdstat
    ④为创建好的RAID设备设定文件类型,以ext4文件系统为例
        mkfs.ext4 /dev/md0
    ⑤将已经创建好的RAID设备,设置开机自动挂载,设置挂载点和挂载类型等
        vim /etc/fstab
        UUID="b92ddd51-c555-4948-b1d5-8563b697a2f1"   /mnt/raid   ext4    defaults     0       0
    ⑥将设备的配置信息,写入到文件中,生成配置文件
        mdadm  -Ds /dev/md0 > /etc/mdadm.conf
    ⑦启动与停止RAID
        mdadm -A /dev/md0 启动RAID
        mdadm -S /dev/md0 停止RAID(注意:停止RAID之前,应该先卸载RAID,mount /dev/md0,之后使用-S卸载,否则会报错)
    ⑧模拟RAID在日常生活中出现的错误
        mdadm /dev/md0 -f /dev/sdf1 模拟损坏
        mdadm /dev/md0 -r /dev/sdf1 删除成员
        mdadm /dev/md0 -a /dev/sdf1 增加
        mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增加成员
    ⑨删除RAID
        umount /mnt/md#  卸载RAID的挂载
        mdadm -S /dev/md0 停止RAID的使用
        rm -f /etc/mdadm.conf 删除RAID配置文件
        vi /etc/fstab    将RAID的默认挂载取消掉
        fdisk /dev/sda   删除新建的RAID分区
        mdadm –zero-superblock /dev/sdd1  将磁盘中的超级块信息取消掉

原创文章,作者:sjsir,如若转载,请注明出处:http://www.178linux.com/42327

(0)
sjsirsjsir
上一篇 2016-09-01 08:50
下一篇 2016-09-01 08:50

相关推荐

  • 脚本编写规范

    脚本编写规范 脚本名称以.sh结尾,名称见名知意 尽量使用UTF-8编码,注释及输出尽量使用英文 一般给到执行权限,但一些关于变量的配置文件不用加执行权限 执行的时候可以使用bash执行,或者使用bash -x 调试执行 脚本首行以#!/bin/bash,无空格,不带选项 第二行为空格或者添加一行空注释 开始注释内容:  #!/bin/bash&n…

    Linux干货 2017-04-16
  • raid各级别特性

      简介 RAID是一个我们经常能见到的名词。但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握。本文将对RAID技术进行介绍和总结,以期能尽量阐明其概念。 RAID全称为独立磁盘冗余阵列(Rdeundant Array of Independent Disks),基本思想就是把 多个相对便宜的硬盘组合起来,成为一个硬盘阵列组…

    Linux干货 2016-01-19
  • FHS文件系统介绍及各目录功能说明

     FHS文件系统介绍及各目录功能说明 M21-陆东贵 FHS简介 Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理…

    Linux干货 2016-10-18
  • Grep 文本搜索工具与正则表达式

            grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Grep在实际中对于我们的工作有着很大的作用,用于对文件的搜索,通过由正则表达式字符以及…

    2017-04-15
  • vim编辑器

    vim编辑器三种模式转换 G跳到尾行 gg:跳到首行 H:跳到当前页的首行 L: 跳到当前页的尾行 M: 跳到当前而的中间行 dd: 删除光标所在的行 #dd:多行删除 yy:复制行 #yy: 复制多行  Y: 复制整行 cc:删除当前行并输入新内容 #cc:删除多行 C:删除当前光标到行尾,并切换成插入模式 修改配置文件 全局: /etc/vimrc 用…

    2017-08-05
  • 磁盘管理作业

    创建一个2G的文件系统,块大小为2048byte, 预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/testdir目录,且默认有acl挂载选项 [root@English6 ~]# fdisk /dev/sdc Device contains neither a&nb…

    Linux干货 2016-09-01

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-01 13:07

    内容总结的很好,可以通过图片来展示各raid级别的工作模式会更直观哦