· 什么是RAID
RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)
1988年,美国加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念
RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果
也就是说,RAID不仅降低了硬盘设备损坏后丢失数据的几率,还提升了硬盘设备的读写速度
出于成本和技术方面的考虑,需要针对不同的需求在数据可靠性及读写性能上做出权衡,制定出满足各自需求的不同方案。目前已有的RAID磁盘阵列的方案至少有十几种
RAID常见方案
接下来讲解RAID 0、RAID 1、RAID 5与RAID 10这4种最常见的方案,其中n代表硬盘总数
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
RAID 1技术把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份),当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用
只要保证有一块硬盘稳定运行,数据就不会出现损坏的情况,可靠性较高
(成本高)
RAID 5
RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中
parity部分存放的就是数据的奇偶校验信息(压缩的数据)
没有备份硬盘中的真实数据信息,而是当硬盘设备出现问题后通过奇偶校验信息来尝试重建损坏的数据
RAID 5最少由三块硬盘组成,使用的是Disk Striping硬盘切割技术
兼顾了硬盘设备的读写速度、数据安全性与存储成本问题
RAID 10
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磁盘冗余阵列
部署RAID 10
1.在虚拟机中添加4块硬盘设备
关机状态下在虚拟机中添加硬盘设备,否则可能会因为计算机架构的不同而导致虚拟机系统无法识别新添加的硬盘设备
2.创建RAID 10
使用mdadm命令
mdadm(multiple devices admin):用于创建、调整、监控和管理RAID设备
格式:mdadm 参数 硬盘名称
[root@xiudaochengxian ~]# mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sd[b-e]
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
#查看简要信息
[root@xiudaochengxian ~]# mdadm -Q /dev/md0
/dev/md0: 39.97GiB raid10 4 devices, 0 spares. Use mdadm --detail for more detail.
#硬盘存在50%的使用率和50%的冗余率,硬盘容量只有一半
3.格式化磁盘阵列
#所有能够格式化的系统类型
[root@xiudaochengxian ~]# mkfs
mkfs mkfs.ext2 mkfs.fat mkfs.vfat
mkfs.btrfs mkfs.ext3 mkfs.minix mkfs.xfs
mkfs.cramfs mkfs.ext4 mkfs.msdos
#格式化为ext4格式
[root@xiudaochengxian ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10477056 blocks
523852 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: 0done
4.创建挂载点,将硬盘设备进行挂载操作
#创建挂载目录
[root@xiudaochengxian ~]# mkdir /RAID
#挂载
[root@xiudaochengxian ~]# mount /dev/md0 /RAID
#查看挂载信息
[root@xiudaochengxian ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 17G 3.5G 14G 21% /
devtmpfs