raid技术分类可以分为基于软件raid技术和基于硬件raid技术

raid又分为raid-0、raid-1、raid-5和raid-10

Raid有”廉价磁盘冗余阵列”的意思,就是利用多块廉价的硬盘组成磁盘组,让数据分部储存在这些硬盘里面,从而达到读取和写入加速的目的;也可以用作数 据的冗余,当某块硬盘损毁后,其他硬盘可以通过冗余数据计算出损坏磁盘的数据,这样就提高了数据储存的安全性。可以提供较普通磁盘更高的速度、安全性,所 以服务器在安装时都会选择创建RAID。RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡)。

软raid技术

在Linux下安装系统的过程中或者安装系统后通过自带的软件就能实现raid功能,使用软raid可省去购买硬件raid控制器和附件就能极大地增强磁 盘的IO性能和可靠性,由于是用软件实现的raid功能,所以它配置灵活,管理方便,同时使用软件raid,还可以将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的

硬raid技术

基于硬件raid解决方案比基于软件raid技术在使用性能和服务性能上会更胜一筹,具体表现在检测和修复多位错误的能力,错误磁盘自动检测和阵列重建等方面,从安全性能考虑,基于硬件的raid解决方案也是更安全的,因此,在实际的生产场景工作中,基于硬件的raid解决方案应该是我们的首选,互联网公司常用的生产dell服务器,默认就会支持raid0,1。如果raid5,10就需要买raid卡(或者个别配置自带有,购买前,看参数)

与lvm区别

LVM(Logical Volume Manager)是Linux环境下对硬盘分区进行管理的一种机制,可以实现多块硬盘空间的动态划分和调整,跨硬盘储存文件等功能。常用于装备大量硬盘并随时需要增加或删除硬盘的环境,也同样适于仅有一、两块硬盘的环境。(可以灵活的管理磁盘容量,让磁盘分区随意变大变小,便于管理磁盘剩余的容量)如果过于强调性能和备份,还是优先选择硬件raid功能

磁盘阵列可以把多个磁盘驱动器通过不同的连接方式连接在一起协同办公,大大提高了读写速度,同时把磁盘系统的可靠性提高到接近无措的境界,使其可靠性极高。 
用raid最直接的好处是:

  提高数据安全性 
  提升数据读写性能 
  提供更大的单一逻辑磁盘数据容量存储

RAID-0

RAID-0 :striping(条带模式)特点:在读写的时候可以实现并发,所以相对其读写性能最好,每个磁盘都保存了完整数据的一部分,读取也采用并行方式,磁盘 数量越多,读取和写入速度越快。因为没有冗余,一个硬盘坏掉全部数据丢失。至少两块硬盘才能组成Raid0阵列。 
容量:所有硬盘之和。磁盘利用率为100%。

生产应用场景 
1、负载均衡集群下面的多个相同RS节点服务器 
2、分布式文件存储下面的主节点或CHUNK server 
3、MySQL主从复制的多个slave服务器 
4、对性能要求很高,对冗余要求很低的相关业务

RAID-1

RAID-1 :mirroring(镜像卷),至少需要两块硬盘,raid大小等于两个raid分区中最小的容量(最好将分区大小分为一样),数据有冗余,在存储时同时写入两块硬盘,实现了数据备份; 
磁盘利用率为50%,即2块100G的磁盘构成RAID1只能提供100G的可用空间。

RAID-5

特点:采用奇偶校验,可靠性强,磁盘校验和被散列到不同的磁盘里面,增加了读写速率。只有当两块磁盘同时丢失时,数据才无法恢复,至少三块硬盘并且硬盘大小应该相等才能组成Raid5阵列。

容量:所有硬盘容量之和减去其中一块硬盘的容量,被减去的容量被分配到三块硬盘的不同区域用来存放数据校验信息。

RAID-10

Raid10(Raid1+Raid0)是现在比较常用的一种磁盘阵列级别,它的容错好,读写数据效率较高,但经费相对也较高。

特 点:备份和并发式存取数据,可靠性强。D1、D2组成一个阵列Raid1,其中D1是数据盘,D2是备份盘;D3、D4也组成一个Raid1,其中D3是 数据盘,D4是备份盘;在这个基础上将D1、D2作为一个整体,将D3、D4也作为一个整体,这两个整体之间再组成一个Raid0阵列。这样不仅仅读取数 据会非常快,并发写入的速度也会随着磁盘的增多而变快。至少四块硬盘并且每块硬盘大小应该相等才能组成Raid10阵列。

容量:所有硬盘容量之和的一半(一半写数据,一半用来备份数据)。

raid命令行管理

CentOS7中mdadm默认已安装,如果没有安装,可以使用yum安装

主要用到的命令:mdadm

参数: 
  -C或–creat 建立一个新阵列 -r 移除设备 
  -A 激活磁盘阵列 -l 或–level= 设定磁盘阵列的级别 
  -D或–detail 打印阵列设备的详细信息 
  -n或–raid-devices= 指定阵列成员(分区/磁盘)的数量 
  -s或–scan 扫描配置文件或/proc/mdstat得到阵列缺失信息 
  -x或–spare-devicds= 指定阵列中备用盘的数量 
  -f将设备状态定为故障 
  -c或–chunk= 设定阵列的块chunk大小 ,单位为KB 
  -a或–add 添加设备到阵列 
  -G或–grow 改变阵列大小或形态 
  -v –verbose 显示详细信息

案例:创建一个raid10+冗余盘

共7块盘,创建一个raid 10 使用4块盘,热备2块,使用中1块出现故障,热备顶上,再加一块热备,把坏的T下来

1.创建raid阵列

 [root@localhost ~]# mdadm -C /dev/md0 -a yes -l  -n  -x  /dev/sd{b,c,d,e,f,g}

2.查看raid阵列信息

 [root@localhost ~]# cat /proc/mdstat
Personalities : [raid10]
md0 : active raid10 sdg[](S) sdf[](S) sde[] sdd[] sdc[] sdb[]
blocks super 1.2 512K chunks near-copies [/] [UUUU]
[=====>...............] resync = 27.5% (/) finish=.4min speed=206250K/sec unused devices: <none>
// 四块盘在用,两块S热备

3.生成配置文件

 [root@localhost ~]# mdadm -D --scan > /etc/mdadm.conf

4.格式化挂载使用

 [root@localhost ~]# mkfs.ext4 /dev/md0
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/md0 /data/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-root 20G 333M 19G % /
tmpfs 491M 491M % /dev/shm
/dev/sda1 190M 34M 147M % /boot
/dev/mapper/vg0-usr .8G .9G .4G % /usr
/dev/mapper/vg0-var 20G 113M 19G % /var
/dev/md0 40G 48M 38G % /data
//我一块20G,raid10一半数据,一半备份数据

5.模拟故障一个磁盘

 [root@localhost ~]# du -sh /data/
1.4M /data/
//输入命令或者直接把硬盘断开连接
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid10]
md0 : active raid10 sdg[] sdf[](S) sde[] sdd[] sdc[] sdb[](F)
blocks super 1.2 512K chunks near-copies [/] [_UUU]
[=>...................] recovery = 6.6% (/) finish=.6min speed=200009K/sec unused devices: <none>
// sdb (F) 故障状态了,原来sdg的S没有了,说明,已经顶上去了
[root@localhost ~]# du -sh /data/
1.4M /data/
//数据没有丢失

6.把坏的T下去,把新硬盘加上去

 //把故障硬盘卸载下来
[root@localhost ~]# mdadm -r /dev/md0 /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0
//添加新的硬盘
[root@localhost ~]# mdadm -a /dev/md0 /dev/sdh
mdadm: added /dev/sdh [root@localhost ~]# cat /proc/mdstat
Personalities : [raid10]
md0 : active raid10 sdh[](S) sdg[] sdf[](S) sde[] sdd[] sdc[]
blocks super 1.2 512K chunks near-copies [/] [UUUU]
//查看状态,已经发现新硬盘,旧硬盘已经没有了
unused devices: <none>
[root@localhost ~]# mdadm -D /dev/md0
Number Major Minor RaidDevice State
active sync set-A /dev/sdg
active sync set-B /dev/sdc
active sync set-A /dev/sdd
active sync set-B /dev/sde - spare /dev/sdf
- spare /dev/sdh
//阵列还是原来的,没变

原文摘录http://zhang789.blog.51cto.com/11045979/1847355

磁盘阵列(RAID)实例的更多相关文章

  1. linux基础-磁盘阵列(RAID)实例详解

    磁盘阵列(RAID)实例详解 raid技术分类 软raid技术 硬raid技术 Raid和lvm的区别 为什么选择用raid RAID详解 RAID-0 RAID-1 RAID-5 Raid-10 R ...

  2. 一张图看懂单机/集群/热备/磁盘阵列(RAID)

  3. 磁盘阵列RAID

                                                                                  磁盘阵列RAID 年提出的.RAID名为独立 ...

  4. 存储之磁盘阵列RAID

         存储之磁盘阵列RAID RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的.RAID名为独立冗余磁盘阵列(RedundantArray of Indepe ...

  5. 如何判断linux使用的是HDD还是SSD、HHD;磁盘阵列RAID

    硬盘种类:SSD固态硬盘.HDD机械硬盘.HHD混合硬盘(里面既有机械硬盘也有固态硬盘,固态硬盘用来高速缓存,机械硬盘用来存储). HHD是机械硬盘和固态硬盘的结合体.我们可以理解为其就是两块硬盘,固 ...

  6. (转)磁盘阵列RAID原理、种类及性能优缺点对比

    磁盘阵列RAID原理.种类及性能优缺点对比 原文:http://www.cnblogs.com/chuncn/p/6008173.html 磁盘阵列(Redundant Arrays of Indep ...

  7. 磁盘阵列RAID原理、种类及性能优缺点对比

    磁盘阵列(Redundant Arrays of Independent Disks,RAID) 1. 存储的数据一定分片: 2. 分基于软件的软RAID(如mdadm)和基于硬件的硬RAID(如RA ...

  8. 软件磁盘阵列(RAID)

    RAID软件磁盘阵列 RAID 即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护.RAID 是将多个磁盘整合的大磁盘,不仅具有存储功能,同时还有数据保护功能. ...

  9. 磁盘阵列 RAID 技术原理详解

    RAID一页通整理所有RAID技术.原理并配合相应RAID图解,给所有存储新人提供一个迅速学习.理解RAID技术的网上资源库,本文将持续更新,欢迎大家补充及投稿.中国存储网一如既往为广大存储界朋友提供 ...

随机推荐

  1. WCF服务客户端首页调用慢的问题处理

    场景: WCF服务架设于IIS服务中,走TCP协议.客户端首次调用特别慢,第一次加载完后,都正常. 解决: 把服务中需要序列化的模型所在的工程 > 属性 > 生成 > 生成序列化程序 ...

  2. 用PHP+MySQL来做分页的演示

    用php做分页弄懂逻辑关系其实不难,不过我在听课的时候估计是被老师讲的那些变量里的英文单词给听懵了,因为有几个变量的名字都很像,只是换了两三个英文字母而已,有的就少几个这样的,听到一半已经不知道老师讲 ...

  3. 使用log4net 日志输出到数据库MySQL

    使用Log4Net的输出日志到MySQL 使用步骤如下: 1. 添加引用Log4Net.dll, mysql.data.dll到工程中 note: mysql.data.dll 版本要高,最好到mys ...

  4. 【原】运动版的轮播图,有左右按钮和单独分页,原生JS版

    运动版的轮播图,有左右按钮和单独分页 这个例子重点在于: 运动框架的复习,要灵活运动回调函数 始终以全局变量iNum来控制oUl的移动目的地,每次有任何动作,都是先判断iNum并改变iNum后去调用运 ...

  5. OAF_开发系列22_实现OAF条形码BarCode

    20150717 Created By BaoXinjian

  6. HDU 1556 Color the ball(线段树区间更新)

    Color the ball 我真的该认真的复习一下以前没懂的知识了,今天看了一下线段树,以前只会用模板,现在看懂了之后,发现还有这么多巧妙的地方,好厉害啊 所以就应该尽量搞懂 弄明白每个知识点 [题 ...

  7. css不常用重要属性

    超出省略号:display:block;white-space:norwrap;overflow:hidden;text-overflow:ellipsis; white-space:norwrap/ ...

  8. Visual Studio 2013 添加新项缺失[ADO.NET 实体数据模型]解决方法

    解决方法如下: 1).到 Visual Studio 2013 的安装包的目录:/packages/EFTools 中寻找如下文件 EFTools.msi; EFTools.cab,如图 将它们复制自 ...

  9. mvc4 发布,遇到 403.14 问题,并且iis提示打开目录浏览。。。解决办法

    经测试,只需要在web.config的system.web的同级节点,添加如下代码,即可完美运行.原理参考文章:一.<validation validateIntegratedModeConfi ...

  10. Android 进程通信机制之 AIDL

    什么是 AIDL AIDL 全称 Android Interface Definition Language,即 安卓接口描述语言.听起来很深奥,其实它的本质就是生成进程间通信接口的辅助工具.它的存在 ...