zoukankan      html  css  js  c++  java
  • RAID详解及软RAID管理

    RAID释义:

    RAID--磁盘冗余阵列(将磁盘有组织的捆绑到一起使用,提高IO速率、提供冗余备份)

    RAIDRAID卡(类似bios界面)

    RAID:软件模拟--mdadm

    RAID类型

    RAID 0:把多块物理磁盘(至少两块)通过硬件或软件串联到一起,将数据一次写入到各个物理盘中,IO速率成倍增加,毫无备份功能,磁盘使用率100%   RAID0----条带模式

    RAID 1:至少两块盘成2n倍数,IO熟虑没有提升,数据具备冗余效果,磁盘空间使用率低100%/n   RAID1---镜像模式

    RAID 5:至少三快盘,至多允许损坏一块盘,在提升IO速率的同时,提供数据备份功能,提供奇偶过程,奇偶校验码必须穿插存储在不同硬盘上

    RAID 6:至少需要四块盘,至多损坏两块盘,提供双奇偶校验

    RAID 10RAID0+RAID1  至少需要四块磁盘(先提供IO速率再提供数据备份功能)

    先做两个raid1,然后将两个raid1做成raid0(先镜像,再条带)

    RAID 01RAID1+RAID0  至少需要四块硬盘(先提供数据备份再提供IO速率功能)

    先做两个raid0,然后将两个raid0做成raid1(先条带,再镜像)

    一.创建raid10的软raid制作(先加四块盘,也可以用分区做)

    /dev/sdb   /dev/sdc   /dev/sdd   /dev/sde   4块盘都是2G

    #]yum  -y  install  mdadm

    mdadm选项注解

    -a--add:添加设备到阵列

    -C--create:建立一个新阵列

    -c--chunk:设定阵列的块chunk大小,单位为KB

    -l--level:设定磁盘阵列的级别

    -n--raid-devices=:指定阵列成员(分区/磁盘)的数量

    -x--spare-devicds=:指定阵列中备用盘的数量

    -G--grow:改变阵列大小或形态

    -D--detail:打印阵列设备的详细信息

    -s--scan:扫描配置文件或/proc/mdstat得到阵列缺失信息

    -A:激活磁盘阵列

    -f:将设备状态定为故障

    -v--verbose显示详细信息

    -r:移除设备

    #]mdadm  -E  /dev/sd[b-e]   

    (查看这几块盘是否做过raid)

    如果没有检测到超级块,意味着没有配置raid

    #]mdadm  -Cv  /dev/md0  -a  yes  -n  4  -l  10  /dev/sdb  /dev/sdc  /dev/sdd /dev/sde

    #]ll  /dev/md0

    brw-rw---- 1 root disk 9, 0 1231 21:37 /dev/md0

    做好raid之后格式化文件系统才能使用

    #]mkfs.ext4  /dev/md0

    创建挂载目录并挂载到该目录下,df -hT查看挂载信息

    #]mkdir  /RAID

    #]mount  /dev/md0  /RAID

    #]df  -hT

     查看阵列信息

    #]mdadm  -D  /dev/md0

    #]echo  “/dev/md0  /RAID  ext4  defaults  0  0”  >>  /etc/fstab  (实现开机自动挂载)

    #]mount  -a

    实际生产环境中若做了软raidraid中有磁盘损坏的修复方法如下:

    #]mdadm  /dev/md0  -f  /dev/sdb

    #]mdadm  -D  /dev/md0

    在阵列中损坏一块盘不影响整个阵列的使用,重新添加新盘即可恢复

    #]mdadm  /dev/md0  -a  /dev/sdb

    mdadm: Cannot open /dev/sdb: Device or resource busy 

    (/dev/sdb正在使用中,需要去除开机自动挂载并重启机器后重新把/dev/sdb加入到raid)

    #]sed  -i  's&^/dev/md0&#/dev/md0&'  /etc/fstab

    #]reboot

    #]mdadm  /dev/md0  -a  /dev/sdb

    mdadm: added /dev/sdb  /dev/sdb加入/devmd0成功)

    #]mdadm  -D  /dev/md0

    raid恢复后查看挂载信息并未发现设备/dev/md0和挂载目录,之前sed命令注释了,需要重新设置开机自动挂载并重新挂载

    注意:raid重构后,可能会自动重新命名,并不是原来的raid消失只是名字变了,如果发生raid名字重命名了,挂载时修改相对应的名字即可(原因是dev设备管理器会自动对设备进行命名,rhel6不会改变设备名字,rhel7可能会改变)

    #]df  -hT

    #]sed  -i  ‘s&#/dev/md0&/dev/md0&’  /etc/fstab

    #]mount  -a

    #]df  -hT

    停止raid

    #]umount  /RAID

    #]mdadm  -S  /dev/md0  

    (-S选项停止使用raid,等同于删除raid,再去查看是没有/dev/md0这块设备的)

    RAID卡支持热插拔,不需要重启,软RAID重构需要重启生效

    二.创建raid5的软raid制作(先加四块盘,也可以用分区做)raid+备份盘

    备份盘:存储奇偶校验码,用于恢复raidraid5机制)

    /dev/sdb   /dev/sdc   /dev/sdd   /dev/sde   4块盘都是2G

    #]mdadm  -Cv  /dev/md1  -a  yes  -l  5  -n  3  -x  1  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde

    注意:不管主盘备份盘的选项放前还是放后,备份盘都是在主盘之后,只有创建了raid之后才有备份盘,和选项先后顺序无关,和磁盘先后顺序有关

    #]mdadm  -Cv  /dev/md1  -a  yes  -l  5  -n  3  -x  1  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde

    #]mdadm  -Cv  /dev/md1  -a  yes  -l  5  -x  1  -n  3  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde

    (这两条命令的结果都是/dev/sdb  /dev/sdc  /dev/sdd三块做raid主盘,/dev/sde做备份盘)

    #]mdadm  -D  /dev/md1

     

    #]mkfs.ext4  /dev/md1

    #]echo “/dev/md1  /RAID  ext4  defaults  0  0”  <<  /etc/fstab

    #]mount  /dev/md1  /RAID

    #]df  -hT

     

    raid中剔除/dev/sdb后查看/dev/md1状态

    #]mdadm  /dev/md1  -f  /dev/sdb

    #]mdadm  -D  /dev/md1

     

    去除开机自动挂载并重启,然后重构raid查看raid5的阵列变化

    #]sed  -i  ‘s&^/dev/md1&#/dev/md1&’  /etc/fstab

    #]reboot

    #]mdadm  /dev/md1  -a  /dev/sdb

    #]mdadm  -D  /dev/md1

     

    重新挂载使用

    #]sed  -i  ‘s&^#/dev/md1&/dev/md1&’  /etc/fstab

    #]mount  /dev/md1  /RAID  (mount  -a)

    #]df  -hT

     

    三.创建raid01的软raid制作

    /dev/sdb   /dev/sdc   /dev/sdd   /dev/sde   4块盘都是2G

    #]mdadm  -Cv  /dev/md2 -a yes -n 2 -l 0 /dev/sdb /dev/sdc

    #]mdadm  -D  /dev/md2

    #]mdadm  -Cv  /dev/md3 -a yes -n 2 -l 0 /dev/sdd /dev/sde

    #]mdadm  -D  /dev/md3

    #]mdadm  -Cv  /dev/md4 -a yes -n 2 -l 1 /dev/md2 /dev/md3

    #]mdadm  -D  /dev/md4

    #]mdfs.ext4  /dev/md4

    #]echo  “/dev/md4  /RAID  ext4  defaults  0  0”  <<  /etc/fstab

    #]mount  /dev/md4  /RAID

    #]df  -hT

  • 相关阅读:
    MongoDB数据类型
    Redis数据类型
    RHEL7 CentOS7 检查查看精简指令
    Linux命令:查看登录用户
    JavaScript错误之:Uncaught ReferenceError: $ is not defined
    Linux下因为系统编码问题造成乱码的解决办法
    Linux系统下的程序开发之:命名规范
    优化php代码
    Git工具:Widows下的使用(提交到Github)
    MongoDB
  • 原文地址:https://www.cnblogs.com/RXDXB/p/12128072.html
Copyright © 2011-2022 走看看