博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux软RAID(磁盘冗余阵列)
阅读量:6226 次
发布时间:2019-06-21

本文共 3401 字,大约阅读时间需要 11 分钟。

一、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

Linux软RAID(磁盘冗余阵列)

2.使用命令mdadm创建raid

如果没有请先安装mdadm软件包(rpm -qa |grep mdadm

Linux软RAID(磁盘冗余阵列)
命令参数

-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]

Linux软RAID(磁盘冗余阵列)

参数解释

-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的详细信息

Linux软RAID(磁盘冗余阵列)

Linux软RAID(磁盘冗余阵列)

(2)较为简单的查看:可以直接查看cat  /proc/mdstat的文件看到RAID运行的情况

Linux软RAID(磁盘冗余阵列)

**注**:U代表没有问题、_则表示不正常;磁盘后面的(S)表示作为预备

5.格式化并且挂载和使用创建的RAID

mkfs.exe4  /dev/md0             //格式化   raid5磁盘为 md0

Linux软RAID(磁盘冗余阵列)

mkdir  /raid

Linux软RAID(磁盘冗余阵列)

mount  /dev/md0  /raid      //将md0 挂载到/raid目录下查看一下挂载情况
df  –hT

Linux软RAID(磁盘冗余阵列)

试一下新加上的RAID是不是可以使用,向里面写入文件
Linux软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信息导入配置文件

Linux软RAID(磁盘冗余阵列)

(2)要对这个文件做一下改动:将组成RAID5的设备名全部追加到配置文件中
Linux软RAID(磁盘冗余阵列)
(3)在设置RAID的自动挂载

vim  /etc/fstab     //修改挂载文件/dev/md0   /raid     ext4     defaults    0   0     //在文件中添加

Linux软RAID(磁盘冗余阵列)

7.模拟RAID5中的磁盘损坏

(1)验证spare磁盘的功能(在raid5中允许一块磁盘的损坏,也就是我们设置的spare磁盘会立即的替换坏掉的磁盘进行raid的重建,保障数据的安全性)

mdadm  --manage  /dev/md0  --fail /dev/sdd  //使用此命令设置sdd成为出错的状态(或可简写为mdadm  /dev/md0  -f  /dev/sdd)

Linux软RAID(磁盘冗余阵列)

(2)查看一下磁盘的信息:mdadm --detail /dev/md0
Linux软RAID(磁盘冗余阵列)
Linux软RAID(磁盘冗余阵列)
(3)简单的查看一下RAID的情况
Linux软RAID(磁盘冗余阵列)
(4)创建完成也就是说明raid5 已经自动的恢复了!查看一下raid5是不是可以正常使用!
往里面新建文件写入数据,这时可以发现,RAID5还可正常使用,对数据不造成任何影响
Linux软RAID(磁盘冗余阵列)

Active  sync  /dev/sdb1   # raid的真成员spare  /dev/sdc1            #raid备用成员

(5)重新添加/dev/sdd进RAID5,可做以下操作:

mdadm  /dev/md0  --remove  /dev/sdd      //将坏掉的磁盘sdd从raid中移除

Linux软RAID(磁盘冗余阵列)

mdadm  /dev/md0  -a  /dev/sdd             //将/dev/sdd加入阵列

Linux软RAID(磁盘冗余阵列)

(6)查看状态
Linux软RAID(磁盘冗余阵列)
Linux软RAID(磁盘冗余阵列)

mdadm  --zero-superblock  --force  /dev/sdd(可选)    //可修复硬盘将模拟损坏的硬盘重新添加

Linux软RAID(磁盘冗余阵列)

(7)再模拟损坏掉一块硬盘,验证硬盘是否还可正常工作
Linux软RAID(磁盘冗余阵列)
(8)再次查看硬盘状态
Linux软RAID(磁盘冗余阵列)
Linux软RAID(磁盘冗余阵列)
Linux软RAID(磁盘冗余阵列)

8.关闭RAID的方法

直接卸载/dev/md0,并且注释掉/etc/fstab文件中的配置

umount  /dev/md0                  //解除挂接

Linux软RAID(磁盘冗余阵列)

vim  /etc/fstab                     //将fstab里面的开机自动挂载注释掉#/dev/md0     /var/www/html     ext4     defaults         0   0

Linux软RAID(磁盘冗余阵列)

mdadm --stop /dev/md0           //停止md0磁盘服务

Linux软RAID(磁盘冗余阵列)

转载于:https://blog.51cto.com/13770206/2131374

你可能感兴趣的文章
[ZigBee] 6、ZigBee基础实验——定时器3和定时器4(8 位定时器)
查看>>
Jquery操作cookie
查看>>
Atitit 基于meta的orm,提升加速数据库相关应用的开发
查看>>
Spring:ApplicationContext (2)
查看>>
数据记录筛选
查看>>
windows 10专业版14393.447 64位纯净无广告版系统 基于官方稳定版1607制作 更新于20161112...
查看>>
Python正则表达式学习摘要及资料
查看>>
C++项目中的extern "C" {}
查看>>
Oozie分布式任务的工作流——脚本篇
查看>>
python的分布式爬虫框架
查看>>
Unity3D研究院之使用Animation编辑器编辑动画
查看>>
编译时常量与运行时常量
查看>>
深究JS异步编程模型
查看>>
深度学习常见算法之训练自己的数据
查看>>
Visual Studio2015使用tinyfox2.x作为Owin Host调试教程
查看>>
中国的支付清算体系是怎么玩的?
查看>>
[工具] 全文检索工具推荐
查看>>
java取整和java四舍五入方法 BigDecimal.setScale()方法详解
查看>>
Spring boot中使用springfox来生成Swagger Specification小结
查看>>
python 01
查看>>