首页 > 代码库 > RAID学习笔记
RAID学习笔记
一、简介
名称:RAID廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks)
组织形式:多个独立的物理硬盘按照不同的方式组合起来,形成一个虚拟的硬盘。
优势:1.易于灵活地进行容量的扩展
2.磁盘分块使数据内容更安全
3.通过支持热换、热备、冗余等技术提高系统可靠性
二、主要技术
1.镜像冗余
镜像冗余使用磁盘镜像技术,每个I/O操作都会在两个磁盘上执行,两个磁盘看起来就像一个磁盘,可以提高磁盘的读性能。
2.校验冗余
根据冗余算法计算阵列中成员磁盘上数据的校验信息,将校验信息保存在其他的磁盘资源上,有利于保证数据的可靠,对于磁盘的开销比镜像冗余小。
3.热备、热换
热备:在不干扰当前系统的正常使用的情况之下,用系统中另外一个正常的备用磁盘顶替失效磁盘。
热换:在不干扰当前系统的正常使用的情况之下,用正常的磁盘物理替换RAID阵列中的失效磁盘。
三、级别
组成RAID阵列的不同方式称为RAID级别
不同的RAID级别会产生不同存储性能、数据可靠性、存储成本。级别仅代表磁盘不同的组织方式,没有上下级之分。
RAID0:
方式:条带
性能提升:读写
冗余能力:无
空间利用率:nS
磁盘需求:至少两块硬盘
适用领域:视频生成和编辑、图像编辑、其他需要大的传输带宽的操作。
RAID1:
方式:镜像
性能提升:写性能下降,读性能提升
冗余能力:有
空间利用率:1/2
磁盘需求:至少两块硬盘
适用领域:财务、金融等高可用、高安全的数据存储环境。
RAID2:
RAID3:
RAID4:2、3、4无太大区别,故不介绍。
RAID5:
方式:校验
性能提升:读写
冗余能力:有
空间利用率:(n-1)/n
磁盘需求:至少三块硬盘
适用领域:文件服务器、Email服务器、Web服务器等环境、数据库应用
RAID10:
方式:镜像+条带
性能提升:读写
冗余能力:有
空间利用率:1/2
磁盘需求:至少四块硬盘
适用领域:高可用和高安全性的数据库应用
RAID01:
方式:条带+镜像
性能提升:读写
冗余能力:有
空间利用率:1/2
磁盘需求:至少四块硬盘
RAID50:
方式:校验+条带
性能提升:读写
冗余能力:有
空间利用率:(n-2)/n
磁盘需求:至少六块硬盘
四、管理
1.mdadm:将任何块设备做成RAID
模式化的命令:
创建模式:
-C
专用选项:
-l:级别
-n #:设备个数
-a {yes|no}:是否自动为其创建设备文件
-c #:chunk大小,2^n,默认为64K
-x #:指定空闲盘的个数
管理模式:
--add,--remove,--fail
mdadm md# --fail /dev/sdb#
监控模式:
-F
增长模式:
-G
装配模式:
-A
查看RAID阵列的详细信息
mdadm -D /dev/md#
--detail
停止阵列:
mdadm -S /dev/md#
--stop
2.例子
创建一个RAID 0 设备(32kCHUNK,3个盘,自动创建设备文件),并查询相关信息:
mdadm -C /dev/md0 -l 0 -n 3 -a yes -c 32 /dev/sdb1 /dev/sdb2 /dev/sdb3
[root@server ~]# cat /proc/mdstat Personalities : [raid0] md0 : active raid0 sdb3[2] sdb2[1] sdb1[0] 3142656 blocks super 1.2 32k chunks
[root@server ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Fri Jun 30 05:54:48 2017 Raid Level : raid0 Array Size : 3142656 (3.00 GiB 3.22 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Fri Jun 30 05:54:48 2017 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Chunk Size : 32K Name : server.centos:0 (local to host server.centos) UUID : 20feb2f1:6b92c26f:6327674c:0d85c0df Events : 0 Number Major Minor RaidDevice State 0 8 17 0 active sync /dev/sdb1 1 8 18 1 active sync /dev/sdb2 2 8 19 2 active sync /dev/sdb3
创建一个RAID 1 设备(32kCHUNK,2个盘,自动创建设备文件),并查询相关信息:
mdadm -C /dev/md1 -l 1 -n 2 -a yes -c 32 /dev/sdb5 /dev/sdb6
[root@server ~]# mdadm -D /dev/md1 /dev/md1: Version : 1.2 Creation Time : Fri Jun 30 06:07:32 2017 Raid Level : raid1 Array Size : 1047552 (1023.00 MiB 1072.69 MB) Used Dev Size : 1047552 (1023.00 MiB 1072.69 MB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Fri Jun 30 06:07:37 2017 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : server.centos:1 (local to host server.centos) UUID : 06d9a0da:a50fc2f3:8594ede5:5befe251 Events : 17 Number Major Minor RaidDevice State 0 8 21 0 active sync /dev/sdb5 1 8 22 1 active sync /dev/sdb6
将当前RAID信息保存至配置文件,以便以后进行装配,内部含有UUID信息,可以写入/etc/fstab文件实现自动挂载:
mdamd -D --scan > /etc/mdadm.conf
RAID学习笔记