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
下一篇 2016-09-01

相关推荐

  • 用户 组 和权限 以及权限的 分类

    关于文件的安全我们要从3A验证 说起     1  Authentication:认证      2  Authorization:授权      3  Accouting|Audition:审计 由于系统文件的用户太多为了便于管理 我们便把系统的用…

    系统运维 2016-08-04
  • Linux常见发行版本以及Linux哲学思想

    什么是Linux?  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。  Linux操作系…

    Linux干货 2016-08-15
  • 第三周:文本处理工具wc,cut,sort,uniq,tr,tee命令练习和用户及组相关命令练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可; [root@app1 tmp]# who | cut -d" " -f1| uniq root dts centos 2、取出最后登录到当前系统的用户的相关信息; [r…

    Linux干货 2016-09-27
  • Centos7上利用corosync+pacemaker+crmsh构建高可用集群

    一、高可用集群框架 资源类型:     primitive(native):表示主资源     group:表示组资源,组资源里包含多个主资源     clone:表示克隆资源     master/…

    Linux干货 2016-05-29
  • 用户查找与添加 第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp /etc/skel /home/tuser1  chmod -R go=— /home/tuser1 2、编辑/etc/group文件,添加组hadoop…

    Linux干货 2017-02-14
  • YUM工具的工作原理、用法及源 码包的编译安装

    YUM工具的工作原理,用法及源码包的编译安装 _ueditor_page_break_tag_ 一、 CentOS: yum, dnf       1.YUM: (Yellow dogUpdate Modifier),rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具   …

    Linux干货 2016-09-01

评论列表(1条)

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

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