RAID利弊权衡
下表比较了各种RAID类型读写性能和每GB的相对成本。表中数据为理论最大值。
性能方面考虑:
1. RAID5具有单个存取功能,允许对组中的每个磁盘同时进行读取,可提供较高的读吞吐量。如果存储系统使用写缓存,RAID5将具有优异的写入性能。
2. RAID3 具有病行存取功能,可以为连续的大块(大于 64 KB 的块)请求提供较高的吞吐量。使用 RAID 3 时,系统将在每个请求中访问所有五个磁盘,但 是在写入前无需读取数据和奇偶校验 - 这对大块请求来说是一个优点,但对小块请求则不是。RAID 3 使用 SP 内存时无需缓存,这意味着您不必使 用缓存所需的次 SP 和 BBU。通常,I/O 请求大小越大,RAID 3 组的性能越好。当读取请求达到 1MB 时,读取性能将快速增强。当写入 请求为大于 256 KB 的连续写入请求时,写入性能将大大增强。对于发出极大 I/O 请求的应用,RAID 3 LUN 提供的写入性能明显高 于 RAID 5 LUN。
3. RAID 1 镜像对将其磁盘锁定为同步状态,但是 SP 可以从读 / 写磁头相距较近的磁盘读取数据。因此,RAID 1 的读取性能是单个磁盘读取性能的两倍,而其写入性能与单个磁盘的写入性能相同。
4. RAID 0 组 (非冗余单个存取阵列)或 RAID 1/0 组(镜像 RAID 0组)可以同时执行的 I/O 操作数量与组中的磁盘数量相同。由于RAID 1 /0 锁定 RAID 0 磁盘对的方式与 RAID 1 相同,因此 RAID1/0 的性能等于磁盘对的数量乘以 RAID 1 的性能数值。如果对 某一特定 LUN 要求较高的吞吐量,请使用 RAID 1/0 或 RAID 0 组。RAID1/0 组至少需要四个磁盘; RAID 0 组至少需 要三个磁盘。
5.单个单元的每个读取或写入操作只能进行一个 I/O 操作。
存储灵活性方面考虑:某些RAID 组类型(RAID 5、RAID 1、RAID 1/0 和 RAID 0)允许在每个组中最多创建 32 个 LUN。这可以增加灵活 性,特别是对于较大的磁盘,因为这使您可以将不同大小的 LUN 分配给不同的服务器、应用和用户。相反,使用 RAID 3 时,每个 RAID 组只 能有一个LUN,并且组中必须包含五个或九个磁盘,对一个服务器、应用或用户来说这是相当大的存储块。但是,RAID 3 的属性使其成为单线程类型应用 的理想类型。
数据可用性和磁盘空间使用率方面考虑:如果数据可用性至关重要,并且您无法花费大量时间用于更换磁盘、重新绑定磁盘、使操作系统可以访问磁盘以及从备份载入信息等操作,请使用冗余 RAID 组:RAID 5、RAID 3、RAID 1 镜像对或RAID 1/0。如果数据可用性不太重要,或磁盘空间使用率很重要,请绑定单个单元。
RAID 1 镜像对或 RAID 1/0 组可以提供非常高的数据可用性。它们比RAID 5 或 RAID 3 组更昂贵,因为只有磁盘总容量的 50% 可用于用户数据。
RAID 5 或 RAID 3 组 可以提供较高的数据可用性,但是比镜像对需要更多的磁盘数。在五磁盘的 RAID 5 或 RAID 3 组中,80% 的磁盘空间可用于用户数据。因 此 RAID 5 和 RAID 3 组的磁盘空间使用率高于镜像对。对于数据高可用性、良好的性能和高磁盘空间使用率同等重要的应 用, RAID 5 或 RAID 3 组通常比 RAID 1 镜像对更为适合。对于任一 RAID 组中的 LUN,您可以通过在远程站点建立远程镜 像来提供灾难恢复功能。
RAID组原则
要确定何时使用 RAID 5 组、RAID 3 组或镜像(即 RAID 1 镜像对、RAID 1/0 组、RAID 0 组、单个磁盘单元或热备盘),您需要权衡以下因素:
1.数据可用性的重要性
2.性能的重要性
3.数据存储量
4.磁盘空间的成本 1.适合使用 RAID 5 组(单个存取阵列)的应用
◆ 数据可用性非常重要。
◆ 需要存储大量数据。
◆ 多任务应用使用不同大小的 I/O 转移。
◆ 需要优异的读取性能和良好的写入性能(使用写缓存时写入性能极好)。
◆ 需要每个 RAID 组多个 LUN 的灵活性。 2.适合使用 RAID 3 组(并行存取阵列)的应用
◆ 数据可用性非常重要。
◆ 需要存储大量数据。
◆ 使用较大 I/O 转移(大于 64 KB)的单任务应用。操作系统必须允许从磁盘地址是 2 KB 的倍数处(从 LUN 起始地址开始计算)开始进行转移。 3.适合使用 RAID 1 镜像对的应用
◆ 数据可用性非常重要。
◆ 写访问速率很重要,并且写入活动很多。 4.适合使用 RAID 1/0 组(镜像非冗余阵列)的应用
◆ 数据可用性至关重要。
◆ 整体性能非常重要。 5.适合使用 RAID 0 组(非冗余单个存取阵列)的应用
◆ 高可用性不重要。
◆ 在单个磁盘出现故障时,可以承受无法访问存储在 LUN 上的数据
所带来的损失。
◆ 整体性能非常重要。 6.适合使用单个单元的应用
◆ 高可用性不重要。
◆ 写访问速率有点重要。 7.适合使用热备盘的情况
◆ 在任何 RAID 5、RAID 3、RAID 1/0 或 RAID 1 组中,高可用性非常重要,因此要求 RAID 组中任一磁盘出现故障时无需人为干预即可迅速恢复数据冗余。
◆ 将由于 RAID 5 或 RAID 3 组中磁盘出现故障而导致性能降低的情况降至最低十分重要。