感谢支持
我们一直在努力

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、JBOD

4.实现方式

(1)软件模拟实现:Software RAID,结合内核中的md(multi devices)工具

生产环境中一般没有人使用

(2)硬件实现:硬件级别的RAID配置多块硬盘在bios中实现

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

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

RAID

1)可以通过SAS接口的适配器接口扩展出串行端口附加存储,以logical unit  number逻辑单元号表现

窄带:8个接口,7target

宽带:16个接口,15个target

2)RAID控制器需要系统驱动使用,在BIOS中可以设置,通过适配器连接到RAID磁盘阵列

3)RAID控制器本身有CPU,还可以有内存来加速,另外设置电源方式断电时候的应急写入

二、RAID级别和工作模式

常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

1.RAID-0:0, 条带卷,strip;

性能:读、写性能提升;无容错能力

空间使用:N*min(S1,S2,…),

最少需要磁盘数量:至少两块

RAID

条带:会以磁盘容量最小的磁盘为主分块制作条带

RAID

2.RAID-1: 1, 镜像卷,mirror;

性能:读性能提升、写性能略有下降;有冗余能力

空间使用:1*min(S1,S2,…),每块存储内容都一样

空间利用率:1/2

最少需要硬盘数量:至少两块

RAID

3.RAID-4:单块硬盘作为集中校验盘

采用独立存取方式,将条带由RAID3的小数据块改为更大的数据块

校验较为迅速,但写入速度极差,控制器的设计更加复杂

通过异或运算将其中一块硬盘,集中存放校验码

允许有一块硬盘损坏,但因为集中校验会导致性能瓶颈

RAID

4.RAID-5:循环校验存储机制

性能:读、写性能提升,有容错能力:1块磁盘

空间使用:(N-1)*min(S1,S2,…) 短板效应

空间利用率:(n-1)/n

最少磁盘数:至少三块,可降级使用

RAID

5.RAID-6:循环校验存储机制,一块硬盘专门做校验盘,校验码存储两次

性能:读、写性能提升;有容错能力:2块磁盘

空间使用:(N-2)*min(S1,S2,…)

最少磁盘数:最少四块

6.RAID-7:商业版

新的RAID标准,一个独立的“存储计算机”,自身带有智能化实时操作系统和用于存储管理的软件工具,可以完全独立与主机运行,不占用主机CPU资源

7.RAID-10:先做镜像,再做条带

性能:读、写提升,有冗余能力

空间利用率:1/2

最少磁盘数:至少需要4块

RAID

8.RAID-01:先做条带,再做镜像

性能:读、写提升,有冗余能力

空间利用率:1/2

最少磁盘数:至少需要4块

9.RAID-50:

性能:读、写提升;有冗余能力

空间利用率:(n-2)/n

最少磁盘数:至少需要6块

RAID

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.htm

Debian软RAID安装笔记 – 使用mdadm安装RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm

常用RAID技术介绍以及示例演示(多图) http://www.linuxidc.com/Linux/2013-03/81481.htm

Linux实现最常用的磁盘阵列– RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm

RAID0+1和RAID5的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm

Linux入门教程:磁盘阵列(RAID) http://www.linuxidc.com/Linux/2014-07/104444.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-12/126645.htm

赞(0) 打赏
转载请注明出处:服务器评测 » RAID级别和实现实例操作详解
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏