在 RAID10 还是 RAID5 上运行交换?

在 RAID10 还是 RAID5 上运行交换?

继此前问题(非常棒回答), 我很好奇,在 RAID5 上运行交换是否比在 RAID10 上运行更好。

我的想法是,你可能会在性能上损失一点,因为它不是纯粹的条带化,但如果驱动器出现故障,你可以从丢失的奇偶校验位重建它。

也许这没有意义,条纹和镜像会更好。

扩张

感谢您关于购买更多 RAM 的评论 - 但请注意,这是不是这个问题是关于什么的。为了回答这个问题,你可以假设系统已经达到最大容量。我完全了解“真实”内存与“虚拟”内存之间的偏好。

有几种环境需要或需要配置交换(值得注意的是,我最常用的系统需要交换段至少等于机器上的物理段,以便供应商支持该环境)。因此,考虑为此类环境实施交换的最佳方法是明智的。

答案1

正如其他人所说,购买更多内存。但是 Chopper3 的答案并不完全正确。

鉴于两者都提供容错能力,撇开容量不谈,选择其中一个的原因完全在于性能——这取决于工作负载。对于进程少但内存需求大的系统(例如 AI 引擎、FEA),您需要快速带宽 - raid 5。对于具有大量上下文切换的系统,它是为了减少延迟 - 因此是 raid10。

答案2

这没有任何意义,R10 会更好,但你真的应该尝试拥有足够的实际内存,这样就不必关心了。

答案3

购买更多 RAM,或者至少购买足以满足应用程序需求的 RAM。除非您计划经常交换,否则您不必担心交换速度。您不应该计划经常交换……无论哪种方式,RAID 10 都是更好的选择。

答案4

对于交换空间,我不推荐使用 RAID5。RAID5 存在写入性能问题,尤其会影响涉及许多小写入的工作负载,因为每个更新的块都可能涉及额外的读取,以便控制器可以正确计算新的奇偶校验块 [在 3 驱动器(或 3 加热备用)R5 阵列上,每个条带都有三个块,两个用于纯数据,一个用于奇偶校验信息]。3 驱动器 RAID10 也不行(不是标准安排之一,但受 Linux 的软件 RAID 和一些硬件控制器支持,IBM 的控制器称之为 RAID1E)。

当然,如果您实际上并不期望交换用于除了保存几天未访问的几个页面之外的任何其他用途(因此它们被换出以便为缓存/缓冲区或其他更活跃的用途腾出空间),那么这一切都是没有意义的,您应该只选择适合您预期的其余工作量的任何安排。

选项摘要:

Arrangement         Reads              Writes                             Space        Redundancy
--------------------------------------------------------------------------------------------------------------------------------------------------------------
RAID5 (3 or 3+hs)   Similar to RAID0   Often slower than bare drives      2 drives     Can survive one drive failing
RAID10 (4 drives)   Varies**           Usually similar to bare drives**   2 drives     Can survive one drive failing and 4 of the 6 "two drive" failure cases
RAID10 (3 drives)   Varies**           Usually similar to bare drives**   1.5 drives   Can survive one drive failing

** RAID1 的读取性能通常被认为与裸机的性能大致相同,但智能控制器可以根据工作负载模式和阵列布局改进顺序和随机访问的性能(Linux RAID10 驱动程序提供了许多布局,有时可以为某些工作负载提供类似 RAID0 的性能)。写入性能也类似,通常与单个驱动器的写入性能类似。一些用于改进读取性能的布局选项可能会影响写入性能(通过增加所需的磁头移动次数或平均距离),因此请谨慎使用高级选项。

相关内容