摘要:传统RAID基于磁盘为最小分配单位带来一个问题就是可能存在性能瓶颈(整个lun受制于RAID组里面有多少块磁盘)。而存储器底层虚拟化则不一样,他通过把底层磁盘作为统一的资源池,解决了潜在的性能瓶颈问题。 |
前文我们讲的主要是传统的RAID保护的概念,传统的RAID保护基本上是以单个磁盘为单位做数据保护,比如说6块磁盘做RAID5的保护(5+1,一块校验磁盘,5块数据磁盘,磁盘空间利用率为83.33%);或者说3块磁盘做RAID1+0镜像保护(磁盘空间利用率50%);或者说3块磁盘做RAID0条带化,数据完全打散在三块磁盘中,磁盘空间利用率为100%,但是没有办法在这一层提供数据保护功能,参考下图图示:
我们前文讲过,传统RAID基于磁盘为最小分配单位带来一个问题就是可能存在性能瓶颈(整个lun受制于RAID组里面有多少块磁盘)。而存储器底层虚拟化则不一样,他通过把底层磁盘作为统一的资源池,解决了潜在的性能瓶颈问题。
这样做到好处在于
从根本上消除瓶颈问题,提高吞吐量
读写IO工作量被平均地分布到每个diskgroup的所有磁盘上
真正地允许混用不同容量、不同转速的磁盘(作为一个统一的存储池)
避免对应用程序和数据库复杂的分析调优过程
下图是一个典型的图示,当磁盘组内磁盘从5块扩张到10块时的数据重构打散过程:在五块磁盘中做RAID,和传统的RAID5实现形式很类似:
当在磁盘组中插入更多的磁盘后,底层存储虚拟化的技术将把原先分布在5块盘上的数据都打散到10块磁盘上,每块磁盘上实际数据占用减少一半,同时整个磁盘组从5块磁盘扩展到10块磁盘,性能提高一倍,原有的RAID5保护机制也没有改变。
下图演示加入5块盘以后的,采用存储虚拟化技术的存储器RAID保护机制的运行示意图(仍然是RAID5的保护模式):