zoukankan      html  css  js  c++  java
  • RAID磁盘阵列详解以及软RAID的实施部署

    前言:在目前大数据爆发的时代,越来越多的企业更加重视企业的数据安全性,数据的完整性,那么如何保障企业数据行的安全、无损呢?那么我们就用到了RAID技术,目前很火的虚拟化、云计算、底层都是使用的RAID存储来完成的。那么什么是RAID呢?我们会通过软RAID案例以及理论来一起学习。

    首先是什么是RAID?

    RAID简单的就是可以允许容错的磁盘阵列,将多块磁盘整合成一个较大的硬盘。然后这个整合的磁盘具有大容量的存储,以及硬盘的容错功能。RAID又分为软RAID和硬RAID;

    RAID分级的划分?

    RAID0

    效果最佳,但是缺少容错功能,这种模式的raid在读取写入数据的时候,首先会先写到第一个磁盘然后依次会写到第二个磁盘,这样写数据的时候数据会依次写到两块硬盘之中的。如果raid0有两块数据组成的时候,当数据在写入的时候会先写到磁盘A然后会写到磁盘B,因此每个磁盘负责的压力都降低了,越多的磁盘对raid0的性能越好,但是当一块硬盘出故障之后我们的数据就无法完整了。所以这种做法的危险性比较好,没有安全性可言。

    RAID1

    可以这么理解他是为了弥补Raid0的缺点而诞生的,这种模式的硬盘需要两块一模一样的硬盘来组成,如果两个硬盘不是一样大的话,他会以小的硬盘来为主的。这种raid的最大好处是能保证数据的安全性,但是对硬盘的空间使用率只能使用50%;因为一个磁盘写数据,一个磁盘数据同时做备份数据,这样两个磁盘的数据是一模一样的。

    RAID1的优点是能保证数据的安全性,缺点是磁盘的使用率比较低,写入速度比较慢。

    在企业中最佳的使用是

    RAID0+1或者RAID1+0

    RAID0的数据没有安全性,不能保证数据的完整性,但是raid1能保证数据的安全性,raid0+1能互相增加raid使用的安全性。

    RAID0+RAID1的工作模式:

    先把磁盘做成raid0这样做成两组,每组两块硬盘,然后在把两组raid0组成raid1.raid1+0的方法和raid1+0的方式一样。当我们需要写入数据的时候,首先会从raid1开始,而raid1又是由raid0组成的,所以写入数据的时候,会平均写入的,因此我们不管哪一组raid0磁盘损坏,只要我们还有一组raid0就不怕数据的安全。因此这样是最安全的。

    RAID5

    Raid5是需要至少三块以上的磁盘才能做成磁盘阵列。这种磁盘的工作方式是,每个磁盘在写入的过程中,总会有一个磁盘在做检查码的;这样只要不是两块磁盘同时坏掉,整个数据是没有问题的。同时坏掉两块的话那是人品爆发了。在企业实战中一般会raid5在加一个备份磁盘,当其中一个磁盘坏掉的时候,另一个磁盘会自动切换过去的。其他的raid在企业中用的不是很多,我们就不做介绍了。

    Raid阵列分为软raid和硬件raid,硬件raid相对比较贵点,在大型数据中都是使用硬raid,软raid使用的很少,下面我们使用Linux下自带的raid来模拟下raid,原理和硬raid基本一样。

    一、部署磁盘阵列RAID

    1、 首先在服务器上添加硬盘,我们在此案例中模拟,如图是我们添加的硬盘sdb。

    clip_image002

    2、 然后我们在新添加的硬盘上创建逻辑分区,创建的命令使用fdisk /dev/sdb如图所示:是创建完成的分区,sdb6-sdb10是我们模拟raid分区来做的。每个分区是1G。

    clip_image004

    3、 我们使用mdadm命令来创建RAID分区,“-C”等于create /dev/md0是我们创建的分区块设备;“-l”是指定RAID的等级我们在此案例是模拟raid5来实施,-“n4”是指阵列的硬盘的个数,“-x1”是指热备的数量,当阵列中有磁盘坏掉的时候,热备的磁盘会顶上的。

    clip_image006

    4、 搭建其实很简单一条命令,下面我们查看Raid的详细信息。在下图详细的说明了RAID的档案名,raid的创建时间、版本,等级、大小、硬盘的数量、以及启动的详细信息。有时候我们需要等下这些信息才能创建出来。详细的列出来我们创建的阵列。

    clip_image008

    5、 我们还可以通过以下的命令来查看RAID的信息,在如下中指出来raid的类型,raid的大小,以及raid的加载状态。需要注意的是U代表的是硬盘的启动情况,4个U是代表是个硬盘启动。如果显示是“_”则是不正常的。

    clip_image010

    6、 Raid创建完成/dev/md0之后,我们格式化/dev/md0,这里我们需要注意的是,我们格式化的不是我们挂载的硬盘而是我们创建的块设备文件。如图:

    clip_image012

    7、 完成之后我们挂载,首先创建挂载点挂载然后在查看是否挂载成功;如图:

    clip_image013

    整个Raid的创建部署就这么简单。接下来我们通过一个案例来模拟下故障环境。

    二、查看在故障中磁盘阵列RAID是怎么工作的;

    1、 首先进入挂载点,创建文件,如图

    clip_image014

    2、 模拟故障以及查看故障的结果报告;首先我们先卸载/dev/sdb6这个阵列中的硬盘。然后我们来查看报表是什么提示,在如图中,当我们卸载/dev/sdb6这个硬盘之后,在报告中提示有一块硬盘失败,然后做热备的/dev/sdb10自动替换掉出故障的sdb6这个硬盘。我们用红色标记出来了。

    clip_image016

    3、 然后我们在查看RAID5的工作方式的时候,发现sdb6后面有F,表示这个硬盘分区失败,让其他的硬盘替换掉了,如图:

    clip_image018

    4、 然后我们添加一块新的硬盘来替换出故障的硬盘,需要注意的是,新添加的硬盘我们需要使用命令partx –a /dev/sdb来让我们添加的硬盘生效,不然无法增加新的硬盘。

    clip_image020

    5、 然后我们使用mdadm命令来新添加我们增加的/dev/sdb11移出/dev/sdb6硬盘,如图:

    clip_image022

    6、 查看替换的硬盘是否生效,如图已生效。

    clip_image024

    7、 设置开机挂载,修改配置文件vim /etc/fstab

    clip_image026

    三、删除Raid的步骤方法;按照以下的执行步骤即可卸载。

    clip_image027

  • 相关阅读:
    leetcode【dynamic】【0】
    VIM 常用指令
    《Java多线程编程核心技术》笔记
    log4j配置文件详解
    CSU 1803 2016(同余公式)2016年湖南省第十二届大学生计算机程序设计竞赛
    NYOJ 1233 差值(字符串排序+大数减法)
    HDU 5723 Abandoned country(最小生成树+DFS)
    POJ 1451 T9 字典树
    POJ 2965 The Pilots Brothers' refrigerator 状态压缩+广搜
    POJ 1753 Flip game状态压缩+广搜
  • 原文地址:https://www.cnblogs.com/kscnchina/p/2821059.html
Copyright © 2011-2022 走看看