Linux软件RAID(磁盘冗余阵列)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux软件RAID(磁盘冗余阵列)相关的知识,希望对你有一定的参考价值。
一、LVM与RAID特点对比
LVM | RAID |
---|---|
LVM实现动态扩容 | RAID支持动态扩容 |
LVM不支持磁盘加速 | RAID支持磁盘加速 |
LVM不支持冗余(数据备份) | RAID支持冗余 |
二、RAID(磁盘冗余阵列)
(1)硬件:磁盘阵列卡、磁盘阵列柜
(2)软件:mdadm
三、RAID级别
(1)RAID 0:需两块硬盘以上,一般为偶数磁盘数量,磁盘容量为多块磁盘的和(致命缺点:数据无冗余效果),提升磁盘I/O(读取、写入)、不允许磁盘损坏
(2)RAID 1:需两块硬盘以上,一般为偶数磁盘数量,磁盘容量为多块磁盘的一半,提升数据的可靠性(致命缺点:磁盘浪费严重)、允许磁盘坏掉一半
(3)RAID 5:需三块硬盘以上,一般为奇数磁盘数量,磁盘容量为多块磁盘-1,提升部分磁盘速度及冗余效果(致命缺点:生成校验和时占用额外计算资源)、允许损坏一块硬盘
(4)RAID 6:需四块硬盘以上,一般为偶数磁盘,磁盘容量为多块磁盘-2,相当于RAID 5提升了磁盘速度及冗余效果(允许损坏两块磁盘)
(5)RAID 1+0:需四块硬盘以上,一般为偶数磁盘,磁盘容量为多块磁盘的一半,综合了RAID 0+RAID 1的特性
(6)RAID 5+0:需六块磁盘以上,一般为偶数磁盘,磁盘容量为每三块磁盘-1,综合了RAID 5+RAID 0的特性
(7)RAID 6+0:需八块磁盘以上,一般为偶数磁盘,磁盘容量为每四块磁盘-2,综合了RAID 6+RAID 0的特性
注:组成RAID时,一般磁盘容量相等
四、RAID 5案例:
1.查看系统中的磁盘设备fdisk -l
2.使用命令mdadm创建raid
如果没有请先安装mdadm软件包(rpm -qa |grep mdadm
)
命令参数
-A = --assemble //激活
-S = --stop //停止
-D = --detail //查看raid详细信息
-C = -- create //建立raid设备
-v = --verbose //显示建立过程的详细信息
-l = --level //raid的级别
-n = --raid-devices //raid设备数
-s = --scan //扫描raid设备
-f = --fail //标示坏的硬盘
-a = --add //添加硬盘
-r = -remove //移除坏的硬盘
注:RHEL 的光盘中有这个包
3.创建raid5阵列
mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]
可以缩写为:mdadm –C –a yes /dev/md0 –l5 –n3 –x1 /dev/sd[b-e]
参数解释:
-create //表示要创建raid
--auto=yes /dev/md0 //是否自动检测,新建立的软件磁盘陈列设备为md0,md序号可以为0-9
--level=5 //磁盘阵列的等级,这里是raid5
-raid-devices //所需使用的磁盘数量
--spare-devices //添加作为预备(spare)磁盘的块数
/dev/sd[b-e] //磁盘阵列所使用的设备,还可以写成“/dev/sdb /dev/sdc /dev/sdd /dev/sde”
4.查看RAID是否成功的创建是否运行的正常
(1)查看详细信息:mdadm - -detail /dev/md0命令查看RAID的详细信息
(2)较为简单的查看:可以直接查看cat /proc/mdstat的文件看到RAID运行的情况
**注**:U代表没有问题、_则表示不正常;磁盘后面的(S)表示作为预备
5.格式化并且挂载和使用创建的RAID
mkfs.exe4 /dev/md0 //格式化 raid5磁盘为 md0
mkdir /raid
mount /dev/md0 /raid //将md0 挂载到/raid目录下查看一下挂载情况
df –hT
试一下新加上的RAID是不是可以使用,向里面写入文件
6.设置开机自动启动RAID以及自动挂载
让RAID开机自启动,RIAD配置文件名字为mdadm.conf 这个文件默认是不存在的,要自己建立.该配置文件存在的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理. 说明下mdadm.conf文件主要由以下部分组成:
DEVICES选项制定组成RAID所有设备,
ARRAY选项指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号
注意:此文件如果不创建下次开机重启后/dev/md0将会被系统自动识别为其他非/dev/md0名称的设备,对于实现开机挂载和使用都不方便
(1)先建立/etc/mdadm.conf 这个文件
mdadm --detail --scan > /etc/mdadm.conf //将raid信息导入配置文件
(2)要对这个文件做一下改动:将组成RAID5的设备名全部追加到配置文件中
(3)在设置RAID的自动挂载
vim /etc/fstab //修改挂载文件
/dev/md0 /raid ext4 defaults 0 0 //在文件中添加
7.模拟RAID5中的磁盘损坏
(1)验证spare磁盘的功能(在raid5中允许一块磁盘的损坏,也就是我们设置的spare磁盘会立即的替换坏掉的磁盘进行raid的重建,保障数据的安全性)
mdadm --manage /dev/md0 --fail /dev/sdd //使用此命令设置sdd成为出错的状态(或可简写为mdadm /dev/md0 -f /dev/sdd)
(2)查看一下磁盘的信息:mdadm --detail /dev/md0
(3)简单的查看一下RAID的情况
(4)创建完成也就是说明raid5 已经自动的恢复了!查看一下raid5是不是可以正常使用!
往里面新建文件写入数据,这时可以发现,RAID5还可正常使用,对数据不造成任何影响
Active sync /dev/sdb1 # raid的真成员
spare /dev/sdc1 #raid备用成员
(5)重新添加/dev/sdd进RAID5,可做以下操作:
mdadm /dev/md0 --remove /dev/sdd //将坏掉的磁盘sdd从raid中移除
mdadm /dev/md0 -a /dev/sdd //将/dev/sdd加入阵列
(6)查看状态
mdadm --zero-superblock --force /dev/sdd(可选) //可修复硬盘将模
拟损坏的硬盘重新添加
(7)再模拟损坏掉一块硬盘,验证硬盘是否还可正常工作
(8)再次查看硬盘状态
8.关闭RAID的方法
直接卸载/dev/md0,并且注释掉/etc/fstab文件中的配置
umount /dev/md0 //解除挂接
vim /etc/fstab //将fstab里面的开机自动挂载注释掉
#/dev/md0 /var/www/html ext4 defaults 0 0
mdadm --stop /dev/md0 //停止md0磁盘服务
以上是关于Linux软件RAID(磁盘冗余阵列)的主要内容,如果未能解决你的问题,请参考以下文章
linux-RAID磁盘阵列进程管理日志管理systemctl控制