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

jopen 12年前
     <div id="OSChina_News_26677" class="NewsContent TextContent NewsType2">     <p>对于数据库这种特殊应用IOPS往往会成为瓶颈,突破的这个瓶颈的有效方法不多,软件方面主要是读写分离,垂直拆分,分区表技术,cluster。硬件方面主要是raid,和SSD。<br /> 通常都是软件和硬件同时优化,相对于成考考虑,硬件使用raid的情况较多,今天分享下硬件raid知识。</p>     <p><img alt="DBA 的亲们应该知道的 RAID 卡知识" src="https://simg.open-open.com/show/dcdd9d644e6a1d6cfe64960be680434c.jpg" width="563" height="273" /></p>     <p><strong>什么是raid?</strong><br /> raid可以提供数据备份技术、扩展存储空间和提高存储性能。关于raid 0,raid 1,raid0+1,raid1+0,raid 5这些理论基础我就不重复提及了,google下很多的。<br /> 对于数据库应用,通常我们换选择raid1+0。他在磁盘空间成本和安全性方面和raid5差不多,但是在性能方面(IOPS)却明显优越于raid5,所以对于OLTP系统,我们一般使用raid1+0。</p>     <p>下面我们开始进入正题,raid硬件知识,当然,我们只是站在应用的角度去探讨raid硬件设备的性能和安全。</p>     <p><strong>缓存</strong><br /> 对于一块中高端的RAID,缓存是必不可少的。一般raid卡使用的DDR2内存颗粒,和我们的内存条几乎相同,adaptec的缓存叫DRAM,根据硬件技术的发展DDR3肯定会跟上的。<br /> 说到缓存技术就必须说一下两种缓存模式。<br /> <strong>write through</strong> 系统的写入请求直接写入硬盘,安全性很高,性能很低。<br /> <strong>write back</strong> 系统的写入请求先存放到缓存,再根据时机统一回写到硬盘中,由于缓存的写速度远远高于磁盘,所以这种方式性能可以大大提高。</p>     <p><strong>BBWC</strong><br /> 为了挖掘更好的RAID写入性能,饥渴的DBA肯定想打开write back功能,让咱的数据库飞起来。但是这个时候出现了一个非常严重的安全问题,就是突然断电导致数据丢失的问题(上面提过raid卡使用的是RAM存储 器,断电丢失数据,但是系统层已经认为这些数据已经写入硬盘,所以系统层不能提供任何保护措施),数据丢失对于DBA的亲们肯定是不能接收的。那该如何 呢?<br /> 针对这个问题出现了<strong>BBWC</strong>–Battery-Backed Write Cache.BBWC的核心就是<strong>BBU</strong>电池备份单元,它就是一块锂电池,在系统开机的情况下处于充电状态,一旦遇到断电,就会给缓存提供刷新所需的电流,保持数据不丢失,直到下次开机时把数据写回到磁盘上。有的BBU和raid卡的内存做在一个模块上,有些是raid卡通过一个连接线连接一个电池。<br /> BBWC的缺点:<br /> 1、每隔1-2年需要跟换电磁,维护麻烦,管理员容易忘记这个事情,如果机器不很远的机房单独去机房换电池,成本就高了。<br /> 2、更换电磁需要停机,并且需要把机器下架,拆开。<br /> 3、由于电池也是一个故障点,所以需要管理员花更多的时间来关心电磁的工作情况<br /> 4、电池能够提供的供电时间最多72小时,初始化需要充电数小时才能使用<br /> 5、电池不环保</p>     <p><strong>FBWC</strong><br /> 针对BBWC的缺点,出现了FBWC –Flash-Based Write Cache。<br /> FBWC的原理就是再系统以外停电的时候,利用一组“超级电容”中存储的电量,在较短的时间内(大约1分钟),将缓存中的数据备份到RAID卡上的大容量FLASH闪存中,知道下次开机再把数据回写到硬盘中。<br /> FBWC和BBWC几乎完成的目的是一样的,但是实现方式不同。</p>     <p>FBWC的优点:<br /> 1、不需要维护,这点就把管理员们解决出来了<br /> 2、数据可以在flash中保存很多年<br /> 3、系统启动即可用<br /> 4、环保<br /> <br /> 本文转载自: <a href="/misc/goto?guid=4958332618829411089" rel="nofollow" target="_blank">http://www.mysqlops.com/2012/03/10/dba%E7%9A%84%E4%BA%B2%E4%BB%AC%E5%BA%94%E8%AF%A5%E7%9F%A5%E9%8...</a></p>    </div>