讨论关于RAID以及RAID对于存储的影响

2022-07-11 17:54:40 浏览数 (1)

定义及作用

RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。 企业级的数据库一般部署在在RAID磁盘阵列的服务器上,这样能提高磁盘的访问性能,并能够实现容错/容灾。 最大优点,在我看来主要是两点:安全性和更快的传输速度。

主流RAID模式

目前主流的大概可以分为几个级别:RAID 0,RAID 1,RAID 5,RAID 10;这次我也简单介绍一下这几种的不同,以及对数据存储的影响。

RAID0:它可以提供最好的读写性能,如果你把两块磁盘做成了RAID0,那么在写入数据的时候,就可以同时对A磁盘和B磁盘执行写入操作,可以部分理解为两块磁盘的写入速度理论上是2倍于一块磁盘。提高读写性能,同时没有任何容错措施,如果其中的一部分数据丢失了,你的全部数据都不会找回来的,因为RAID0没有提供冗余恢复数据的策略。 适用于只读数据库等高性能无冗余的,生产环境下则完全不被考虑。 RAID1:提供了最高的安全保障,其原理就是将一块硬盘的数据以相同位置指向另一块硬盘的位置。RAID 1磁盘阵列又称为Mirror或Mirroring(镜像),因为它就是将一块硬盘的内容完全复制到另一块硬盘上。不难发现,对于写入磁盘而言,至少要付出两倍的性能代价,通过镜像来保证数据的容错性。 RAID5:是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算)RAID 5具有数据安全、读写速度快,空间利用率高等优点。这种方式既可以通过磁盘分割来提高性能,也可以通过奇偶性(Parity)来提供容错,当一个磁盘崩溃后,奇偶数据可以通过计算重建丢失的数据。

RAID10:RAID 10 和其名字所示那样,融合了RAID 0(磁盘分割)和RAID1(镜像)。这种方式也被称为:分割镜像。RAID 1 0 由于将数据分割到多个磁盘中使得并且不像RAID5那样有奇偶效验码,所以写入速度非常快。但写入速度还是会有影响因为需要重复写入镜像盘,但仍然,写入速度还是非常的快。而对于RAID 1 0 存储的代价等同于RAID1 (镜像),在RAID10中只有一半的磁盘空间可以用于存储数据。

不同模式下可利用的存储空间的比较:

SQL存储推荐

SQL Server文件

RAID级别

操作系统和SQL二进制文件

RAID 1

数据和索引

RAID 1 0 (如果预算不允许可以使用RAID 5)

日志

RAID 1 0

TempDB

RAID 1 0

备份

RAID 5

总结

其实还有其他几种RAID由于应用较少,我们在这里不做讨论,RAID对于SQL Server性能和容错等是具有关键性作用的。我希望本篇文章能够帮你理解RAID是如何影响你的SQL Server的性能。在去年一年的实施过程中尝试了几种不同RAID方式对服务器的影响后,我希望我的这些经验也能帮助大家准确选出自己合适的RAID方式,避免不必要的重复工作甚至影响数据存储。

参考资料

http://msdn.microsoft.com/en-us/library/ms190764.aspx http://www.cnblogs.com/CareySon/archive/2012/05/08/HowRAIDImpactSQLServer.html

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/119765.html原文链接:https://javaforall.cn

0 人点赞