Raid 简介

简介:

1、RAID简介
    redundant Arrays of Inexpensive Disks Independent 
    早期提高硬盘IO,主要通过    提高rpm,
        scsi:达到15000转
        为多块硬盘:提供独立的控制器
        1.提高IO能力
        2.提高其耐用性
    raid实现的方式
        外接式磁盘阵列:通过扩展卡提供适配能力
        内接式raid:主板集成raid控制器
            配置在bios的raid控制器上的
        software RAID:软件方式实现的raid
        //可以先安装os独立磁盘,后配置raid
        //或者os安装在raid上
    提高IO能力:
        磁盘并行读写;
        为raid控制器额外添加内存,额外供电UPS
    提高耐用性:
        磁盘冗余来实现
        
2、raid级别
    raid-0,条带卷,strio 
    raid-1,镜像卷,mirror
    ...
    raid-4 //4,5都是3块以上,0,1是2块以上
    raid-5
    raid-6
    raid10
    raid01
    
    raid0:多块硬盘平行组织,100%使用,无备份,n块
        一个数据分成n块,然后分别存储
        读写性能提升
        可用空间:N*min(disk1,disk2,disk3...) //最小的那块决定
        没有冗错能力
        最少磁盘数:2,2+

wKioL1lz-iThht8yAAApNhZrfno929.png

    raid1:2n块磁盘,数据复制为两份,分别分割为n分,分别存储

        读性能提升,写性能没有提升/同一个数据存储两份
        可用空间:2n/2*min(disk1,disk2...diskn)
        有冗余能力
        最少磁盘数:2,2+

wKioL1lz-kLjqIqZAABEpH7CPUo659.png


    raid:4:    3块以上的硬盘组织成raid,存储数据时,一块盘存储校验码,其他存储数据
        校验码:异或存储// 1101 0110 ,1011,
        不允许2块硬盘以上坏
        假如一块硬盘坏了以后仍然能够工作:降级模式,读取的时候需要换算恢复数据,比较慢,因此应立即添加新的硬盘恢复
        //独立一块盘用于做集中校验盘,压力较大:缺陷
        //但是可以降级工作,也可以
        //raid可以做热备,自动顶上去,raid控制器做的

wKioL1lz-sSSw9K_AAEiJYnOZOA669.png


    raid:5 //轮流做校验盘
        读写性能提升
        可用空间:(N-1)*min(disk1,disk2,...)
        有容错能力,最多1块磁盘
        最小磁盘数:3

wKiom1lz-lqBi7mFAAEZFrD5VhE928.png


    RAID-6://两块盘做校验,循环校验
        读写性能提升
        可用空间:(N-2)*min(disk1,disk2,...)
        有容错能力,允许坏两块磁盘,
        最少:4块


wKiom1lz-xXDBQLxAAL88zE821Q741.png

     

    raid10:先两个一组做成raid1,然后做raid0//一对对10
        读写性能提升
        可用空间:N*min(s1,s2...)/2
        有容错能力:每组镜像最多只能坏一块
        最少磁盘数:4,4+


    raid01:先做0,再做1//一边为0,一遍为0,整体为1

    raid10:
        
            0        0        0        //一个数据分成3份,3个chunk,一个chunk复制两份,分别存储
        【】[]   【】[]   【】[]
    raid01://元数据先复制成两份,再分割成chunk
        
        ——————————    ————————————
        []    []    []    【】【】【】

wKioL1lz-9DzUIPyAATGKh65L7k409.png


    raid7:为某公司的私有产品
        
    JBOD:just a Bunch of Disks
        //将多块硬盘的空间合并为一个大的连续空间使用
        可用空间:sum(s1,s2...)
        //例如只有1t的硬盘4个,文件大小为2T
        //
    常用级别:raid-0,raid-1,raid-5,raid-10,raid-01,JBOD
    实现方式:
        硬件实现方式:
        软件实现方式:


        Centos6 上的软件RAID的实现
            结合内核总的md(multi device)
            
3、软件方式的raid实现
    mdadm(multi device)模式化工具
    命令的语法格式:mdadm [mode] 设备名 [options] 成员设备
        支持的raid级别:LINEAR(JBOD),0,1,4,5,6,10,
        设备名:/dev/md#,
    模式:
        创建:create        -C
        装配:Assemble        -A
        监控:Fllow or Monitor -F
        管理:Manage        -f,-r,-a
        
        Grow:改变设备的数目,不能改变阵列属性,一般不用
        Misc:查询或修改阵列中设备信息,一般不用
    -C 创建模式
        -n # :使用多少设备来创建RAID
        -l # :raid级别
        -a {yse|no} //自动创建raid设备的设备文件
        -c //CHUNK_SIZE 指定块大小,默认是64M
        -x //指定空闲盘的个数,不支持冗余能力的级别,空闲盘是没有任何意义的
        示例:创建10G空间可用的raid5
                fdisk /dev/sdb  //创建4个5G的分区,调整为linux raid:fd,一个作为备份
                parted -a /dev/sdb
                mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sdb[1,2,3,5]
                cat /proc/mdstat 
                mke2fs -t ext4 /dev/md0
                mount /dev/md0 /mnt    
                mdadm -D /dev/md0  //显示详细信息
                    State : clean, degraded  //degraded:降级使用
                
                mdadm /dev/md0 -f /dev/sdb2 //模拟损坏
                watch -n 1 'mdadm -D /dev/md0' //每1s查看一次
                        //会自动重组
                mdadm /dev/md0 -f /dev/sdb1  //再次模拟一块损坏,会降级使用
                
                mdadm /dev/md0 -r /dev/sdb{1,2} //移除损坏的盘
                mdadm /dev/md0 -a /dev/sdb{1,2} //再次添加硬盘
                mdadm /dev/md0 -a /dev/sdb6 //新加一块硬盘,只会作为空闲盘使用,要想增加raid盘数量,智能使用mdadm grow模式
    管理模式:
        -f 标记指定磁盘为损坏
        -a 添加磁盘
        -r 移除磁盘
        -S 停止设备
            mdadm -S /dev/md#
    观察md的状态
        cat /proc/mdstat
        watch -n 1 'mdadm -D /dev/md0' //动态查看
        -n 刷新间隔,单位是秒
练习1:创建一个可用空间为10G的RAID设备,要求其chunk大小为128k,fs为ext4,开机自动挂载
    (1)创建20G分区,
    (2)格式化
        mke2fs -t ext4 -b 2048 -L ’test' /dev/DEVICE
    (3)fstab
        LABEL='TEST'  /test  ext4 defaults,acl 0 0
    (4)mount 
练习2:创建一个可用空间为10G的RAID0设备,chunk为256k,fs为ext4,开机自动挂载至/mydata
    
注意:
    raid的冗余,只能保证设备的损坏,而导致的问题有所解决,而不能决定认为损坏的设备    


注意:JBOD也是一种硬件组合的实现方式,大家有兴趣,也可以了解一下











本文转自MT_IT51CTO博客,原文链接:http://blog.51cto.com/hmtk520/1950135,如需转载请自行联系原作者
相关文章
|
3月前
|
存储
RAID基本入门资料
RAID基本入门资料
|
6月前
|
监控 算法 Linux
利用mdadm工具构建RAID 0/1/5/6/10磁盘阵列实战(超详细)
利用mdadm工具构建RAID 0/1/5/6/10磁盘阵列实战(超详细)
124 0
|
存储 算法 Linux
RAID 工作原理与实现| 学习笔记
快速学习 RAID 工作原理与实现
255 0
RAID  工作原理与实现| 学习笔记
|
存储 安全 数据安全/隐私保护
存储进阶:RAID简介
一、什么是RAID 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
1164 0
|
存储 安全 数据安全/隐私保护
|
存储 安全 数据安全/隐私保护
|
监控 数据安全/隐私保护 Linux
|
存储 数据安全/隐私保护 算法