RAID(Redundant Arrary of Independent Disks,独立冗余磁盘阵列)是一个能实现将多块硬盘组合成一个阵列,当做一个逻辑设备来使用的机制。同时RAID还可以简历数据镜像,将一份数据存储在两份硬盘上,每一份硬盘上都有一分相同的文件。这样我们的数据就更具安全性了。你可能要说我们为什么要用这种磁盘阵列呢?这种阵列用两份的硬盘才能存储一份数据,这不是浪费了一份硬盘吗?但是我们要明白,相对于公司和企业来说,数据是最重要的,只要数据没有问题,硬盘损坏后我们还可以重新把数据恢复就好了。而RAID正是保证硬盘损坏后保证数据完整性的一个磁盘阵列。
我们知道,硬盘的读写速度再快也不能超过它的理论读写速度,而现在网络上动辄数万人同时访问一个文件,硬盘的转速根本就不能提供这么多人同事访问同一个文件。RAID可以将多个磁盘链接起来当做一个磁盘来用,在主机上就只识别为一个磁盘,这样就大大提高的磁盘的I/O读写速度。其结构如图
RAID可以分为硬RAID和软RAID。顾名思义,硬RAID就是在硬件的技术上实现RAID功能的,但是linux中我们可以用软件实现RAID的功能。
我们在此主要来说一说linux上的软RAID的实现
RAID:独立磁盘冗余阵列
组合方式:
SATA
SAS
逻辑RIAD:
/dev/md#:后面的数字 例如: /dev/md0 /dev/md1
md:(multi disks)多磁盘或多设备 lsmod列出模块
mdadm:将任何块设备做成RAID【用户空间工具,管理工具】
创建软RAID
模式化的命令:
1、创建模式
-C
专用选项:
-l:级别
-n:设备个数
-a{yes|no}:自动为其创建设备文件.回答yes
-c:数据块大小,(2^n),默认为64k
-x #:指定空闲盘个数
①例如:创建一个2G的RIAD0,我们可以用4个512MB的分区,也可以用2个1G的分区【注意:两块盘大小要一样】。
mdadm –C /dev/md0 –a yes –l 0 –n 2 /dev/sda{5,6}
创建设备/dev下的md0,自动创建设备文件的,然后设置级别为0,一共两个设备,设备是/dev下的sda5和sda6。
用cat /proc/mdstat可以查看查看当前系统上所有处于启用状态RAID设备。
②例如:创建一个2G的RIAD1,也可以用2个2G的分区【注意:两块盘大小要一样】
mdadm –C /dev/md1 –a yes –l 1 –n 2 /dev/sda{7,8}
创建设备/dev下的md1,自动创建设备文件,然后设置级别为1,一共两个设备,设备是/dev下的sda7和sda8。用cat /proc/mdstat查看可以看出raid1和raid0其它信息还是差不多相同的,但是多了一段信息,那个信息表示镜像磁盘要将每一个信息位都要对应起来,修改了任何一个磁盘的内容,另一个磁盘的同意位置内容也会修改。这两个磁盘要镜像成一模一样,所以它们要同步进行,同步完成后,这个磁盘就为可用状态了。
2、管理模式
--add,--remove,--fail|-f
模拟损坏 mdadm /dev/md# --fail /dev/sda8
表示把/dev/md#阵列中的/dev/sda8模拟给损坏。
移除 mdadm /dev/md# –r /dev/sda8 移除整列中损坏的/dev/sda8
替换 mdadm /dev/md1 –a /dev/sda9 将sda9替换上
3、监控模式
-F :监控模式
-D| --detail:查看RAID阵列的详细信息
4、增长模式
-G
5、装配模式
-A
停止阵列:
mdadm -S /dev/md1
--stop
watch:周期性的执行指定命令,并以全屏方式显示结果
-n #:指定周期长度,单位为秒,默认为2
格式:watch -n # 'COMMAND(命令)'
Mdadm –D –scan :
显示当前主机上每一个RAID设备了,以及每个RAID关联到设备本身,这个设备的UUID号。【我们可以把这个将当前RAID信息保存在/etc/mdadm.conf下以后再重新装设备的时候就不用在指设备了自动读取这个配置文件并装配的】 mdadm -D --scan > /etc/mdadm.conf
RAID的级别:
其实RAID也是有级别之分的,不同的级别表示RAID中磁盘的分布和方式不同,有着不同的效果。
RAID的数据组织方式分为三种:条带技术、镜像技术、校验码技术。
条带技术:能够提升读和写的能力,却不能够提供冗余支持。
镜像技术:能够提升读性能力,但写性能力会下降,提供冗余能力,不过磁盘的利用率只有50%至少需要两块磁盘
校验码技术:能够提升读写的能力和冗余备份的能力,空间利用率只有(n-1)/n
组成RAID阵列的不同方式被称之为RAID级别,不同的RAID级别具有不同的存储性能、不同的数据可靠性和不同的存储成本,不过级别只是代表磁盘的组织方式不同,并不存在上下之分。
RAID | 性能表现 | 冗余能力 | 空间利用率 | 磁盘需求量 |
0 | 读,写能力提升 | 无 | 100% | 至少2块 |
1 | 写性能略有下降,但读性能提升 | 有 | 1/2 | 至少2块 |
5 | 读,写能力提升 | 有 | (n-1)/n | 至少3块 |
10 | 读,写能力提升 | 有 | 1/2 | 至少4块 |
01 | 读,写能力提升 | 有 | 1/2 | 至少4块 |
50 | 读,写能力提升 | 有 | (n-2)/n | 至少6块 |
jbod | 无提升 | 无 | 100% | 至少2块 |
转载于:https://blog.51cto.com/earljoyce/1153700