zzgang007 发表于 2009-12-4 10:54:00

RAID类型性能比较

<div><font size="3">在磁盘阵列性能的两个要素(磁盘空间和IOPS)都有很大影响的是磁盘阵列的组建类型(即RAID类型)。而在我们的日常工作中,常用的RAID类型为:RAID0 (没有奇偶检验的条带卷)、RAID1(镜像卷)、RAID5(带有奇偶检验的条带卷)、RAID10 (镜像的条带卷)。同时简单介绍最新还有一种RAID类型是RAID6.</font></div>
<div><font size="3">&nbsp;</font></div>
<h3><font size="5">1常见RAID类型的比较</font></h3>
<div>
<table cellspacing="0" cellpadding="0" width="565" border="0">
<tbody>
<tr>
<td valign="bottom" noWrap="noWrap"width="565" colspan="8">
<div align="center">常见RAID类型的比较</div></td></tr>
<tr>
<td valign="bottom" noWrap="noWrap"width="62">
<div align="left">类型</div></td>
<td valign="bottom" width="179">
<div align="left">原理</div></td>
<td valign="bottom" noWrap="noWrap"width="51">
<div align="left">容错性</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">备份冗余</div></td>
<td valign="bottom" noWrap="noWrap"width="70">
<div align="left">可用容量</div></td>
<td valign="bottom" noWrap="noWrap"width="50">
<div align="left">I/O性能</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">数据重构</div></td>
<td valign="bottom" noWrap="noWrap"width="56">
<div align="left">数据安全</div></td></tr>
<tr>
<td valign="bottom" noWrap="noWrap"width="62">
<div align="left">RAID0</div></td>
<td valign="bottom" width="179">
<div align="left">将数据分成一定大小顺序写到阵列的磁盘里</div></td>
<td valign="bottom" noWrap="noWrap"width="51">
<div align="left">无</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">无</div></td>
<td valign="bottom" noWrap="noWrap"width="70">
<div align="left">N倍</div></td>
<td valign="bottom" noWrap="noWrap"width="50">
<div align="left">读写高</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">不能</div></td>
<td valign="bottom" noWrap="noWrap"width="56">
<div align="left"> 无</div></td></tr>
<tr>
<td valign="bottom" noWrap="noWrap"width="62">
<div align="left">RAID1</div></td>
<td valign="bottom" width="179">
<div align="left">将数据完全一致的分别写到工作磁盘和镜像磁盘上</div></td>
<td valign="bottom" noWrap="noWrap"width="51">
<div align="left">有</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">有</div></td>
<td valign="bottom" noWrap="noWrap"width="70">
<div align="left">n/2倍</div></td>
<td valign="bottom" noWrap="noWrap"width="50">
<div align="left">读高写一般</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">1块磁盘 </div></td>
<td valign="bottom" noWrap="noWrap"width="56">
<div align="left"> 低</div></td></tr>
<tr>
<td valign="bottom" noWrap="noWrap"width="62">
<div align="left">RAID5</div></td>
<td valign="bottom" width="179">
<div align="left">将数据校验的信息均匀的分散到阵列的各个磁盘上。这样就不存在并发写操作时的校验磁盘性能瓶颈</div></td>
<td valign="bottom" noWrap="noWrap"width="51">
<div align="left">有</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">有</div></td>
<td valign="bottom" noWrap="noWrap"width="70">
<div align="left">(n-1)/n倍</div></td>
<td valign="bottom" noWrap="noWrap"width="50">
<div align="left">读高写低</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">n-1块磁盘</div></td>
<td valign="bottom" noWrap="noWrap"width="56">
<div align="left"> 低</div></td></tr>
<tr>
<td valign="bottom" noWrap="noWrap"width="62">
<div align="left">RAID10</div></td>
<td valign="bottom" width="179">
<div align="left">RAID1和RAID0的结合</div></td>
<td valign="bottom" noWrap="noWrap"width="51">
<div align="left">有</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">有</div></td>
<td valign="bottom" noWrap="noWrap"width="70">
<div align="left">n/2倍</div></td>
<td valign="bottom" noWrap="noWrap"width="50">
<div align="left">读写高</div></td>
<td valign="bottom" noWrap="noWrap"width="48">
<div align="left">1块磁盘</div></td>
<td valign="bottom" noWrap="noWrap"width="56">
<div align="left"> 高</div></td></tr></tbody></table></div>
<div><font size="3">&nbsp;</font></div>
<h4><font size="5"><font face="Arial">1.1&nbsp; IO</font>性能</font></h4>
<div><font size="3">&nbsp;读性能</font><font size="3">&nbsp;</font></div>
<div>
<div><font size="3">RAID0 是N块磁盘的读速率,RAID5是(n-1)块磁盘读速率。</font></div>
<div><font size="3">因为在RAID1中寻道一般能跨越组内所有磁盘进行。这意味着RAID1可获得两倍于单一磁盘的读取速度。同理得RAID10是N块磁盘的读速率。</font></div></div>
<div><font size="3">&nbsp;</font></div>
<div><font size="3">&nbsp; 写性能 </font></div>
<div><font size="3">&nbsp;&nbsp; 对于写操作,RAID 10和RAID1类型都会产生一个额外的读操作。</font></div>
<div><font size="3">对于写操作,RAID5需要执行两个读,两个写和两个XOR(异或检验)操作。另外对于单个用户的写操作,在新数据应用之前必须将老的数据从校验盘中移除,整个的执行过程是如下:读出旧数据,旧数据与新数据做XOR,并创建一个即时的值,读出旧数据的校验信息,将即时值与检验数据进行XOR,最后写下新的校验信息。为了减少对系统的影响,大多数的RAID5都读出并对整个条带(包括校验条带)写入缓存,执行两个XOR操作,然后发出并行写操作(通常对整个条带)。小数据量写操作的巨大使得RAID5技术很应用于密集写操作的场合,如重做日志文件和日志文件。</font></div>
<div><font size="3">&nbsp;</font></div>
<div><font size="3">每块磁盘I/O计算如下:(n为磁盘个数)</font></div>
<div><font size="3">RAID0&nbsp; (r+w)/n</font></div>
<div><font size="3">RAID1 &nbsp; (r+2w)/2</font></div>
<div><font size="3">RAID5&nbsp;&nbsp;&nbsp; (r+4w)/n</font></div>
<div><font size="3">RAID10&nbsp; (r+2w)/n</font></div>
<div><font size="3">&nbsp;</font></div>
<h4><font size="5"><font face="Arial">1.2</font>数据重构</font></h4>
<div><font size="3">对于RAID10和RAID1,当一块硬盘失效时,进行数据重构的操作是复制一个新磁盘。</font></div>
<div><font size="3">对于RAID5,需要从每块磁盘中读取数据,经过重新计算得到一块硬盘的数据量。因此RAID5在数据重构上的工作负荷和花费的时间远大于RAID10和RAID1.</font></div>
<div><font size="3">&nbsp;</font></div>
<h4><font size="5"><font face="Arial">1.3</font>数据安全保护</font></h4>
<div><font size="3">RAID10(先做RAID1,再做RAID0)只要不出现成对磁盘损坏的情况,整个系统不会出现数据丢失。</font></div>
<div><font size="3">RAID5不能出现两块损坏的磁盘,但由于数据重构时间和开销比RAID10高,在数据重构期间RAID5的可靠性比RAID10低。所以RAID5出现数据的丢失的可能性要比RAID10高, </font></div>
<div><font size="3">&nbsp;</font></div>
<h3><font size="5">2 RAID6</font></h3>
<div><font size="3">RAID 6的全称是独立的数据库硬盘与两个独立分布检验方案。实现这个思想的方法之一是用两个校验磁盘支持数据磁盘,第一个校验支持一种校验算法,而第二个磁盘支持另一种校验算法,第二算法也称为P+Q检验。</font></div>
<div><font size="3">&nbsp;</font></div>
<h3><font size="5">3 RAID 10与RAID01的分别</font></h3>
<div><font size="3">对于RAID01,当一个磁盘损坏等同于整个镜像条带的丢失,所以一旦镜像磁盘失效,RAID01系统就为了RAID0系统,增加了潜在的风险。另外RAID01数据是按整个条带进行重构,存在与RAID5数据重构一样的风险。因此强烈要求不架设RAID01的镜像的条带卷。</font></div>

a04125006 发表于 2009-12-8 10:11:00

<p>帮顶 拿分</p>
<p>&nbsp;</p>

qiuquanbo 发表于 2009-12-9 13:15:00

帮顶 拿分
页: [1]
查看完整版本: RAID类型性能比较