常用磁盘阵列说明

一.什么是磁盘阵列

    磁盘阵列英文全名为RedundantArrays of Inexpensive Disks(RAID),即容错廉价磁盘阵列。

    RAID可以将一些容量较小的磁盘通技术手段组成一个容量较大的磁盘设备,而且不只是容量上的提升,RAID还可以提供数据保护的功能。

    RAID可以选择不同等级来实现不同的功能,常见的等级有以下几种:

    1.RAID-0

        此模式可以需要使用相同型号和相同容量的磁盘组成时效果最佳,在进行文件写入时,会将文件进行分割分别存储在不同的磁盘上,这样就提高了读写的速度,但由于文件分别存储在不同的磁盘上,一旦有一块磁盘损坏就会造成文件无法读取,所以此模式不具备容错性。

    2.RAID-1

        此模式最好使用两块一模一样的磁盘,如果是两块不同容量的,则存储时以容量小的那块为主。这种模式是将数据在两块磁盘上都存储一份,这样即使有一块硬块损坏了,数据还可以恢复回来;不过由于数据在保存两份,所以写的性能会有所下降。

    3.RAID-4

        此模式最少要使用三块磁盘才能组成;陈列会将一块磁盘做为校验盘,用来记录同位检查码,数据则是循环写在另外的磁盘上,如果有一块数据磁盘损坏了,可以根据校验盘里的同位码来进行恢复,但如果校验盘损坏,则数据将无法恢复。

    4.RAID-5

        此模式类似于RAID-4,但取消了专门的校验盘,而是将校验信息同数据一起循环记录在各个磁盘上,这样任意一块磁盘出现问题,都可以将数据恢复回来,但是损坏的磁盘数量大于等于两块时,数据将无法恢复。

    5.RAID-10

        此模式是将磁盘先组合RAID-1,再将这些RAID1的阵列组成RAID-0;这种阵列兼备了RAID-1的安全性和RAID-0的高效,每组RAID-1都允许损坏一块磁盘;缺点是磁盘的空间则浪费的50%。

    各种RAID级别的特点见下表:

RAID级别 所需磁盘数 读写能力 容错能力 磁盘空间利用率
RAID-0 不限 提升 不具备 磁盘数*单块磁盘空间
RAID-1 两块 下降 具备 单块磁盘空间
RAID-4 最少三块 提升 具备 (磁盘数-1)*单块磁盘空间
RAID-5 最少三块 提升 具备 (磁盘数-1)*单块磁盘空间
RAID-10 最少四块 提升 具备 磁盘数*单块磁盘空间/2

    在生产环境中,可以预备一块空的磁盘做为预备磁盘。这块空盘并不加入磁盘阵列当中,一旦阵列中的磁盘出现故障,可以将这块空块直接拉入磁盘阵列中,并将坏盘移除,避免了更换磁盘时的停机要求,以及热插拔阵列中的磁盘可能造成的数据风险。

二.软件磁盘阵列

    由于条件所限,只能通过软件磁盘阵列来说明演示磁盘的工作效果。

    使用mdadm命令来创建软件磁盘阵列。

    命令参数:

       -D:显示详细信息;

       -A:装配模式,重新识别此前实现的RAID;

       -C:创建模式,创建RAID;

       -F:监控模式;

       管理模式:-f,-r,-a

       -C:创建模式中专用选项

              -n #:用于创建RAID设备的磁盘个数

              -l #:级别

              -a yes:自动为创建的RAID生成设备文件;

              -c Chunk_size

    1.RAID-0

        使用三个2G的分区创建一个RAID-0;

        1.png

            查看/dev/md0状态;

        2.png

            查看/dev/md0的详细信息;

        5.png

            格式化/dev/md0;

        3.png

            挂载/dev/md0到/mnt/md0,可以看到空间是三块磁盘的总和;

        4.png

    2.RAID-1

         使用两个1G的分区创建RAID1;

        7.png

            格式化并挂载,复制文件到挂载目录下;

        8.png

        9.png

            磁盘空间为1G左右;

        1.png

            查看md1的状态

        10.png

            模拟磁盘损坏;

        11.png

            查看md1的状态;

        12.png

            查看md1详细信息;

        13.png

            查看/mnt/md1下的文件,依然可以正常访问;

        1.png

        移除损坏的磁盘,并加添加一块好的磁盘到阵列中;

            移除磁盘;

        2.png

            添加新盘;

        3.png

            查看状态;

        4.png

        5.png

    3.RAID-5

        将三块1G的磁盘组成RAID-5;  

        1.png

            查看md5状态;

        4.png

            格式化并挂载;

        2.png

        3.png      

        测试容错;

            复制/etc/issue到/mnt/md5目录中;移除/dev/sdb10;

        5.png

            mdadm -D /dev/md5查看信息;

     2.png

            依然可以读取目录中的文件;

        1.png

            修复步骤与RAID1相同,此处不再演示。

     mdadm命令补充:

        -f/–fail DEVICE:手动设置磁盘为损坏;

        -r/–remove DEVICE:移除磁盘;

        -a/–add DEVICE:加入磁盘;

        mdadm -S DEVICE: 停止磁盘阵列;

     watch命令:阶段性地执行指定的命令;

            watch -n# 命令

        eg:watch -n.5 ifconfig  每0.5秒更新一次显示结果。

        1.png

                 

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/1987

(0)
petmasterpetmaster
上一篇 2015-04-02 22:12
下一篇 2015-04-02 22:21

相关推荐

  • Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用

    bash shell脚本编程入门篇(三)之循环 什么是循环执行?     将某代码段重复运行多次     重复运行多少次:         循环次数事先已知    &nb…

    Linux干货 2016-08-22
  • shell脚本小练习..

    刚刚接触vim和shell脚本,用几个小脚本练练手。 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中。 3、编写脚本…

    2017-04-13
  • 磁盘阵列(RAID)简介

    资料 RAID(Redundant Arrays of Inexpensive Disks 廉价磁盘冗余阵列)即磁盘阵列,磁盘阵列是由多个价格比较便宜的磁盘组合成的一个容量巨大的磁盘组,其原理是利用数组方式来制作磁盘组,配合数据分散排列的设计,配合数据分散排列的设计,提升数据的安全性。它把数据分别存放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能,因…

    Linux干货 2017-04-17
  • centos6.9的安装

    先准备一个安装虚拟机的的软件VMware Workstation Pro和光盘centos6.9和光盘 然后打开该软件,点击创建新的虚拟机   然后会出现一个新建虚拟机向导,选择典型,点下一步 继续点下一步   把虚拟机名称改成所装的版本 然后新建一个文件夹,点击浏览,接着点击这个新建的文件夹,这个文件夹就是虚拟机所装入的位置,…

    2017-07-15
  • 关于find命令的实际应用

    1、查找/var目录下属主为root,且属组为mail的所有文件 2、查找/var目录下不属于root、lp、gdm的所有文件 3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件 4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件 5、查找/etc目录下大于1M且类型为普通文件的所有文件 6、查找/e…

    Linux干货 2016-08-16
  • sed

    复制/etc/rc.d/rc.sysinit文件到/tmp目录中,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首家#; 2.复制/boot/grub/grub.conf至/tmp中,删除/tmp/grub.conf文件中的行首的空白字符 3.删除/tmp/rc.sysinit文件中的以#开头,且后面跟了一个至少一个空白字符的行行的#…

    Linux干货 2016-12-04

评论列表(2条)

  • stanley
    stanley 2015-04-02 22:18

    还是前面的建议,xshell底调整成黑色的。另外,字体大小调整成12或14博文效果会更好

    • petmaster
      petmaster 2015-04-03 00:09

      @stanley谢谢,下一篇一定不一样了 :lol: