• linux raid技术


    一、概念

      磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。是为了提高文件在磁盘上的读写速度而研究出来的。

    将存入磁盘的数据分成一个一个的条带,然后并行地存储到磁盘阵列中,或者从磁盘阵列中以条带的形式并行地取数据。如下图:

    二、raid的级别:

     0:条带技术( 单纯地将数据进行条带化处理,然后存储到磁盘中)
         数据读写性能提升
         不提供冗余性能(没有数据备份)
         盘符数:>=2
     1:镜像(备份)
       性能表现,写性能下降,读性能提升(可以交替读)
       冗余能力:有
       空间利用率:50%
       镜像技术 mirror
       盘符数:>=2

    2,

    3,

    4


    5:加入校验机制,几个磁盘轮流作为校验盘

       性能表现:读写提升
       冗余能力:有
       空间利用率:(n-1)/n
       盘符数:>=3


    1 0:先备份再条带

       性能表现:读、写提升
       冗余能力:有
      盘符数:>=4
      空间利用率 1/2
    0 1:先条带再备份(常用,因为1 0方式可能导致在每一个备份里条带的存储位置不同)
      性能表现:读写提升
      冗余能力:有
      空间利用率:50%
      盘符数:>=4
    5 1:
     性能表现:读、写提升
     冗余能力:有
     空间利用率:(n-2)/n
     盘符数:>=6

    三 、raid的类型

    硬件raid:

           外接一个磁盘阵列

           或者内部有raid控制芯片

    软件raid

      md(multi disks)将指定的磁盘设备组合起来形成raid

      raid 设备被创建在 /dev/md#下

     如果有一天内核坏了,为了raid后的磁盘可以被使用,要把磁盘的类型标识为内核可识别的 Linux raid auto类型。

      命令为mdadm:将任何设备作成raid

              模式化的命令:

                   创建模式

                   管理模式

                   监控模式

                   增长模式

                   装配模式

                          -A

     创建模式

    -C
    专用选项
          -c chunk(条带)大小,默认为 64k,
          -l 级别
          -a {yes|no}自动为其创建设备文件
          -n:设备个数,几个盘来做raid
          -x:指定空闲盘个数,然后作为raid盘坏了以后,直接顶上去的盘

    管理模式
    --add --del
    监控模式
    -F
    增长模式
    -G
    装配模式
    -A

    -D --detail /dev/md# 查看raid信息
    停用阵列:madm --stop /dev/md#

    启用阵列: mdadm -A   /dev/md1  /dev/sda6 /dev/sda7
    将当前raid信息保存至配置文件,以便以后装配,
    mdadm -D --scan >/etc/mdadm.conf

    软raid新建过程

      新建分区/dev/sda5,/dev/sda6,过程中将sda5,sda6指定为Linux raid auto类型

      让内核识别新建的分区 partprobe /deb/sda

                           cat /proc/partitions

      madm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6}

      cat /proc/mdstat

    接下来

      mke2fs -j /dev/md0  

    接下来挂载

      mount /dev/md0 /mnt

      madam -D|--detail /dev/md0 查看raid阵列的详细信息

    在管理模式下,模拟一个磁盘的损坏mdadm /dev/md# --fail /dev/sda7 将md#(代表raid)下的sda7盘模拟损坏

    移除硬盘 mdadm /dev/md# -r /dev/sda7 

    mdadm mdadm /dev/md# -a /dev/sda7 

    文件系统时,可以指定条带大小里有多少个block,然后避免每次生成软raid时计算一个条带包含多少磁盘块。  mke2fs -j -E stride=16 -b(块大小) 4096 /dev/md0

      

  • 相关阅读:
    php解决与处理网站高并发 大流量访问的方法
    mysql事务和锁InnoDB
    从一个死锁看mysql innodb的锁机制
    Git如何删除自己创建的项目
    公众号的坑
    字符串转Unicode码
    字符串转UTF-8码(%开头)
    git介绍和使用
    ng2中文文档地址
    两个数组的排序方法
  • 原文地址:https://www.cnblogs.com/dfyz/p/4878229.html
Copyright © 2020-2023  润新知