Welcome 微信登录

首页 / 操作系统 / Linux / RAID级别和实现实例操作详解

一、RAID简史1.RAID由来Berkeley:伯克利提出:A case for Redundent Arrays of Inexpensive Disks 为RAID(廉价冗余阵列)如今:Redundant Arrays of Independent Disks 独立冗余阵列2.优点和表现方式1)通过磁盘并行读写,提高IO能力:2)通过磁盘冗余(容错)机制来实现提高耐用性:3.级别:多块磁盘组织在一起的工作方式有所不同RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID10、RAID01、RAID50、JBOD4.实现方式(1)软件模拟实现:Software RAID,结合内核中的md(multi devices)工具生产环境中一般没有人使用(2)硬件实现:硬件级别的RAID配置多块硬盘在bios中实现外接式磁盘阵列:通过扩展卡提供适配能力内接式RAID:主板集成RAID控制器1)可以通过SAS接口的适配器接口扩展出串行端口附加存储,以logical unit  number逻辑单元号表现窄带:8个接口,7target宽带:16个接口,15个target2)RAID控制器需要系统驱动使用,在BIOS中可以设置,通过适配器连接到RAID磁盘阵列3)RAID控制器本身有CPU,还可以有内存来加速,另外设置电源方式断电时候的应急写入二、RAID级别和工作模式常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD1.RAID-0:0, 条带卷,strip;性能:读、写性能提升;无容错能力空间使用:N*min(S1,S2,...),最少需要磁盘数量:至少两块条带:会以磁盘容量最小的磁盘为主分块制作条带2.RAID-1: 1, 镜像卷,mirror;性能:读性能提升、写性能略有下降;有冗余能力空间使用:1*min(S1,S2,...),每块存储内容都一样空间利用率:1/2最少需要硬盘数量:至少两块3.RAID-4:单块硬盘作为集中校验盘采用独立存取方式,将条带由RAID3的小数据块改为更大的数据块校验较为迅速,但写入速度极差,控制器的设计更加复杂通过异或运算将其中一块硬盘,集中存放校验码允许有一块硬盘损坏,但因为集中校验会导致性能瓶颈4.RAID-5:循环校验存储机制性能:读、写性能提升,有容错能力:1块磁盘空间使用:(N-1)*min(S1,S2,...) 短板效应空间利用率:(n-1)/n最少磁盘数:至少三块,可降级使用5.RAID-6:循环校验存储机制,一块硬盘专门做校验盘,校验码存储两次性能:读、写性能提升;有容错能力:2块磁盘空间使用:(N-2)*min(S1,S2,...)最少磁盘数:最少四块6.RAID-7:商业版新的RAID标准,一个独立的“存储计算机”,自身带有智能化实时操作系统和用于存储管理的软件工具,可以完全独立与主机运行,不占用主机CPU资源7.RAID-10:先做镜像,再做条带性能:读、写提升,有冗余能力空间利用率:1/2最少磁盘数:至少需要4块8.RAID-01:先做条带,再做镜像性能:读、写提升,有冗余能力空间利用率:1/2最少磁盘数:至少需要4块9.RAID-50:性能:读、写提升;有冗余能力空间利用率:(n-2)/n最少磁盘数:至少需要6块10.JBOD:Just a Bunch Of Disks 将多块磁盘的空间合并一个大的连续空间使用性能表现:无提升;无冗余能力空间使用:磁盘大小之和sum(S1,S2,...)空间利用率:100%最少磁盘数:至少需要2块三、RAID内核实现观测相关命令CentOS 6上的软件RAID的实现1.md(multi devices)工具,mdadm:模式化的工具命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>支持的RAID级别:LINEAR线性方式, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;模式:创建:-C;装配: -A;监控: -F;管理:-f, -r, -a<raiddevice>: /dev/md#<component-devices>: 任意块设备(1)-C: 创建模式-n #: 使用#个块设备来创建此RAID;-l #:指明要创建的RAID的级别;-a {yes|no}:自动创建目标RAID设备的设备文件;-c CHUNK_SIZE: 指明块大小; 默认512k-x #: 指明空闲盘的个数;(2) 管理模式:-f: 标记指定磁盘为损坏;-a: 添加磁盘-r: 移除磁盘(3)-D:显示raid的详细信息;      mdadm -D /dev/md#(4)观察md的状态: cat /proc/mdstat(5)停止md设备:mdadm -S /dev/md#2.watch:动态观测命令运行过程格式:watch -n# "COMMAND"-n #: 刷新间隔,单位是秒;如何在Linux上构建 RAID 10阵列  http://www.linuxidc.com/Linux/2014-12/110318.htmDebian软RAID安装笔记 - 使用mdadm安装RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm常用RAID技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htmLinux实现最常用的磁盘阵列-- RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htmRAID0+1和RAID5的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htmLinux入门教程:磁盘阵列(RAID) http://www.linuxidc.com/Linux/2014-07/104444.htm本文永久更新链接地址