RAID磁盘列阵

                        RAID

  RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性

通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;

通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度;

通过镜像或校验操作提供容错能力;

RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。常用的RAID级别有以下几种:RAID0,RAID1,RAID4 RAID5 RAID6,RAID10,RAID01等。目前经常使用的是RAID5和RAID(1+0)。

RAID-0 :也叫条带卷,它代表了所有RAID级别中最高的存储性能。它把数据分块存储提高性能,所有也会影响它的冗余能力。

    读写性能提升

    可用空间:N*min(S1,S2,…)

    无容错能力

    最少磁盘数:2,2+

RAID-1:也称镜像卷,把同一数据分开存储到2个相同的磁盘里从而提高数据的冗余能力。

    读性能提升、写略有下降

    可用空间:1*nub(S1,S2…)

    有容错能力

    最少磁盘数:2,2+

RAID-4: RAID4即带奇偶校验码的独立磁盘结构,二块写入数据,一块写入校验码,校验码磁盘容易损坏,在独立访问阵列中,每个磁盘都是独立运转的,因此不同的I/O请求可以并行地满足

   

RAID-5:和RAID4类似,但它把校验码通过运算存储到各个磁盘上从而提升数据的冗余

    读、写性能提升

    可用空间:(N-1)*min(S1,S2…)

    有容错能力:1块磁盘

    最少磁盘:3,3+

RAID-6:是RAID-5的增强版,通过校验,让数据更加冗余安全,但写入较差

    读、写性能提升

    可用空间:(N-2)*min(S1,S2…)

    有容错能力:2块磁盘

    最少磁盘:4,4+

混合类型

RAID-10: Raid 10是一个Raid 0与Raid1的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全

            RAID-10.jpg

    读、写性能提升

    可用空间:N*min(S1,S2,….)/2

    有容错能力:每组镜像最多只能坏一块

    最少磁盘数:4, 4+

RAID-01:

    

    性能表现:读、写提升

    冗余能力:有

    空间利用率:1/2

    至少需要4块盘

RAID-50:它具有RAID 5和RAID 0的共同特性。它由两组RAID 5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID 0,实现跨磁盘抽取数据。

    

    性能表现:读、写提升

    冗余能力:有

    空间利用率:(n-2)/n

    至少需要6块盘

    

RAID-7 可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式

JBOD:Just a Bunch Of Disks

    功能:将多块磁盘的空间合并以个大的连续空间使用

    可用空间:sum(S1,S2,…)

常用级别:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD

RAID实现方式:

        硬件实现方式

        软件实现方式

     

mdadm: 用于建设,管理和监控RAID阵列

语法

    mdadm [mode] <raiddevice> [options] <component-devices>

模式:

创建:-C

    -a {yes|no}:自动创建目标RAID设备的设备文件

    –create或-C –help :查看创建帮助

    –chunk=      -c #:设置cunk大小

    –level=      -l #:设置RAID等级

    –scan        -s #扫描

    –spare-devices= -x #:指明空闲盘的个数

    –raid-devices= -n #:使用#个块设备来创建此RAID

显示: -D   

    –display或-D –hrlp:获取显示帮助

    –stop        -S  

装配: -A

监控: -F

管理:

    

    -f: 标记指定磁盘为损坏

    -a: 添加磁盘

    -r: 移除磁盘

做RAID卷时,磁盘分区要分为Linux raid autodetect 用fdisk /dev/[sh]d[a-z] 下 t该为fd分区

[root@Cloud /]#fdisk -l /dev/sdc #查看已经分为Linux raid autodetect分区
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x47d02b82
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         654     5253223+  fd  Linux raid autodetect #raid分区
/dev/sdc2             655        1308     5253255   fd  Linux raid autodetect
/dev/sdc3            1309        1962     5253255   fd  Linux raid autodetect

创建RAID-5卷

[root@Cloud /]#mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sdc{1,2,3} /dev/sdb1
mdadm: /dev/sdc1 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Mon Aug  1 22:54:30 2016
mdadm: /dev/sdc2 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Mon Aug  1 22:54:30 2016
mdadm: /dev/sdc3 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Mon Aug  1 22:54:30 2016
mdadm: /dev/sdb1 appears to contain an ext2fs file system
       size=1060256K  mtime=Thu Jan  1 08:00:00 1970
mdadm: /dev/sdb1 appears to be part of a raid array:
       level=raid0 devices=2 ctime=Mon Aug  1 23:26:23 2016
Continue creating array? yes         
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

显示创建的RAID卷

[root@Cloud /]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug  2 00:11:50 2016
     Raid Level : raid5 #rai级别
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3 #raid存储设备
  Total Devices : 4 #raid全部设备
    Persistence : Superblock is persistent
    Update Time : Tue Aug  2 00:12:35 2016
          State : clean, degraded, recovering 
 Active Devices : 2
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 2
         Layout : left-symmetric
     Chunk Size : 512K #chunk大小
 Rebuild Status : 45% complete
           Name : Cloud.GO:0  (local to host Cloud.GO)
           UUID : 39ef8aa5:5b789569:b425534d:a32cc64e
         Events : 8
    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2
       4       8       35        2      spare rebuilding   /dev/sdc3
       3       8       17        -      spare   /dev/sdb1 #备用

模拟损坏磁盘

[root@Cloud /]#mdadm /dev/md0 -f /dev/sdc3
mdadm: set /dev/sdc3 faulty in /dev/md0

查看raid状态

[root@Cloud /]#cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [raid0] 
md0 : active raid5 sdc3[4](F) sdb1[3] sdc2[1] sdc1[0]
      10498048 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [======>..............]  recovery = 30.8% (1621760/5249024) finish=1.0min speed=57920K/sec
      
unused devices: <none>

[root@Cloud /]#mdadm -D /dev/md0 #查看raid信息
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug  2 00:11:50 2016
     Raid Level : raid5
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Tue Aug  2 00:16:15 2016
          State : clean 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0
         Layout : left-symmetric
     Chunk Size : 512K
           Name : Cloud.GO:0  (local to host Cloud.GO)
           UUID : 39ef8aa5:5b789569:b425534d:a32cc64e
         Events : 37
    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2
       3       8       17        2      active sync   /dev/sdb1
       4       8       35        -      faulty   /dev/sdc3 #损坏磁盘

移除损坏磁盘

[root@Cloud /]#mdadm /dev/md0 -r /dev/sdc3
mdadm: hot removed /dev/sdc3 from /dev/md0

新增磁盘

[root@Cloud /]#mdadm /dev/md0 -a /dev/sdb2
mdadm: added /dev/sdb2
[root@Cloud /]#mdadm /dev/md0 -a /dev/sdc3
mdadm: added /dev/sdc3

[root@Cloud /]#mdadm -D /dev/md0 #显示
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug  2 00:11:50 2016
     Raid Level : raid5
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3
  Total Devices : 5
    Persistence : Superblock is persistent
    Update Time : Tue Aug  2 00:18:31 2016
          State : clean 
 Active Devices : 3
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 2
         Layout : left-symmetric
     Chunk Size : 512K
           Name : Cloud.GO:0  (local to host Cloud.GO)
           UUID : 39ef8aa5:5b789569:b425534d:a32cc64e
         Events : 40
    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2
       3       8       17        2      active sync   /dev/sdb1
       4       8       18        -      spare   /dev/sdb2 #新增的磁盘
       5       8       35        -      spare   /dev/sdc3 #新增的磁盘

生成配置文件: 保存配置。

    mdadm –D –s >> /etc/mdadm.conf

radi在挂载的时候尽量使用UUID或lebel挂载,因为raid卷的名字会自动更改!

停止raid服务

[root@Cloud /]#mdadm -S /dev/md0 #停止raid服务
mdadm: stopped /dev/md0
[root@Cloud /]#cat /proc/mdstat #查无raid状态
Personalities : [raid6] [raid5] [raid4] [raid0] 
unused devices: <none>

激活raid服务

[root@Cloud /]#cat /proc/mdstat #激活raid服务
Personalities : [raid6] [raid5] [raid4] [raid0] 
unused devices: <none>
[root@Cloud /]#mdadm -A -s /dev/md0 
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
[root@Cloud /]#cat /proc/mdstat  #显示raid5活跃
Personalities : [raid6] [raid5] [raid4] [raid0] 
md0 : active raid5 sdc1[0] sdb1[3](S) sdc3[4] sdc2[1]
      10498048 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

彻底删除raid卷

[root@Cloud /MYDATA]#mdadm --zero-superblock /dev/sdc1#删除成员
[root@Cloud /MYDATA]#mdadm --zero-superblock /dev/sdc2#删除成员
[root@Cloud /MYDATA]#mdadm --zero-superblock /dev/sdc3#删除成员
[root@Cloud /MYDATA]#mdadm --zero-superblock /dev/sdb2#删除成员
[root@Cloud /MYDATA]#rm -fr /etc/mdadm.conf #删除配置文件

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

(0)
上一篇 2016-09-07 20:31
下一篇 2016-09-07 21:33

相关推荐

  • vim及脚本

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#。     第一步:     [root@localhost ~]# cp /etc/rc.d/rc.sy…

    Linux干货 2016-12-02
  • LVS管理平台使用手册(第一版)[原创]

     为了更好管理、维护LVS平台,本人基于Django+certmaster+func开发了一套管理平台,主要功能模块分为性能图表、数据中心、虚拟IP池、主机管理、监控模块等功能,基本上是按F5-LTM管理平台思路来设计,下面只要对这几大块功能进行说明。1、性能图表 功能说明:以小时、日、星期、月、年的图表展示LVS SERVER、VIP、SERVE…

    Linux干货 2015-03-28
  • Linux文件系统

      文件系统是一个逻辑上的概念,本身与磁盘没有什么关系,它是一个外围性永久存储设备,我们知道,计算机共有五大部件,存储设备是一种,内存是个临时性质的存储设备,无论是关机还是断电,存在里面的数据都会消失,我们需要一个永久性存储的设备,来弥补内存只是临时存储性。   对于Linux来说,其哲学思想之一就是一切皆文件,我们L…

    Linux干货 2016-11-11
  • OpenSSL

    OpenSSL由三部分组成:             libencrypto库             libssl库 …

    Linux干货 2017-05-30
  • N26-第二周作业

    linux上的文件管理命令:     1. cp命令:         作用:复制文件或目录         单文件复制:    …

    Linux干货 2017-02-15
  • FHS文件系统各目录功能

    FHS       Filesystem Hierarchy Standard(文件系统目录标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。下为…

    Linux干货 2016-10-16