Raid

 

RAID(独立磁盘冗余阵列)是包含多个磁盘驱动器的磁盘系统(称为阵列),可提供更高的性能、可靠性、存储容量和更低的成本。容错阵列分为六个 RAID 级别,从 0 到 5。每个级别使用不同的算法实现容错。

虽然 RAID 不是 SQL Server 的一部分,但它的实现直接影响 SQL Server 的执行方式。SQL Server 一般使用 RAID 级别 0、1 和 5。

硬件磁盘阵列可以提高 I/O 性能,因为可以在固件内高效地处理 I/O 功能,例如条带化和镜像。相反,基于操作系统的 RAID 提供较低的成本,但要使用较长的处理器周期。当成本是考虑因素之一且需要冗余和高性能时,RAID-5 卷是不错的解决方案。

数据条带化 (RAID 0) 是具有最佳性能的 RAID 配置,但是如果一个磁盘出现故障,条带集上的所有数据都将不可访问。关系数据库管理系统的常见安装方法是在 RAID 0 驱动器上配置数据库,而将事务日志放在镜像驱动器 (RAID 1) 上通过镜像事务日志,可以为数据库获得最佳的磁盘 I/O 性能并维护数据的可恢复性(假定执行定期数据库备份)。

如果必须快速恢复数据,可以考虑镜像事务日志并将数据库放在 RAID 5 磁盘上。RAID 5 提供了阵列中所有数据的冗余。这允许单个磁盘出现故障,并允许在除系统关闭之外的大部分时间内替换出现故障的磁盘。与 RAID 0 或 RAID 1 相比,RAID 5 提供的性能较差,但可以提供更好的可靠性和更快的恢复。

RAID 级别和 SQL Server

SQL Server 2005 实现的 RAID(独立磁盘冗余阵列)级别一般是 0、1 和 5。

级别 0

由于此级别使用称为条带集的磁盘文件系统,因此该级别也称为“磁盘条带化”。数据分成块并在阵列内的所有磁盘中按固定顺序展开。通过跨多个磁盘分散操作,RAID 0 可以提高读写性能。随后,不同的操作可以同时独立地执行。

RAID 0 与 RAID 5 相似,但 RAID 5 还提供容错能力。

级别 1

由于此级别使用称为“镜像集”的磁盘文件系统,因此此级别也称为“磁盘镜像”。磁盘镜像提供选定磁盘的完全相同的冗余副本。写入主磁盘的所有数据也将写入镜像磁盘。RAID 1 提供容错功能,通常可以提高读取性能,但可能会降低写入性能。

级别 2

该级别通过使用在所有磁盘中展开奇偶信息的纠正错误方法获得冗余。该级别还使用磁盘条带化策略,将文件分成字节并在多个磁盘中展开。相对于镜像 (RAID 1) 策略,该策略只在磁盘的使用以及读写性能上有很小的改进。RAID 2 不如其他 RAID 级别高效,而且不常使用。

级别 3

该级别使用与 RAID 2 相同的条带化方法,但纠正错误方法只需要一个磁盘存储奇偶数据。磁盘空间的使用因数据磁盘数目的不同而异。RAID 3 在一些读写性能上有改进。

级别 4

RAID 2 或 RAID 3 相比,此级别中条带化数据的块或段要大得多。与 RAID 3 相似,纠正错误方法只需要一个磁盘存储奇偶数据。该级别将用户数据和纠正错误数据分开。RAID 4 不如其他 RAID 级别高效,而且不常使用。

级别 5

该级别也称为带奇偶的条带化,是在新设计中最常用的策略。与 RAID 4 相似,该级别在阵列内的磁盘中将数据条带化成大块。不同的是,该级别是在所有磁盘中写入奇偶信息。数据冗余通过这些奇偶信息提供。数据和奇偶信息排列在磁盘阵列上,以使两者始终位于不同的磁盘上。带奇偶的条带化的性能优于磁盘镜像 (RAID 1)。但是,如果条带成员丢失(例如磁盘发生故障时),读取性能将下降。

级别 10 (1+0)

该级别也称为带条带化的镜像。该级别使用条带化磁盘阵列,然后将该阵列镜像到另一组完全相同的条带化磁盘上。例如,可以使用五个磁盘创建一个条带化阵列。然后使用另一组五个条带化磁盘镜像该条带化磁盘阵列。RAID 10 提供了磁盘条带化与磁盘镜像冗余这两种性能上的好处。在所有 RAID 级别中,RAID 10 的读写性能最佳,但代价是使用两倍数目的磁盘。

高于 10 (1 + 0) 的 RAID 级别可以提供额外的容错能力或性能增强。这些通常是专有系统。

关于基于硬件的解决方案

在基于硬件的解决方案中,通常都实现 RAID(独立磁盘冗余阵列)等级 0、1、3 和 5。

基于硬件的 RAID 使用智能驱动器控制器和冗余磁盘驱动器阵列来帮助保护数据不在媒体发生故障时丢失并提高读操作和写操作的性能。对于运行 SQL Server 2005 的计算机,磁盘阵列是有效的磁盘存储解决方案。

基于硬件的 RAID 等级 1 到 5 自动实现硬件级的冗余和容错。所有等级(0 到 5)在系统处理器上都没有开销。各数据文件一般都分布在一个以上的磁盘中。可以实现基于硬件的 RAID 解决方案来为系统提供无缝的、不间断的媒体故障恢复能力。

通常,基于硬件的 RAID 所提供的性能优于基于 Microsoft Windows® 2000 或更高版本软件的 RAID 提供的性能。例如,通过基于不使用系统软件资源的硬件实现 RAID 5,可以显著提高数据吞吐量。通过使用比传统存储解决方案更多的特定容量的磁盘可以实现这一目的。使用多个控制器可以进一步提高读写性能和总存储大小。

基于硬件的 RAID 通常提供较好的性能,具体取决于配置情况。它还使管理多个磁盘变得更加容易。这使您可以将一个磁盘阵列视为一个磁盘。甚至能够在不关闭系统的情况下替换发生故障的驱动器。基于硬件的解决方案的缺点是开销较大。它还可能将您限制于某一个供应商。

比较 RAID 等级的不同实现

不同 RAID(独立磁盘冗余阵列)的实现方法各有利弊,如下表所示:

RAID 实现

优点

缺点

Microsoft Windows 2000 或更高版本的 RAID-5 卷

无需额外的硬件成本。

使用系统处理资源。

基于硬件的条带化

不争用处理器周期。在所有 RAID 实现中具有最佳性能。

需要额外的专用硬件成本。

SQL Server 2005 一般使用的 RAID 解决方案可提供不同级别的冗余和容错。

RAID 实现

优点

缺点

基于硬件的 RAID 3、5 或 10

卓越性能。不争用处理器周期。

高成本。

基于硬件的 RAID 1

卓越的冗余性能。不争用处理器周期。

更多的硬件会增加成本。

基于硬件的 RAID 10

卓越性能。卓越的冗余性能。

更多的硬件会增加成本。

Windows 2000 或更高版本的镜像卷

较好冗余性能。低成本。

使用系统处理资源。

基于 Windows 2000 的 RAID 5

卓越的读取性能。低成本。

使用系统处理资源。

原文地址:https://www.cnblogs.com/mengxiao1001/p/1460400.html