Raid 磁盘正列
一、Raid 磁盘正列概念:
由多块 存储设备,按照一定的逻辑关系,组成的磁盘组,称之为 磁盘阵列
RAID(Redundant Array of Independent Disk 独立冗余 磁盘 阵列技术 )
1、将多个小磁盘"有序的",按照一定规则的,组合成一个大的存储,获得大的存储空间。
2、能加快存储速度。
3、能够承担硬盘损坏的风险。
4、能够自动的替换损坏磁盘,完全线上自动操作。
二、RAID 的几种工作模式:
三、RAID模式简要介绍 :
1、RAID0 模式:
优点:RAID 0 可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量
缺点:不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复
2、RAID1 模式:
优点:最大限度的保证系统的可靠性和可修复性,具有很高的数据冗余能力,数据的百分之百备份
缺点:磁盘空间利用率低,存储成本高
3、RAID 3 模式:
RAID3使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作。当一块磁盘失效时,该磁盘上的所有数据块必须使用校验信息重新建立,如果所要读取的数据块正好位于已经损坏的磁盘,则必须同时读取同一带区中的所有其它数据块,并根据校验值重建丢失的数据。
4、RAID5 模式:
RAID5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
5、RAID10 模式:
RAID10最少需要4块硬盘才能完成。把2块硬盘组成一个RAID1,然后两组RAID1组成一个RAID0。虽然RAID10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性。因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。
四、Raid 建立磁盘正列 :
1、安装 mdadm 软件
[root@deng-120 ~]# yum install -y mdadm
2、在虚拟机上添加磁盘,调整内存为2G(添加5磁盘个来做实验,内存大小可以自己设定)
哎呀,我加的好像有点多了。哈哈哈…
3、建立 RAID 10
mdadm命令的常用参数和作用
参数 作用
-a 检测设备名称
-n 指定设备数量
-l 指定RAID级别
-C 创建
-v 显示过程
-f 模拟设备损坏
-r 移除设备
-Q 查看摘要信息
-D 查看详细信息
-S 停止RAID磁盘阵列
-x 创建预备磁盘
-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID磁盘阵列的名称; -a yes参数代表自动创建设备文件;-n 3参数代表使用3块硬盘来部署这个RAID磁盘阵列,-x 1是用一块磁盘作为预留磁盘,{c,d,e,f} 是吧这四个盘作为正列盘。ls /dev/sd* 查看添加的磁盘
[root@deng-120 ~]# mdadm -Cv /dev/md0 -a yes -l 10 -n 3 -x 1 /dev/sd{c,d,e,f}
3、查看创建的 RAID 10 的信息( spare 为创建的备用磁盘)
[root@deng-120 ~]# mdadm -D /dev/md0
/dev/md0:
......
Number Major Minor RaidDevice State
0 8 32 0 active sync /dev/sdc
1 8 48 1 active sync /dev/sdd
2 8 64 2 active sync /dev/sde
3 8 80 - spare /dev/sdf
也可以使用 cat /proc/mdstat 的命令来查看创建 RAID 10 的信息
[root@deng-120 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 sdf[3](S) sde[2] sdd[1] sdc[0]
1569792 blocks super 1.2 512K chunks 2 near-copies [3/3] [UUU]
unused devices: <none>
4、格式化 md0 为 ext4 的格式,并且挂载到raid(文件夹自行创建)
[root@deng-120 /]# mkfs.ext4 /dev/md0
[root@deng-120 /]# mdkir /raid
[root@deng-120 /]# mount /dev/md0 /raid/
5、 模拟损坏磁盘阵列及修复
[root@deng-120 /]# mdadm /dev/md0 -f /dev/sdc
mdadm: set /dev/sdc faulty in /dev/md0
再次查看,发现 sdc 显示 faulty ,作为预备盘就立马顶替了 sdc 的位置
[root@deng-120 /]# mdadm -D /dev/md0
/dev/md0:
......
Number Major Minor RaidDevice State
0 8 32 0 active sync /dev/sdf
1 8 48 1 active sync /dev/sdd
2 8 64 2 active sync /dev/sde
0 8 32 - faulty /dev/sdc
将坏掉的 sdc 盘移除
[root@deng-120 /]# mdadm /dev/md0 -r /dev/sdc
mdadm: hot removed /dev/sdc from /dev/md0
重新添加一块好的磁盘 sdg 会自动生成为预备磁盘
[root@deng-120 /]# mdadm /dev/md0 -a /dev/sdg
mdadm: added /dev/sdg
[root@deng-120 /]# mdadm -D /dev/md0
/dev/md0:
......
Number Major Minor RaidDevice State
3 8 80 0 active sync /dev/sdf
1 8 48 1 active sync /dev/sdd
2 8 64 2 active sync /dev/sde
4 8 96 - spare /dev/sdg
6、设置 raid 的 md0 设备,实现开机自动挂载
[root@deng-120 /]# cp /usr/share/doc/mdadm-4.0/mdadm.conf-example /etc/mdadm.conf
[root@deng-120 /]# mdadm -Ds /dev/md0 >> /etc/mdadm.conf
7、修改 /etc/rc.d/rc.local 实现永久挂载
[root@deng-120 /]# vim /etc/rc.local
......
mount /dev/md0 /raid
接下来的 LVM 逻辑卷扩容和所容也是要用到正列的知识的内容,要在磁盘正列的基础上完成