RAID磁盘阵列介绍
raid是Redundant Array of lndependent Disks的缩写,中文简称为独立冗余磁盘阵列。
raid把多块独立的物理硬盘按不同的方式组合起来形成一个逻辑硬盘组,从而提供比单个硬盘更高的存储性能和提供数据备份的技术。
组成磁盘阵列的不同方式成为raid级别,常用raid级别有raid0,raid1,raid5,raid6,raid1+0等
raid 0
raid 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,raid 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有的数据,所以raid 0不能应用于数据安全性要求高的场合。raid 0使用的磁盘越多读写效率越高。
raid 1
通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据,当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此raid 1可以提高读取性能,raid 1时磁盘阵列中单位成本第二高的,但是提供了跟高的数据安全ing和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。raid 1的磁盘必须大于等于2块盘。
raid 5
raid 5由3块或3块以上的磁盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高,可靠性高,坏1块盘不影响所有数据。
raid 6
如果raid 5坏了两块盘呢,数据就一定会受到影响,所有出现了raid 6,raid 6相比raid 5多了一个不同算法的校验数据,形成两个校验数据,当一块盘或两块盘损坏之后,可以通过两份校验数据恢复原数据,raid 6最少需要4块盘。
raid 1+0
raid 1+0的意思是在做raid 1的基础上再做raid 0,让这个磁盘阵列在提高传输效率的同时有一个冗余备份的功能,当然raid 1+0的成本也是这几个raid中最高的。raid 1+0可以写成raid 10.
各个raid之间的对比
对比项 | raid0 | raid1 | raid5 | raid6 | raid10 |
---|---|---|---|---|---|
磁盘数 | ≥2 | ≥2 | ≥3 | ≥4 | ≥4 |
存储利用率 | 100% | 50% | n-1/n | n-2/n | 50% |
校验盘 | 0 | 0 | 1 | 2 | 0 |
容错性 | 无 | 有 | 有 | 有 | 有 |
性能 | 高 | 低 | 较高 | 较高 | 中 |
命令
mdadm -C -v /dev/md100 -l 10 -n4 x2 /dev/sd{b…g}:n后面的数字表示要加几块 x后面的数字表示备份的是多少块
mdadm -Dsv /dev/md100:查看md100的详情
/etc/mdadm.conf:需要手动创建然后把-Dsv的信息添加进去
cat /proc/mdstat:查看mdadm的实时情况
mdadm /dev/md100 -f /dev/sdb:让sdb出错
mdadm -S /dev/md100:停止md100
mdadm -r /dev/md100 /dev/sdb:在md100中移除sdb
mdadm -a /dev/md100 /dev/sdc:在md100中添加sdc,添加进去会先成为备份盘
mdadm /dev/md100 -f /dev/sdb -r /dev/sdb:让sdb出错并移除sdb
watch -n 2 ‘mdadm -D /dev/md100 | tail’:每2s对/dev/md100进行监控 n后面跟秒数
mdadm -G /dev/md100 -n 4:将md100的主盘变成4块,raid5只能添加,raid1可以添加和删除
mdadm -As:激活所有mdadm,后面跟单个md就是激活单个md,激活时读取md配置文件
删除raid,把磁盘做其他用 ↓↓↓
1.停止挂载:umount /dev/md100 /opt
2.停止md100:mdmdadm -S /dev/md100
3.删除配置文件:rm -rf /etc/mdadm.conf
4.清除磁盘中raid标识:mdadm --zero-superblock /dev/sd{b…e}