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)
ladsdmladsdm
上一篇 2016-09-07
下一篇 2016-09-07

相关推荐

  • linux基础学习第十二天(shell函数、数组以及yum使用及编译安装)

    2016-08-18 授课内容: shell编程基础(select 循环与菜单、函数) yum管理、定制yum仓库 select 循环与菜单         select variable in list       &…

    Linux干货 2016-08-21
  • iptables实验3 关于内网外网的地址转换及端口转换

    地址属于内核,而不属于网卡!!!!     网络防火墙的实现(主要是forward链) 172.16.100.68(A)和172.16.100.67(B) 192.168.12.10(B)和192.168.12.77(C)(VNET2) B作为C的网关   配置B主机的网卡一个为192.168.1.72,另一个为172.16.2…

    Linux干货 2016-10-30
  • 网卡别名与多网卡绑定

    网卡别名 一块网卡可以配置多个ip地址,叫做网卡别名   对虚拟主机有用 格式形如:eth0:1  eth0:2 …… 实现方法:   在命令行中临时设置: ifconfig 命令: ifconfig eth0:0 192.168.1.100/24 演示:   修改配置文件 在/etc/sysconfig/networ…

    Linux干货 2016-09-05
  • Linux文件压缩、解压、归档总结

    一、简介   压缩对我们来说通常意味着减小文件体积,节省硬盘空间。在Windows平台上处理大文件或目录中的文件很多时我们都需要对这些文件进行压缩处理,压缩格式多种多样,如:zip、rar、7z等格式,压缩方式也比较多样话,支持按最大压缩比例或者最快时间进行压缩等多种方式,而生成的压缩包就可以让我们更方便的进行拷贝及归档整理。解压缩顾名思义就是回归…

    Linux干货 2015-09-26
  • 国际标准OSI七层模型和事实标准TCP/IP四层模型

    我们知道,标准分为三种:国际标准、国家标准和事实标准。那我们学习的两个重要模型:OSI和TCP/IP模型分别属于国际标准和事实标准,接下来我们来总结一下两种模型的分层及功能还有异同: 一:国际标准OSI模型 OSI:(Open System Interconnect) 开放系统互连,总共分为七层,从下到上顺序为:物理层(physical)、数据链路层(dat…

    2017-09-02
  • 企业实时同步方案—-Rsync+Sersync

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1433623     在博文企业实时同步方案—-Sersync介绍中我们详细介绍了Sersync的原理,设计架构以及…

    Linux干货 2015-03-30