DBA应该知道的RAID卡知识

日期: 2012-03-11 作者:ISADBA 来源:TechTarget中国 英文

  对于数据库这种特殊应用IOPS往往会成为瓶颈,突破的这个瓶颈的有效方法不多,软件方面主要是读写分离,垂直拆分,分区表技术,cluster。硬件方面主要是raid,和SSD。

  通常都是软件和硬件同时优化,相对于成考考虑,硬件使用raid的情况较多,今天分享下硬件raid知识。

  什么是raid?

  raid可以提供数据备份技术、扩展存储空间和提高存储性能。关于raid 0,raid 1,raid0+1,raid1+0,raid 5这些理论基础我就不重复提及了,google下很多的。

  对于数据库应用,通常我们换选择raid1+0。他在磁盘空间成本和安全性方面和raid5差不多,但是在性能方面(IOPS)却明显优越于raid5,所以对于OLTP系统,我们一般使用raid1+0。

  下面我们开始进入正题,raid硬件知识,当然,我们只是站在应用的角度去探讨raid硬件设备的性能和安全。

  缓存

  对于一块中高端的RAID,缓存是必不可少的。一般raid卡使用的DDR2内存颗粒,和我们的内存条几乎相同,adaptec的缓存叫DRAM,根据硬件技术的发展DDR3肯定会跟上的。

  说到缓存技术就必须说一下两种缓存模式。

  write through 系统的写入请求直接写入硬盘,安全性很高,性能很低。

  write back 系统的写入请求先存放到缓存,再根据时机统一回写到硬盘中,由于缓存的写速度远远高于磁盘,所以这种方式性能可以大大提高。

  BBWC

  为了挖掘更好的RAID写入性能,饥渴的DBA肯定想打开write back功能,让咱的数据库飞起来。但是这个时候出现了一个非常严重的安全问题,就是突然断电导致数据丢失的问题(上面提过raid卡使用的是RAM存储器,断电丢失数据,但是系统层已经认为这些数据已经写入硬盘,所以系统层不能提供任何保护措施),数据丢失对于DBA的亲们肯定是不能接收的。那该如何呢?

  针对这个问题出现了BBWC–Battery-Backed Write Cache.BBWC的核心就是BBU电池备份单元,它就是一块锂电池,在系统开机的情况下处于充电状态,一旦遇到断电,就会给缓存提供刷新所需的电流,保持数据不丢失,直到下次开机时把数据写回到磁盘上。有的BBU和raid卡的内存做在一个模块上,有些是raid卡通过一个连接线连接一个电池。

  BBWC的缺点:

  1、每隔1-2年需要跟换电磁,维护麻烦,管理员容易忘记这个事情,如果机器不很远的机房单独去机房换电池,成本就高了。

  2、更换电磁需要停机,并且需要把机器下架,拆开。

  3、由于电池也是一个故障点,所以需要管理员花更多的时间来关心电磁的工作情况

  4、电池能够提供的供电时间最多72小时,初始化需要充电数小时才能使用

  5、电池不环保

  FBWC

  针对BBWC的缺点,出现了FBWC –Flash-Based Write Cache。

  FBWC的原理就是再系统以外停电的时候,利用一组“超级电容”中存储的电量,在较短的时间内(大约1分钟),将缓存中的数据备份到RAID卡上的大容量FLASH闪存中,知道下次开机再把数据回写到硬盘中。

  FBWC和BBWC几乎完成的目的是一样的,但是实现方式不同。

  FBWC的优点:

  1、不需要维护,这点就把管理员们解决出来了

  2、数据可以在flash中保存很多年

  3、系统启动即可用

  4、环保

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

ISADBA
ISADBA

相关推荐