RAID整理

RAID级别介绍

RAID的定义

RAID:独立硬盘冗余阵列 (Redundant Arrays of Inexpensive Disks)

把多个硬盘组合起来,成为一个硬盘阵列组,将其作为一个磁盘。

RAID的作用

  • 增强数据集成度

  • 增强容错功能,即耐用性

  • 增加处理量或容量,即提高IO能力

实现RAID的方式

  • 外接磁盘阵列:通过扩展卡提高适配能力

  • 内接式RAID:主板集成RAID控制器

  • Software RAID

我们在使用中比较常用的RAID的级别分别有:

  • RAID-0:

  • RAID-1:

  • RAID-2:

  • RAID-3:

  • RAID-4:

  • RAID-5:

  • RAID-6:

其组合形式主要有:

  • RAID-10

  • RAID-50

  • RAID-60

我们主要介绍RAID-0,RAID-1,RAID-5,RAID-10,RAID-5这四种方式。

1.RAID-0

条带卷,即将数据流分成块(chunk)轮流存储到两个即两个以上的磁盘中。 因为读写都可并行处理,所以在所有的级别中,RAID-0的速度是最快的,但不具备容错能力。即如果一个磁盘损坏,则所有数据都会丢失。它的可用空间为N*min(S1,S2,…)。

2.RAID-1

镜像卷(mirror),即将数据各向两个及两个以上的磁盘存一份。读性能提升,但写性能略有下降,因为写性能是以最慢的写速度作为标准。有容错能力,如果主硬盘损坏时,镜像硬盘则替代主硬盘工作。总体来说,RAID-1的数据安全性是最高的,但磁盘利用率是最低的。它的可用空间为min(S1,S2,…)。

3.RAID-5

RAID-5是RAID-0和RAID-1之间的这种方法,它的数据安全性比RAID-0高,磁盘利用率比RAID-1高。

RAID的工作方式是:在RAID-0的基础上在增加一个磁盘,即最少使用3个磁盘,除了需要存放数据,还需存放对应的多位数据的异或值,即利用奇偶校验法,要注意的是,数据块(chunks)和校验位必须要按顺序即默认为左对称的方式排放。

RAID-5有容错能力,但只能允许一个磁盘损害,出现损害后可利用校验位可求出损害磁盘中所对应的数据来进行读操作。 可用空间(N-1)*min(S1,S2…)

4.RAID-10

RAID 10是先像射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。读写性能提升,有容错能力,只要一组镜像不同时损害,数据就是安全的。最少需要4块磁盘。可用空间是N*min(S1,S2…)/2

5.JBOD: Just a Bunch Of Disks

将多块磁盘的空间合并一个大的连续空间使用,任意一块磁盘损坏,数据及损坏。 可用空间:sum(S1,S2,…)

RAID的创建

创建RAID的前提是要创建好足够多的分区,并将分区设置为 Linux raid形式。

下面我们来讲讲具体的操作:

[root@localhost ~]# mdadm -C /dev/md0 -l 1 -a yes -c 256 -n 2 -x 1 /dev/sda{5,6,7}

-C: 创建模式
/dev/md0: RAID设备文件
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID设备的设备文件
-c CHUNK_SIZE: 指明块大小
-n #: 使用#个块设备来创建此RAID;
-x #: 指明空闲盘的个数

下面来创建文件系统,我们选择ext4, [root@localhost ~]# mkfs.ext4 -L 'mydata' /dev/md0 #指明卷标为mydata,还有一些其他的选项见上一篇文件系统整理。

下面挂载设备文件

 mount /dev/md0 /testing/ #将刚创建的RAID挂载到/testing目录上。

以上RAID就全部完成了

下面是一些测试

[root@localhost ~]# mdadm  /dev/md0 -f /dev/sda5
mdadm: set /dev/sda5 faulty in /dev/md0
# 将/dev/sda5标记为损坏


[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Jul 13 08:59:42 2016
     Raid Level : raid1
     Array Size : 5243712 (5.00 GiB 5.37 GB)
  Used Dev Size : 5243712 (5.00 GiB 5.37 GB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Wed Jul 13 09:12:55 2016
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 1
  Spare Devices : 0

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : 5200617c:c8fb16ca:3b7de280:0d56f967
         Events : 36

    Number   Major   Minor   RaidDevice State
       2       8        7        0      active sync   /dev/sda7
       1       8        6        1      active sync   /dev/sda6

       0       8        5        -      faulty   /dev/sda5
#显示raid的详细信息,可以看到此时备用磁盘/dev/sda7已自动成为主磁盘里。数据未遭到损坏。


[root@localhost ~]# mdadm  /dev/md0 -r /dev/sda5

# 移除磁盘/dev/sda5

此时raid的信息是

 Number   Major   Minor   RaidDevice State
   2       8        7        0      active sync   /dev/sda7
   1       8        6        1      active sync   /dev/sda6

下面我们再来添加/dev/sda5

 mdadm  /dev/md0 -a /dev/sda5
 #添加磁盘/dev/sda5

可看到信息:

 Number   Major   Minor   RaidDevice State
   2       8        7        0      active sync   /dev/sda7
   1       8        6        1      active sync   /dev/sda6

   3       8        5        -      spare   /dev/sda5

如果想停止md设备

[root@localhost ~]# umount /testing/
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
 #注意:一定要先卸载设备,才能停止

原创文章,作者:21期-扬州-蓝,如若转载,请注明出处:http://www.178linux.com/24176

(0)
21期-扬州-蓝21期-扬州-蓝
上一篇 2016-07-16
下一篇 2016-07-16

相关推荐

  • redis/twemproxy 客户端连接异常

    对于一个DBA,客户端连接异常问题可以说是家常便饭的事情,处理多了都想吐。 root cause无疑发生在三个地方,先找自身的原因,依次排查下去: 1)服务器端db的负载,如果负载太高,创建socket太慢引起超时。另外服务器端socket的个数太多,也可以导致创建连接需要很长的时间或者创建连接不成功。 2)网络是够有抖动,包括lvs/twemproxy重启…

    Linux干货 2015-04-03
  • 马哥教育网络20期+第三周练习博客

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d" " -f1 | uniq jobs root 2、取出最后登录到当前系统的用户的相关信息。…

    2016-06-23
  • useradd命令

    useradd创建用户 使用格式: useradd[options] LOGIN -c:备注信息保存在passwd的备注栏中。 -d:用户登入时的主目录 -e:账号的失效日期,缺省表示永久有效。 -f:密码过期后多少天关闭该账号。 -g:用户所属组。 -G:用户所属的附加群组。 -m:自动创建用户的登入目录。 -M:不要自动创建用户的登入目录。 -n:取消创…

    Linux干货 2017-12-20
  • 源码编译安装之apache

    工具: Development tools组包 httpd-2.2.9.tar.gz links网站浏览工具   安装apache之前需要安装编译需要的环境“Development tools”这个是编译使用的必须的环境包,使用下面的命令可以安装。 [root@CentOS6 ~]# yum groupinstall&…

    Linux干货 2016-08-24
  • Linux基础学习总结(二)

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用基础命令:cd、pwd、mkdir、touch 查看:cat,more,less,tail,head,tac 复制:cp 移动:mv 删除:rm 创建:touch 元数据属性:stat 查看内容类型:file 二、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及…

    Linux干货 2016-09-24
  • Linux系统进程管理

    本章学习内容     ——进程概念     ——进程创建、切换和撤销     ——进程调度     ——进程分类     ——进程状态 &n…

    Linux干货 2016-09-13

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-17 20:28

    写的很好,排版也很漂亮,加油