RAID(独立冗余磁盘阵列)
RAID技术通过把多个硬盘设备组合成一个容量更大的、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘上,利用分散读写技术来提升磁盘阵列整体性能,把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到数据冗余备份的效果。
虽然RAID技术起到冗余备份的效果,随之而来的成本也相应的提高;RAID技术的设计初衷是减少硬盘采购带来的费用支出,将多个容量小的硬盘组合成一个容量大的磁盘阵列,容量小的硬盘也将利用起来,但是与数据本身的价值比较,现代企业更加注重RAID技术所具备的冗余备份机制和硬盘吞吐量的提升。
RAID技术降低了硬盘设备损坏后数据丢失的机率,还提升了硬盘设备的读写速度
RAID级别 最少硬盘 可用容量 读写性能 安全性 特点 0 2 n n 低 追求最大容量和速度,任何一块盘损坏,数据全部异常。 1 2 n/2 n 高 追求最大安全性,只要阵列组中有一块硬盘可用,数据不受影响。 5 3 n-1 n-1 中 在控制成本的前提下,追求硬盘的最大容量、速度及安全性,允许有一块硬盘异常,数据不受影响。 10 4 n/2 n/2 高 综合RAID1和RAID0的优点,追求硬盘的速
1. RAID 0
RAID 0技术把多块硬盘(至少2块)通过硬件或这软件的方式串联在一起,组成一个大的磁盘阵列,并将数据依次写入到各个物理硬盘中。理想状态下,设备硬盘的读写会成倍提升,但一块硬盘故障会导致整个数据会受到影响;
RAID 0技术能够提升硬盘的读写速度,但不具备数据备份和错误修复能力
如下图所示,数据被分别保存到不同硬盘设备中,硬盘AB分别保存数据资料,从而实现提升读取、写入的效果
部署RAID 0
- 查看所有磁盘:lsblk按层级列出所有硬盘,RAID阵列制作使用到sdb-sdf磁盘;RAID 0 至少2块磁盘选用 sdb和sdc,RAID 0无法配合备份盘使用,因为任意硬盘一但出现故障,磁盘阵列中的数据都会受到影响
- 使用mdadm创建RAID 0,命名为/dev/md0 语法:mdadm [参数] 硬盘设备名称
参数: -C:创建
-v:显示过程
-n:指定磁盘数量
-l:指定创建RAID等级
-x:指定备份盘数量
-f:模拟硬盘故障
-r:移除硬盘
-a:添加检测硬盘名称
-D:查看磁盘阵列详细信息
-S:停止RAID磁盘阵列
- 查看磁盘阵列的详细信息
- 格式化
- 挂载
- 取消RAID 0 磁盘阵列
2. RAID 1
前面的RAID 0虽然提升了设备的读写速度,但是数据是分别存放在多个磁盘中,一但某个磁盘出现异常,磁盘阵列内的数据都会损坏;RAID 1 技术可增加数据的安全性,但不会加快设备的读写速度。
RAID 1是将2块以上的磁盘进行绑定,在写入数据时同时会写入到多个磁盘设备上面(数据的镜像或备份),当其中一块盘出现故障时,立即自动以热交换的方式来恢复数据的正常使用,搭配备份盘使用数据安全性更一步提升。
磁盘数据写入CPU切换硬盘的开销,速度会稍低于RAID 0;读取数据时从多块盘中读取,理论速率是硬盘数量的倍数;
RAID 1 写入速度稍低读取速度提示,硬盘利用率降低,安全性提升
- 查看所有磁盘:lsblk按层级列出所有硬盘,RAID阵列制作使用到sdb-sdf磁盘;RAID 1 至少2块磁盘选用 sdb和sdc,RAID 1可配合备份盘使用,任意硬盘一但出现故障,备份盘将顶替故障硬盘进行工作,磁盘阵列中的数据都不会受到影响
- 使用mdadm创建RAID 1,命名为/dev/md1
- 查看磁盘阵列详细信息
- 格式化
- 挂载
- 模拟一块硬盘损坏并将损坏硬盘剔除更换新的硬盘
3. RAID 5
RAID 5技术兼顾读写速度、数据安全性、成本,对三者的相互妥协;将硬盘设备的数据奇偶校验信息保存到其它所有出磁盘中,这样其中任意一盘损坏不会影响到磁盘阵列的数据完整性,搭配备份盘使用数据安全性更一步提升。
RAID 5至少3块盘组成,使用Disk Striping硬盘切割技术;保存的是奇偶校验信息而不是一样的数据内容,效率会得到提升,成本随之降低
RAID 5兼顾读写速度、数据安全性、成本,对三者的相互妥协
- 查看所有磁盘:lsblk按层级列出所有硬盘,RAID阵列制作使用到sdb-sdf磁盘;RAID 5 至少3块磁盘选用 sdb-sdd,RAID 5可配合备份盘使用,任意硬盘一但出现故障,备份盘将顶替故障硬盘进行工作,磁盘阵列中的数据都不会受到影响
- 使用mdadm创建RAID 5,命名为/dev/md5
- 查看磁盘阵列详细信息
- 格式化
- 挂载
- 模拟一块一盘损坏
4. RAID 10
RAID 10技术是RAID 1 + RAID 0技术的一个组合体,RAID 10至少4块硬盘来组建,先分别两两制作RAID 1磁盘阵列保证数据的安全性,然后对两个RAID 1磁盘阵列实施RAID 0技术,进一步提升硬盘设备的读写速度;理论上来讲,只要损坏的不是同一组的所有硬盘,最多可以损坏50%的硬盘设备而不丢失数据;再搭配备份盘使用安全性更一步提升。
RAID 10相对信息进行分割,然后将两两一组做的镜像,也就是RAID 1作为最低级别的组合,再使用RAID 0技术合到一起,将他们视为一块硬盘。
RAID 10继承了RAID 0的高读写速度和RAID 1的数据安全性,不考虑成本情况下RAID 10的性能超过RAID 5
- 查看所有磁盘:lsblk按层级列出所有硬盘,RAID阵列制作使用到sdb-sdf磁盘;RAID 10 至少1块磁盘选用 sdb-sde,RAID 10可配合备份盘使用,任意硬盘一但出现故障,备份盘将顶替故障硬盘进行工作,磁盘阵列中的数据都不会受到影响
- 使用mdadm创建RAID 10,命名为/dev/md10
- 查看磁盘阵列详细信息
- 格式化
- 挂载
RAID 0、1、5、10方案技术对比
RAID级别 最少硬盘 可用容量 读写性能 安全性 特点 0 2 n n 低 追求最大容量和速度,任何一块盘损坏,数据全部异常。 1 2 n/2 n 高 追求最大安全性,只要阵列组中有一块硬盘可用,数据不受影响。 5 3 n-1 n-1 中 在控制成本的前提下,追求硬盘的最大容量、速度及安全性,允许有一块硬盘异常,数据不受影响。 10 4 n/2 n/2 高 综合RAID1和RAID0的优点,追求硬盘的速
RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。这样一来,在最理想的状态下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。通俗来说,RAID 0技术能够有效地提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力;
尽管RAID 0技术提升了硬盘设备的读写速度,但是它是将数据依次写入到各个物理硬盘中,也就是说,它的数据是分开存放的,其中任何一块硬盘发生故障都会损坏整个系统的数据。因此,如果生产环境对硬盘设备的读写速度没有要求,而是希望增加数据的安全性时,就需要用到RAID 1技术了。
RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID 5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除自身以外的其他每一块硬盘设备上,这样的好处是其中任何一设备损坏后不至于出现致命缺陷;parity部分存放的就是数据的奇偶校验信息,换句话说,就是RAID 5技术实际上没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据。RAID这样的技术特性“妥协”地兼顾了硬盘设备的读写速度、数据安全性与存储成本问题。
顾名思义,RAID 10技术是RAID 1+RAID 0技术的一个“组合体”。RAID 10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高硬盘设备的读写速度。这样从理论上来讲,只要坏的不是同一组中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于RAID 10技术继承了RAID 0的高读写速度和RAID 1的数据安全性,在不考虑成本的情况下RAID 10的性能都超过了RAID 5,RAID 5技术是因为硬盘设备的成本问题对读写速度和数据的安全性能而有了一定的妥协,但是大部分企业更在乎的是数据本身的价值而非硬盘价格,因此生产环境中主要使用RAID 10技术,因此当前成为广泛使用的一种存储技术。
此文章仅记录自己的一个学习过程;逆水行舟