磁盘阵列全名是: Redundant Arrays of Inexpensive Disks, 简称RAID ,意思是:廉价的磁盘冗余阵列。 RAID 可以通过一个技术(软件或硬件),将多个物理的磁盘整合成为一个虚拟的磁盘设备,而这个虚拟的磁盘不但扩展了储存空间,而且还有数据保护的功能。 RAID根据等级 (level) 的不同,而使得整合后的磁盘具有不同的功能,基本常见的 level 有以下这几种:raid0,raid1和raid5,根据这三种又衍生出了raid0+1或者rad1+0
RAID-0:磁盘叠加
这种模式一般是使用相同型号与容量的磁盘来组成。这种模式的 RAID 会将磁盘先切出等量的区块, 然后当一个文件需要要写入 RAID 设备时,该文件就会依据区块的大小切割好,然后再依次放到各个磁盘里。由于每个磁盘会交错的存放数据, 因此数据要写入 RAID 时,会被等量的放在各个磁盘上面。
RAID-0的特点就是:
1、磁盘越多RAID设备的容量就越大。
2、容量的总大小是多个硬盘的容量的总和。
3、磁盘越多,写入的效能就越高。
4、如果使用非等大的硬盘,那么当小的磁盘写满后,就直接向空间大的磁盘中写数据了。
5、最少的磁盘数是2个,而且磁盘使用率为100%
他的致命之处就是:万一其中一个磁盘有问题,那么数据就会全部出问题。因为数据是分开存储的。
RAID-1:镜像备份
这种模式主要是让同一份数据,完整的保存在不同的磁盘上。由于同一份数据会被分别写入到其他不同磁盘。因此在大量写入 RAID-1 设备的情况下,写入的效能会变的非常差。但如果你使用的是硬件 RAID (磁盘阵列卡) 时,磁盘阵列卡会主动的复制一份而不使用系统的 I/O总线,这对效能影响是不大的。 如果使用软件磁盘阵列,效能就会明显下降了。
RAID-1的特点是:
1、保证了数据的安全,
2、RAID-1设备的容量是所有磁盘容量总和的一半
3、在多个磁盘组成RAID-1设备的时候,总容量将以最小的那一颗磁盘为主
4、读取的效能相对增加。这是因为数据在不同的磁盘上面,如果多个进程在读取同一笔数据时,RAID 会自行取得最佳的读取平衡。
5、磁盘数必需是2的整数倍。磁盘利用率为50%
不足之处就是:写入的效能会降低
RAID-5:效能与数据备份的均衡考虑
RAID 5:至少需要三个以上的磁盘才能够组成这种类型的磁盘阵列。这种磁盘阵列的数据写入有点类似 RAID-0, 不过每个循环的写入过程中,在每颗磁盘还加入一个校验数据(Parity),这个数据会记录其他磁盘的备份数据, 用于当有磁盘损毁时的救援。
RAID-5的特点:
1、当任何一个磁盘损坏时,都能够通过其他磁盘的检查码来重建原本磁盘内的数据,安全性明显增强。
2、由于有同位检查码的存在,因此 RAID-5 的总容量会是整个磁盘数量减一个。
3、当损毁的磁盘数量大于等于两颗时,那么 RAID-5 的资料就损坏了。 因为 RAID-5 预设只能支持一颗磁盘的损坏情况。
4、在读写效能上与 RAID-0 差不多。
5、最少磁盘是3块,磁盘利用率N-1块
不足:数据写入的效能不一定增加,因为要写入 RAID 5 的数据还得要经过计算校验码 (parity)。所以写入的效能与系统的硬件关系较大。尤其当使用软件磁盘阵列时,校验码 (parity)是通过 CPU 去计算而非专职的磁盘阵列卡, 因此在数据校验恢复的时候,硬盘的效能会明显下降。
下面给大家分享下软raid5的做法:
# rpm -qf /sbin/mdadm 安装软件包
# mdadm -Cv /dev/md5 -l 5 -n 3 /dev/sda5 /dev/sda6 /dev/sda7
mdadm: array /dev/md5 started.
# mdadm -D -s /dev/md5 查看raid信息cat /proc/mdstat
#mkfs.ext3 /dev/md5
#mount /dev/md5 /mnt
生成 /etc/mdadm.conf 配置文件,开机自动识别
[root@lan1 dev]# mdadm -D -s > /etc/mdadm.conf
[root@lan1 dev]# vim !$
ARRAY /dev/md5 level=raid5 num-devices=3 UUID=5a944e39:948186b6:f2927409:b0ee5d4a
模拟损坏
[root@lan1 /]# mdadm /dev/md5 -f /dev/sda6
mdadm: set /dev/sda6 faulty in /dev/md5
[root@lan1 /]# mdadm -D -s /dev/md5
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
1 0 0 1 removed
2 8 7 2 active sync /dev/sda7
3 8 6 – faulty spare /dev/sda6
将损坏的盘移除
[root@lan1 /]# mdadm /dev/md5 -r /dev/sda6
mdadm: hot removed /dev/sda6
[root@lan1 /]# mdadm -D -s /dev/md5
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
1 0 0 1 removed
2 8 7 2 active sync /dev/sda7
添加一个新盘
[root@lan1 /]# partprobe /dev/sda
[root@lan1 /]# mdadm /dev/md5 -a /dev/sda8
mdadm: added /dev/sda8
[root@lan1 /]# mdadm -D -s /dev/md5 不需要格式化会自动重构
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
3 8 8 1 spare rebuilding /dev/sda8
2 8 7 2 active sync /dev/sda7
[root@lan1 /]# mdadm -D -s /dev/md5
Number Major Minor RaidDevice State
0 8 5 0 active sync /dev/sda5
1 8 8 1 active sync /dev/sda8
2 8 7 2 active sync /dev/sda7
启用与停用
[root@lan1 ~]# mdadm -A -s /dev/md5
mdadm: device /dev/md5 already active – cannot assemble it
[root@lan1 ~]# mdadm -S -s /dev/md5
mdadm: stopped /dev/md5
[root@lan1 ~]# mdadm -D -s /dev/md5
mdadm: md device /dev/md5 does not appear to be active.
[root@lan1 ~]# mdadm -A -s /dev/md5
mdadm: /dev/md5 has been started with 3 drives.
[root@lan1 ~]# mdadm -D -s /dev/md5
/dev/md5:
移除
[root@lan1 /]# umount /mnt
[root@lan1 /]# mdadm -S -s /dev/md5
mdadm: stopped /dev/md5
[root@lan1 /]# mdadm –zero-superblock /dev/sda5 /dev/sda7 /dev/sda8
[root@lan1 /]# mdadm -A -s /dev/md5
mdadm: /dev/md5 assembled from 1 drive – not enough to start the array.
mdadm -as /dev/md5 将设置为阵列随系统启动而启动a是auto的意思