性能优化的磁盘阵列

上题讲到mysql的硬件优化的时候,有提到磁盘阵列(Redundant Arrays of Independent Disks,RAID )

【百度百科】RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。

RAID 0 是无数据冗余的存储空间条带化,具有成本低,读写性能极高,存储空间利用率高等特点,适用于音、视频信号存储。临时文件的转存等对速度要求极其严格的特殊应用,但没有数据冗余,其安全性大大降低,构成阵列的任何一块硬盘的损坏都将带来灾难性的数据损失,这种方式其实没有冗余功能,没有安全保护,只是提高了磁盘的读写性能和整个服务器的磁盘容量,一般只适用于磁盘数较少,磁盘易紧缺的应用环境中,如果在RAID 0中配置4块以上的硬盘,对于一般的应用是不明智的。

RAID 1是两块硬盘数据完全镜像,安全性好,技术简单,管理方便,读写性能均好,因为他是一一对应的,所以它无法单块硬盘扩展,要扩展,必须同时对镜像的双方向进行同容量的扩展,因为这种冗余方式为了安全起见,时间上只是利用了一半的磁盘容量,数据浪费空间大。

RAID 0+1综合里前两者的特点,独立磁盘配置成RAID 0,两套完整的 RAID 0互相镜像,他的读写性能出色,安全性够好,但是构建阵列的成本投入大,数据空间利用率低。

RAID 5 是目前应用最广泛的的RAID技术,各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上,以n块硬盘构建的RAID 5阵列可以有n-1块硬盘容量,存储空间利用率很高,任何一块硬盘上的数据丢失,均可以通过校验数据就算出来。 他和RAID 3 的最大区别就是在于校验数据的时候是否平均分布到各块硬盘上。RAID 5具有数据安全,读写速度快,空间利用率高等优点,应用非常广泛,但是不足之处是如果1块硬盘出现故障以后,整个系统的性能将会大大降低。

RAID 1、RAID 0+1、RAID 5阵列配合热插拔(也称热可替换)技术,可以实现数据的在线恢复,即当RAID阵列中的任何一块硬盘损坏时,不需要用户关机或停止应用服务,就可以更换故障硬盘,修复系统,恢复数据。

看到这,你明白为什上文建议用 RAID 0+1了吧?您有什么高见呢?

原文发布于微信公众号 - 数据库SQL(SQLdba)

原文发表时间:2016-04-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区