RAID 5加热备盘

RAID 10磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1磁盘阵列中的硬盘设备若全部损坏,也会导致数据丢失。换句话说,在RAID 10磁盘阵列中,如果RAID 1中的某一块硬盘出现了故障,而我们正在前往修复的路上,恰巧该RAID 1磁盘阵列中的另一块硬盘设备也出现故障,那么数据就被彻底丢失了,这种RAID 1磁盘阵列中的硬盘设备同时损坏的情况在现实中还真的存在。

在这样的情况下,完全可以使用RAID备份盘技术来预防这类事故。该技术的核心理念就是准备一块足够大的硬盘,这块硬盘平时处于闲置状态,一旦RAID磁盘阵列中有硬盘出现故障后则会马上自动顶替上去。这样很棒吧!

一、部署RAID 5磁盘阵列时,至少需要用到3块硬盘,还需要再加一块备份硬盘(也叫热备盘),所以总计需要在虚拟机中模拟4块硬盘设备。

二、创建一个RAID 5磁盘阵列+备份盘。在下面的命令中,参数-n 3代表创建这个RAID 5磁盘阵列所需的硬盘数,参数-l 5代表RAID的级别,而参数-x 1则代表有一块备份盘。当查看/dev/md0(即RAID 5磁盘阵列的名称)磁盘阵列的时候,就能看到有一块备份盘在等待中了。

mdadm -Cv /dev/md5  -n 3 -l 5 -x 1 /dev/sd[a-d]         

通过mdadm -D /dev/md5  查看同步状态及具体的信息

三、进行磁盘格式化,格式化格式可以是ext4也可以是xfs。我们这里就使用ext4格式

mkfs.ext4 /dev/md5

格式化完,由3块硬盘组成的RAID 5磁盘阵列,其对应的可用空间是n-1,也就是10GB。热备盘的空间不计算进来,平时完全就是在“休眠”状态,只有在意外出现时才会开始工作

四、挂载目录

mkdir /media/raid5
mount /dev/md5 /media/5

五、测试硬盘损坏,爆力将硬盘设备/dev/sdb移出磁盘阵列,然后迅速查看/dev/md5磁盘阵列的状态,就会发现状态是remove状态,

等待五分钟左右,就会发现备份盘已经被自动顶替上去并开始了数据同步。

六、换上新的硬盘,还是使用一块硬做为热备,查看新添加的硬盘序列是多少,例如这里是/dev/sdc 。

mdadm /dev/md5 -a /dev/sdc     检测设备名称
mdadm -D /dev/md5 查看/md5的具体信息

通过mdadm -D /dev/md5  我们可以看到我们刚刚添加的那块硬盘已作为热备盘了。

七、删除磁盘阵列,

首先,将挂载点卸载掉了,然后需要将所有的磁盘使用-f 都设置成停用状态,再使用-r参数进行移除。也可以用“mdadm /dev/md0 -f /dev/sdb -r /dev/sdb”这一条命令搞定。但是,在早期版本的服务器中,这条命令中的-f和-r不能一起使用,因此保守起见,还是一步步地操作吧。最后再使用大写-S停止阵列。

umount /dev/md5
mdadm /dev/md5 -f /dev/sda
mdadm /dev/md5 -f /dev/sdb
mdadm /dev/md5 -f /dev/sdc
mdadm /dev/md5 -f /dev/sdd
mdadm /dev/md5 -r /dve/sda
mdadm /dev/md5 -r /dev/sdb
mdadm /dev/md5 -r /dev/sdc
mdadm /dev/md5 -r /dev/sdd
mdadm -S /dev/md5 停止raid阵列

最新文章

  1. Yii 2.x 错误处理器、异常处理器、致命错误处理器 - 类图
  2. IO流总结
  3. user-select
  4. 分享几段JavaScript
  5. javaweb回顾第一篇servlet的学习和理解
  6. iOS新上线注意事项
  7. 兔子--R.java丢失原因及解决的方法
  8. java正则
  9. 发掘ListBox的潜力(一):自动调整横向滚动条宽度
  10. 我们熟悉的Textbox
  11. 现代3D图形编程学习-设置三角形颜色(译)
  12. 网络协议 13 - HTTPS 协议:加密路上无尽头
  13. initial
  14. DevOps 在公司项目中的实践落地
  15. python之路---面向对象编程(一)
  16. Delphi XE5 for Android (七)
  17. quartz终止正在运行的任务
  18. 深入PHP内核之全局变量
  19. mysql select语句执行顺序
  20. MSS & MTU

热门文章

  1. Java基础 - 注解详解
  2. width:auto 和 width:100%有什么区别
  3. grafana初级入门
  4. 查找bug的一些经验总结
  5. k8s集群搭建过程详解
  6. springmvc组件组成以及springmvc的执行过程
  7. piwik安装部署
  8. Netty学习摘记 —— 深入了解Netty核心组件
  9. PN结
  10. canvas离屏、旋转效果实践——旋转的雪花