设定和管理软RAID设备
什么是RAID
RAID:独立磁盘冗余阵列
1988年由加利福尼亚大学伯克利分校发表“A Case for Redundant Arrays of Inexpensive Disks”
通俗的说RAID就是把硬盘组合在一起,组成一个磁盘阵列;实现对数据的可靠性、读写快速性、冗余性廉价性的存储
RAID功能:
提高IO能力----------------->磁盘并行读写
提高耐用性----------------->磁盘冗余来实现
级别:多块磁盘组织在一起的工作方式有所不同
RAID实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器-------------->安装OS前在BIOS里配置
软件RAID:通过OS实现
RAID级别:
RAID-0: 条带
原理:分片分散存入2块磁盘
对数据读、写性能都有很大提升;无容错,不提供冗余能力;最少需要2块硬盘
坏一块硬盘,数据就丢失了,数据难恢复
用途SWAP/TMP
RAID-1: 镜像
原理:相同数据存入2块磁盘
对数据读性能提升,但是写性能下降;空间利用率低,只有1/2;至少需要2块硬盘;具有冗余能力
磁盘损坏一块,不会丢失任何数据
最多允许坏一个
用途:数据备份
RAID-4: 校验
原理:分片分散存入2块磁盘,校验码存入第三块磁盘
对数据读、写性能都有很大提升;空间利用率高(2/3),有容错能力; 最少需要3块磁盘
单独一块磁盘放奇偶校验码,但是大量的访问很容易造成,这个磁盘的损坏,修复慢,性能消耗大
最多允许坏一个
用途很少,目前没人用了
RAID-5: 校验
原理:分片和校验码混合存储
对数据读、写性能都有很大提升;有容错能力;最少需要3块磁盘;空间利用率(2/3) 通用公式(n-1)/n
奇偶校验码分布写入每个磁盘,每个磁盘都是检验盘,和4一样,修复慢,性能损失大
最多允许坏一个
用途不广,用的不多
RAID-6:校验
原理:分片盘 校验码盘分别2个数据数据分片检验码计算2次
对数据读、写性能都有很大提升;有容错能力,空间利用率{(n-2)/2};最少4块硬盘
4个盘的话,最多允许坏2个
用途也很少
RAID-10: 1+0
对数据读、写性能提升很大,空间利用率(1/2)也不错;有容错能力;最少四块磁盘
每组镜像最多只能坏一块
用途最广,用的最多
优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低
RAID-01
原理:多块磁盘先实现RAID0,再组合成RAID1
最少磁盘数:4 偶数块
和10差不多,一般都会用10
RAID-50:5+0
原理:多块磁盘先实现RAID5,再组合成RAID0
对数据读写都有很大提高;利用率高(2/3);有容错能力;最少6块磁盘
一般土豪才用,好是好,就是成本高,有点贵
JBOD:Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用
RAID7
可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式 常用级别:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
RAID使用简明注意事项
1、使用前请先备份硬盘的资料,一旦进行RAID设定或是变更RAID模式,将会清除硬盘里的所有资料,以及无法恢复;
2、建立RAID时,建议使用相同品牌、型号和容量的硬盘,以确保性能和稳定;
3、请勿随意更换或取出硬盘,如果取出了硬盘,请记下硬盘放入两个仓位的顺序不得更改,以及请勿只插入某一块硬盘使用,以避免造成资料损坏或丢失;
4、如果旧硬盘曾经在RAID模式下使用,请先进清除硬盘RAID信息,让硬盘回复至出厂状态,以免RAID建立失败;
5、RAID0模式下,其中一个硬盘损坏时,其它硬盘所有资料都将丢失;
6、RAID1模式下,如果某一块硬盘受损,可以用一块大于或等于受损硬盘容量的新硬盘替换坏硬盘然后开机即可自动恢复和修复资料以及RAID模式。此过程需要一定时间,请耐心等
构建raid设备:
一般raid设备在Linux设置软raid,设备名称都是以md{0....},其中md表示md(multi devices)
如:RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等
软件RAID的实现
mdadm:模式化的工具 (为软RAID提供管理界面)
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
[mode](模式):
创建:-C
装配: -A
监控: -F
管理:-f, -r, -a
<raiddevice>: /dev/md#
<component-devices>: 任意块设备
-C: 创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID设备的设备文件
-c CHUNK_SIZE: 指明块大小
-x #: 指明空闲盘的个数
-D:显示raid的详细信息;
mdadm -D /dev/md#
管理模式:
-f:标记指定磁盘为损坏
-a:添加磁盘
-r: 移除磁盘
观察md的状态:
cat /proc/mdstat
软RAID配置示例
1、首先准备好硬盘分区,大小一致,我们这里做软RAID,现实成产环境都是硬RAID,这里只是测试实验了解RAID的特性。如果实际小企业生成中用软RAID,都是一块硬盘整盘做,这里虚拟机实验,只是取一个硬盘的分区
image.png
在实际环境中有些已存在的硬盘,重新使用,需要检查磁盘是否存在 RAID 块,使用下面的命令来检查。
mdadm -E /dev/sd[b-d]
mdadm --examine /dev/sdb /dev/sdc /dev/sdd
image.png
2、使用mdadm创建并定义RAID设备
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb2 /dev/sdc1 /dev/sdd1 /dev/sda6
image.png
image.png
image.png
检查并确认 RAID,从 mdstat 中输出中可以看到包括的设备的 RAID 级别
cat /proc/mdstat
image.png
3、用文件系统对每个RAID设备进行格式化
mkfs.ext4 /dev/md0
image.png
4、测试RAID设备,使用mdadm检查RAID设备的状况
mdadm -D /dev/md0
image.png
5、生成配置文件:默认情况下 RAID 没有配置文件。我们必须手动保存。如果此步中没有跟随不属于 md0 的 RAID 设备,它会是一些其他随机数字。所以,我们必须要在系统重新启动之前保存配置。如果配置保存它在系统重新启动时会被加载到内核中然后 RAID 也将被加载。
注意:保存配置将保持 md0 设备的 RAID 级别稳定不变
mdadm –D –s >> /etc/mdadm.conf
image.png
6、永久挂载使用
mkdir /mnt/md0
vim /etc/fstab
UUID=ddc783f9-2de2-47cc-b5fb-ae0370284843 /mnt/md0 ext4 defaults 0 0
image.png
image.png
image.png
image.png
软RAID测试和修复
模拟磁盘故障
mdadm /dev/md0 -f /dev/sda1
移除磁盘
mdadm /dev/md0 –r /dev/sda1
从软件RAID磁盘修复磁盘故障 • 替换出故障的磁盘然后开机 • 在备用驱动器上重建分区
mdadm /dev/md0 -a /dev/sda1 添加磁盘
增加新的成员
mdadm –G /dev/md0 –n4 -a /dev/sdf1
同步添加磁盘成员空间文件系统
resize2fs /dev/md0(只针对ext系列文件系统)
xfs_growfs /dev/md0(这个是针对xfs文件系统的)
/proc/mdstat及系统日志信息
软RAID管理
生成配置文件:mdadm –D –s >> /etc/mdadm.conf
停止设备:mdadm –S /dev/md0
激活设备:mdadm –A –s /dev/md0 激活
强制启动:mdadm –R /dev/md0
删除raid信息:mdadm --zero-superblock /dev/sdb1
练习
1:创建一个可用空间为1G的RAID1设备,文件系统为ext4 ,有一个空闲盘,开机可自动挂载至/backup目录 2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录
网友评论