Home >Database >Mysql Tutorial >DBA 们应该知道的 RAID 卡知识_MySQL

DBA 们应该知道的 RAID 卡知识_MySQL

WBOY
WBOYOriginal
2016-06-01 13:49:282297browse

bitsCN.com

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

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

  

/

 

  什么是raid?

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

  对于数据库应用,通常我们换选择raid1+0。他在磁盘空间成本和安全性方面和raid5差不多,但是在性能方面(IOphotoshop/ target=_blank class=infotextkey>PS)却明显优越于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、环保

bitsCN.com
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn