码迷,mamicode.com
首页 > 系统相关 > 详细

Linux-RAID

时间:2018-08-26 10:32:06      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:块大小   备份   刷新   redundant   dde   状态   实现   读写   分区   

RAID: Redundant Arrays of Inexpensive(Independent) Disks 廉价冗余磁盘阵列

RAID是将多块盘按照某种格式组织起来当做一块硬盘来使用的技术,可以提高IO能力,提供耐用性

  RAID实现的方式:

    外接式磁盘阵列:通过扩展卡提供适配能力

    内接式RAID:主板集成RAID控制器

    Software RAID

  级别 level:

    RAID-0: 0,条带卷,strip

    RAID-A: 1,镜像卷,mirror

    ..

    RAID-5:

    RAID10

    RAID01

  

    技术分享图片

 

      RAID-0: 将多块硬盘平行组织起来当一块硬盘来实现IO并行组织的一种组织结构

          读、写性能提升

          可用空间N*min(S1,S2,...)

          无容错能力

          最少磁盘数:2,2+

              技术分享图片

    RAID-1: 两块盘都存储相同的数据,一块盘作为备份

      读性能提送,写性能略有下降

      可用空间:1*min(S1,S2,...)

      有冗余能力

      最少磁盘数:2,2+

    技术分享图片

 

    RAID-4:前两块盘存储数据,第三块盘作为校验盘

    RAID-5:

       读写性能提升

       可用空间:(N-1)*min(S1,S2,...)

       有容错能力:一块磁盘

       最少磁盘数:3,3+

     RAID-6:两块盘做校验盘

        读写性能提升

        可用空间(N-2)*(S1,S2,...)

        有容错能力:2块磁盘

        最少磁盘数:4,4+

    技术分享图片

 

    RAID-10:先两两一组为RAID1,再做成RAID0

      读写性能提升

      可用空间:N*min(S1,S2,...)/2

      有容错能力:每组镜像最多只能坏一块

      最少磁盘数:4,4+

    RAID-50, RAID-01:

    JBOD: Just a Bunch Of Disks

      功能:将多块磁盘的空间合并一个大的连续空间使用

      可用空间:sum(S1,S2,...)

    CentOS 6上的软件RAID的实现:

      结合内核中的md(multi devices)

       mdadm:模式化的工具

        命令的语法格式: mdadm [mode] <raiddevice> [options] <component-devices>

          支持的RAID级别:LINER,RAID0,RAID1,RAID4,RAID5,RAID6,RAID10

      模式:

        创建: -C

        装配: -A

        监控:   -F

        管理: -f,-r,-a

    <raiddevice>: /dev/md#

    <componenent-devices>: 任意块设备

    -C: 创建模式

       -n #: 使用#个块设备来创建此RAID

       -l #: 指明要创建的RAID的级别

       -a {yes|no}: 自动创建目标RAID设备的设备文件

       -c CHUNK_SIZE:指明块大小

       -x #: 指明空闲盘的个数

    -D: 显示RAID的详细信息

       mdadm -D /dev/md#

    管理模式:

       -f: 标记指定磁盘为损坏,例如: mdadm /dev/md# -r /dev/sda5

       -a:添加磁盘

       -r: 移除磁盘

    观察md的状态: cat /proc/mdstat

    停止md设备: mdadm -S /dev/md#

   其他命令:

      watch命令

        -n #: 刷新间隔,单位是秒   

练习1:创建一个可用空间为10G的RAID1设备,要求CHUNK大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂在至/backup目录

    a.创建两个各位10G的分区,调整分区id为fd,比如磁盘分区为/dev/sda1、/dev/sda2

    b.mdadm -C /dev/md0 -c 128k -l 1 -n 3 -x 1 -a yes /dev/sda{1,2}

    c.  mke2fs -t ext4 -L MYRAID0 /dev/md0

    d:修改/etc/fstab,增加一行: LABEL=‘MYRAID0‘ /backup ext4 defaults 0 0 

    
练习2:创建一个可用空间为10G的RAID10设备,要求chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录

    a.创建四个各位5G的分区,比如/dev/sda5,/dev/sda6,/dev/sda7,/dev/sda8

    b.mdadm -C /dev/md10 -l 10 -a yes -n 4 -c 256k /dev/sda{5,6,7,8}

    c. mke2fs -t ext4 -L ‘MYRAID10‘ /dev/md10

    d修改配置文件/etc/fstab:LABEL=‘MYRAID10‘ /mydata ext4 defaults 0 0 

 

Linux-RAID

标签:块大小   备份   刷新   redundant   dde   状态   实现   读写   分区   

原文地址:https://www.cnblogs.com/ckh2014/p/9536134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!