数据冗余技术—RAID

01 背景

    某台机器上安装了2块IDE硬盘(80G/块)和4块SCSI硬盘(73G/块),IDE硬盘直连到主板内置IDE接口,SCSI磁盘连接到PCI接口的SCSI卡上。此时,系统识别出6块磁盘,经过文件系统格式化后,挂载到某个目录下,供应用程序读写。这样其实是没有数据的校验和冗余的,安全性和效率较差。

    如果安装RAID后,将2块IDE硬盘做成一个RAID0系统,则变成一个16G的虚拟硬盘,将4块SCSI硬盘做成一个RAID5系统,则变成3个磁盘,容量为216G(因为RAID程序需要使用磁盘上的部分空间来存放一些RAID信息,所以实际容量将会变小)。

    这样就将相对存储空间较小的低廉磁盘,组装成两个容量很大的磁盘给用户使用(我们知道是虚拟的磁盘,但是操作系统无法感知到,它会按照正常的硬盘去格式化)。

02 概述

    RAID是廉价冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称,有时也简称磁盘阵列(Disk Array)。

    RAID是一种把多块独立的磁盘(物理磁盘)按不同的方式组合起来形成一个磁盘组,在逻辑上看起来就是一块大的磁盘,从而提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又提供不同级别数据冗余备份的一种技术。

    相关概念:

    条带:又称为Stripe,是阵列的不同分区上的位置相关的strip的集合,是组织不同分区上条块的单位。

    软RAID:RAID的所有功能都依赖于操作系统与服务器CPU来完成,没有第三方的控制/处理(业界称其为RAID协处理器)与I/O芯片。

    硬件RAID:有专门的RAID控制/处理与I/O处理芯片,用来处理RAID任务,不需耗用主机CPU资源,效率高,性能好。

03 RAID级别

    把多个物理磁盘通过不同的技术方式组成磁盘阵列,这个的不同技术方式就被称为RAID级别。

    RAID级别一般有:RAID0、RAID1、RAID3、RAID0+1(也称为RAID10)、RAID5。

    RAID级别优缺点对比:

3.1 RAID0

    RAID0需要两块硬盘,这样速度快1倍,但是如果一个磁盘坏了则数据全部作废。N最少为2。

    优点:可以同时写,速度提升很快。

    缺点:由于没有备份,可靠性很差。

 3.2 RAID1

    由于RAID0不可靠,故引入RAID1。如果你有N块磁盘,把其中N/2块磁盘作为镜像磁盘,在往其中一块磁盘写入数据时,也同时往另一块写数据。

    优点:可靠性最佳(其中一块损坏,会使用备份盘)

    缺点:磁盘利用率只有一半,空间利用率太低。

3.3 RAID3

    RAID 3:若有N块盘,其中1块盘作为校验盘,剩余N-1块盘相当于做RAID0同时读写,当其中一块盘坏掉时,可以通过校验码还原出坏掉盘的原始数据。

    但是这有个问题,由于N-1块盘做了RAID0,每一次读写都要牵动所有盘来为它服务,而且校验盘损坏了数据就损坏了。

    最多允许坏一块盘,N最少为3。

3.4 RAID5

    RAID5:在RAID3的基础上有所区别,同样是相当于是1块盘的大小作为校验盘,N-1块盘的大小作为数据盘,但校验码分布在各个磁盘中,不是单独的一块磁盘,也就是分布式校验盘。

    最多坏一块盘。n最少为3。

3.5 RAID6

    RAID6:在RAID5的基础上,又增加了一种校验码。最多坏两块盘。

3.6 RAID10

总结

04 分类

4.1 软件RAID

    1、概述

    通过硬件阵列卡实现RAID具有可靠性高,性能好等特点,但是对于一般的企业而言硬件成本过高。

    2、特点

    优点:

    成本低

    缺点:

    1)占用内存空间

    2)占用CPU资源

    3)软件RAID程序无法将安装有操作系统的那个磁盘分区做成RAID模式

    因为RAID程序是运行在操作系统之上的,所以在启动操作系统之前,是无法实现RAID功能的,也就是说系统损坏了,RAID程序也就无法运行了。

    3、mdadm

    mdadm是多磁盘和设备管理(Multiple Disk and Device Administration),可用于管理Linux上的软件RAID阵列。

4.2 硬件RAID

    1、概述

    RAID卡是一种利用独立硬件实现RAID功能的方法。对于硬件RAID操作系统无法感知,只能通过厂家提供的RAID卡管理软件来查看卡上所连接的物理磁盘。而且,在配置RAID卡的时候,也不能在操作系统上完成,而必须进入这个硬件完成(或者在操作系统改下通过RAID卡配置工具来设置),一般的RAID卡都是在开机自检的时候,进入他的ROM配置程序来配置各种RAID功能的。

    注:在我们安装操作系统的时候,有时候找不到磁盘,这就是以为该服务器默认的是使用了硬件RAID,我们不去设置的话系统感知不到这个盘,我们必须在进入开机前设置RAID的功能才可以捕获这些磁盘。

    RAM的作用首先是数据缓存,提高性能,其次作为RAID卡上的CPU执行RAID计算所需要的内存空间。

    2、RAID与SCSI卡

    RAID卡与SCSI卡的区别就在于RAID功能,其他的没有什么大的区别。如果RAID卡上有多个SCSI通道,那么就称为多通道RAID卡。

    3、LUN

    条带化之后,RAID程序代码就操控SCSI控制器向OS层驱动程序代码提交一个虚拟化之后所谓的“虚拟盘”或者“逻辑盘”,称之为LUN。

    LUN是SCSI ID更细一级的地址号,每个SCSI ID(Target ID)下面还可以有更多的LUN ID(视ID字段的长度而定),对于大型磁阵而言,可以生成几百或者几千个虚拟磁盘,为每个虚拟磁盘分配一个SCSI ID是不可能的,因为每个SCSI总线最多接入16个设备,LUN就是下一级的寻址ID,后来LUN概念转换为软件生成的虚拟磁盘,统一称为“卷”。

05 特点

    磁盘阵列可以把多个磁盘驱动器通过不同的连接方式连接在一起工作,大大提高了读取速度,同时极大提高磁盘系统的可靠性。

    使用RAID的直接好处:

    1、提升数据安全性;

    2、提升数据读写性能;

    3、提供更大的单一逻辑磁盘数据容量存储。

06 RAID与LVM

6.1 概述

    LVM(Logic Volumn Management)逻辑卷管理,可以灵活的管理磁盘的容量,让磁盘分区可以随意放大或缩小,便于更好的应用磁盘的剩余空间,如果过于强调性能与备份,那么还是应该使用RAID功能,而不是LVM。

    LVM是在磁盘的分区之上,创建一个逻辑层,以方便系统管理整个硬盘分区系统。

6.2 特点

   优点:

    1)灵活性:当使用逻辑卷,文件系统可以分布在多个磁盘上,大小不会受物理磁盘的限制;

    2)在线数据重分布:可以在线地把数据从一个盘移动到另一个盘,或者改变数据在磁盘上的分布位置;

    3)磁盘条带化:可以实现并发读写;

    4)镜像卷;

    5)快照卷。

    缺点:

    LVM是在硬件上使用纯软件方式进行管理,所以误删除数据恢复更加困难,LVM缩减分区大小风险较大,并不推荐使用LVM对磁盘分区进行管理。

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值