zoukankan      html  css  js  c++  java
  • 搭建RAID5(5块硬盘)过程并模拟一块磁盘损坏情况

    首先:在配置RAID5之前我们先来了解一下它。RAID5,RAID是指独立磁盘冗余阵列,是把相同的数据存储在多个硬盘的不同地方的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个磁盘增加了平均故障间隔时间,储存冗余数据也增加了容错。常见组合有0,1,5,10。作用是为了防止硬盘物理损坏以及增加存储设备的吞吐量。下图为RAID5基本原理图,它最少需要3块硬盘,我们本次配置的是3块硬盘的RAID5,剩余两块硬盘做备份盘。RAID5中把数据分布在所有磁盘上进行并行读写,加快运行效率,每块盘都有“parity”块,这里保存的是其他硬盘数据的奇偶校验信息(并非其他硬盘数据),这样当任何一个硬盘损坏都可以根据其他硬盘上的奇偶校验信息通过算法来尝试重建损坏的数据,兼顾存储性能、数据安全和存储成本,相当于RAID0和RAID1的折中方案。

    第一步:添加五块硬盘

    首先关闭虚拟机,点击编辑虚拟机,或者右键虚拟机名称点击设置。之后弹出如下图界面。

     

     

    按图中步骤一路默认确定即可 添加sdb sdc sde sdd sdf这5块硬盘 。

    之后开机打开终端 输入命令 ll /dev/sd* 或者 fdisk -l查看硬盘是否创建成功

     

    第二步:

      创建 RAID5 输入命令 mdadm -Cv /dev/md0 -n 3 -l 5 -a yes -x 2 /dev/sdb /dev/sdc /dev/sdd /dev/sde   这里的命令中-n:指定设备数量 -l:RAID级别 -x:备份盘数量 -C:创建 -v:显示创建过程 -a yes:检测设备

     

     用mdadm -D /dev/md0 查看是否创建成功,那么这里就显示创建RAID5成功了。

    第三步:

      创建一个目录,格式化RAID5并将其挂载到该目录下。

      这里我们用mkfs.ext4 /dev/md0 命令将其格式化成了ext4文件系统。ext4就相当于windows里面的NTFS一样,如果不格式化磁盘是无法往里面写内容的。

    第四步:

      创建目录:mkdir /media/RAID5。

    第五步:

      用mount /dev/md0 /media/RAID5 命令进行挂载

      之后用mdadm -D /dev/md0 查看挂载完的磁盘信息。

     这里也可以用 echo“/dev/md0 /media/RAID5 ext4 defaults 0 0” >> /etc/fstab 命令将RAID5设置成开机自动挂载。也可以vi 进入/etc/fstab中直接编辑。

    创建完RAID5了,接下来我们来模拟一下其中一块磁盘损坏的情况:

    第一步:假设硬盘sdb损坏

      先用mdadm /dev/md0 -f /dev/sdb 命令模拟sdb损坏

    第二步:不用任何命令sde盘就自动顶替上去了。这时sde sdc sdd三个盘组成RAID5,sdb变成了备份盘,即便再去还原sdb 也不会顶替现在的sde,这就是上面提到的RAID5它其实不需要备份盘,通过奇偶校验码和算法就可以尝试恢复数据。

  • 相关阅读:
    【编程基础】const与#define的区别
    【Unity3D】模仿制作“神庙逃亡”吃金币后金币飞出屏幕效果
    【基础数学】素数判定、素数打表
    【NYOJ-187】快速查找素数—— 枚举法、筛选法、打表法
    【基础数学】质数,约数,分解质因数,GCD,LCM
    【NYOJ-35】表达式求值——简单栈练习
    【UVa-679】小球下落——二叉树的编号
    【UVa-442】矩阵链乘——简单栈练习
    【UVa-514】铁轨——栈的学习
    gitignore git提交忽略文件
  • 原文地址:https://www.cnblogs.com/Zh1z3ven/p/11725193.html
Copyright © 2011-2022 走看看