mysql服务器 raid 分类

由于现代数据中心业务量的与日俱增,单台服务器上需要运行的数据也日益增多。当单个物理硬盘在容量和安全性上不足以支持系统业务时,就需要将多个硬盘以某种特定方式组合起来,对外作为一个可见的硬盘来使用,才可满足实际需要。硬盘组,就是将一组物理硬盘组合起来,作为一个整体对外体现,是虚拟磁盘的基础。

虚拟磁盘,即使用硬盘组划分出来的连续的数据存储单元,相当于一个个独立的硬盘,通过一定的配置,使其具有比单个物理硬盘更大的容量,及更高的安全性和数据冗余性。

一个虚拟磁盘可以是:

  • 一个完整的硬盘组。
  • 多个完整的硬盘组。
  • 一个硬盘组的一部分。
  • 多个硬盘组的一部分(每个硬盘组划分一部分,共同组成虚拟磁盘)。

在下文的描述中:

  • 硬盘组一般会表述为“Drive Group”(简称“DG”)、“Array”、“RAID组”。
  • 虚拟磁盘一般会表述为“Virtual Drive”、“Virtual Disk”(简称“VD”)、“Volume”、“Logical Device”(简称“LD”)等。

RAID 0

RAID 0又称为条带化(Stripe)或分条(Striping),代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个硬盘上存取。这样,当系统有数据请求时就可以在多个硬盘上并行执行,每个硬盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高硬盘整体读写性能。但由于其没有数据冗余,无法保护数据的安全性,只能适用于I/O速率要求高,但数据安全性要求低的场合。

处理流程

图1-1 RAID 0数据存储原理所示,系统向三块硬盘组成的逻辑硬盘(RAID 0硬盘组)发出的I/O数据请求被转化为三项操作,其中的每一项操作都对应于一块物理硬盘。

通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。

三块硬盘的并行操作在理论上使同一时间内硬盘读写速度提升了3倍。虽然由于总线带宽等多种因素的影响,实际的提升速率会低于理论值,但是大量数据并行传输与串行传输比较,提速效果显著。

图1-1 RAID 0数据存储原理

 

RAID 1

RAID 1又称镜像(Mirror或Mirroring),即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时同时从工作盘和镜像盘读出。当更换故障盘后,数据可以重构,恢复工作盘正确数据。RAID 1可靠性高,但其有效容量减小到总容量一半,因此常用于对容错要求较高的应用场合,如财政、金融等领域。

处理流程

图1-2 RAID 1数据存储原理所示,系统向两块硬盘组成的逻辑硬盘(RAID 1硬盘组)发出I/O数据请求。

  • 向硬盘Drive 0写入数据时,系统会同时把用户写入Drive 0的数据自动复制到Drive 1上。
  • 读取数据时,系统同时从Drive 0和Drive 1读取。

图1-2 RAID 1数据存储原理

RAID 5

RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。为保障存储数据的可靠性,采用循环冗余校验方式,并将校验数据分散存储在RAID的各成员盘上。当RAID的某个成员盘出现故障时,通过其他成员盘上的数据可以重新构建故障硬盘上的数据。RAID 5既适用于大数据量的操作,也适用于各种小数据的事务处理,是一种快速、大容量和容错分布合理的磁盘阵列。

处理流程

图1-4 RAID 5数据存储原理所示,PA为A0、A1和A2的奇偶校验信息,PB为B0、B1和B2 的奇偶校验信息,以此类推。

RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到成员盘上,并且奇偶校验信息和相对应的数据分别存储于不同的硬盘上。当RAID 5的一个硬盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息可以恢复被损坏的数据。

RAID 5可以理解为是RAID 0和RAID 1的折衷方案:

  • RAID 5可以为系统提供数据安全保障,但保障程度要比RAID 1低而硬盘空间利用率要比RAID 1高,存储成本相对较低。
  • RAID 5具有较RAID 0略低的数据读写速度,但写性能比写入单个硬盘时要高。

图1-4 RAID 5数据存储原理

 

RAID 10

RAID 10是将镜像和条带进行两级组合的RAID级别,即RAID 1+RAID 0的组合形式,第一级是RAID 1,第二级是RAID 0。RAID 10是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。

处理流程

图1-6 RAID 10数据存储原理所示,Drive 0和Drive 1组成一个子组0,Drive 2和Drive 3组成一个子组1,子组内的两个硬盘互为镜像。

系统向硬盘发出I/O数据请求时,原先顺序的数据请求按照RAID 0的方式,被分散到两个子组中并行执行,同时通过RAID 1的方式,系统在向硬盘Drive 0写入数据的同时把数据自动复制到硬盘Drive 1上,向硬盘Drive 2写入数据的同时把数据自动复制到硬盘Drive 3上。

图1-6 RAID 10数据存储原理

 

 容错能力

  • RAID 0:不提供容错功能。任意一个成员盘出现故障,都会导致数据丢失。通过条带化方式同时在多个成员盘中写入数据。RAID 0对于需要高性能但不需要容错的应用场景非常理想。
  • RAID 1:提供100%的数据冗余能力。当一个成员盘故障时,可以使用RAID组中对应的其他硬盘的数据来运行系统,并重构故障盘。因为一个成员盘的内容会完全备份写入另一个硬盘, 所以如果其中一个成员盘出现故障,则不会丢失任何数据。成对的成员盘在任何时候都包含相同的数据。RAID 1组是需要最大容错能力和最小容量要求的应用场景的理想选择。
  • RAID 5:结合了分布式奇偶校验和硬盘条带化。奇偶校验在不需要备份全部硬盘内容的情况下,为1个硬盘提供了冗余特性。当一个成员盘故障时,RAID控制卡使用奇偶校验数据来重构所有丢失的信息。RAID 5使用较小的系统开销为系统提供了足够的容错能力。
  • RAID 10:使用多个RAID 1提供完整的数据冗余能力。RAID 10对所有需要通过镜像硬盘组提供100% 冗余能力的场景都适用。

I/O性能

RAID组可作为一个单独的存储单元或多个虚拟单元被系统使用。由于可以同时访问多个硬盘,使得针对RAID组的I/O读写速率较普通硬盘更高。

  • RAID 0:提供优异的性能。RAID 0将数据分割为较小的数据块并写入到不同的硬盘中,由于可以同时对多个硬盘进行读写,RAID 0提升了I/O性能。
  • RAID 1:由于RAID组中的硬盘都是成对出现,写数据时也必须同时写入2份,从而占用更多的时间和资源,导致性能降低。
  • RAID 5:提供了较高的数据吞吐能力。由于成员盘上同时保留常规数据和校验数据,每个成员盘都可以独立读写,再加上完善的Cache算法,使得RAID 5在很多应用场景中都有出色的性能表现。
  • RAID 10:由RAID 0子组提供高数据传输速率的同时,RAID 10在数据存储方面表现优异。I/O性能随着子组数量的增加而提升。

当同一RAID控制卡下同时存在无需校验的RAID组(如RAID 0或RAID 1)和需要校验的RAID组(如RAID 5或RAID 6),且写策略均设置为Write Back时,需要校验的RAID组性能会下降。I/O wait增加。

建议将无需校验的RAID组写策略设置为Write Through,以免对需要校验的RAID组性能产生影响。

 

存储容量

在选择RAID级别时,其存储容量也是一个重要参数。

  • RAID 0:在指定一组硬盘后,同等情况下,RAID 0可以提供最大的存储容量,可用容量=成员盘最小容量×成员盘数量。
  • RAID 1:由于对一个硬盘进行写入时,必须同时写入另一个硬盘,导致存储空间损耗。可用容量=成员盘最小容量。
  • RAID 5:校验数据块与常规数据块隔离,因此整体上来说,校验数据会占用1个成员盘的容量。可用容量=成员盘最小容量×(成员盘数量-1)。
  • RAID 10:可用容量=子组容量之和。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值