在上一个问题的后续(这是一个很好的答案 ),我很想知道在RAID5上运行交换可能不会比在RAID10上更好。
我的想法是,你可能会失去一点性能,因为它不会是纯粹的条纹,但如果一个驱动器停机,你可以重build从缺less的奇偶校验位。
也许这是没有道理的,条纹镜子会更好。
感谢有关购买更多RAM的意见 – 但请注意,这不是什么问题。 为了这个问题,你可以假定系统已经被最大化了。 我完全意识到“真实”内存与“虚拟”内存的偏好。
一些环境预期或需要交换configuration(注意一个是我工作最严重的系统,这需要交换段至less等于机器上的物理环境才能被供应商支持)。 因此,谨慎考虑实施交换这种环境的最佳方式。
正如其他人所说,购买更多的内存。 但是,Chopper3的答案并不完全正确。
考虑到两者都提供容错function,而且不考虑容量,select其中一个的原因就是性能 – 这取决于工作量。 对于一个只有很less进程但有很大内存要求的系统(例如AI引擎,FEA),那么你需要快速的带宽 – raid 5.对于有很多上下文切换的系统来说,就是减less延迟 – 因此raid10。
这是没有意义的,R10会更好,但是你应该真的尝试有足够的真实记忆,不必关心。
购买更多的RAM,或者至less足以满足您的应用程序的需求。 除非你计划经常交换,否则你不应该担心交换的速度。 你不应该计划经常交换…无论哪种方式,RAID 10是更好的select。
对于交换空间,我不会推荐RAID5。 RAID5存在写入性能问题,尤其会影响涉及许多小写入的工作负载,因为每个更新的块可能涉及额外的读取,因此控制器可以正确计算新的奇偶校验块(在3个驱动器(或3个 – 热备用)R5arrays每个条纹有三个块,两个纯数据和一个奇偶校验信息]。 3驱动器RAID10(不是标准configuration之一,但由Linux的软件RAID和一些硬件控制器支持,IBM的控制器称之为RAID1E)。
当然,如果你实际上并没有期望交换被用于除了几天之外没有被访问的页面以外的任何东西(所以它们被换出来为caching/缓冲区或其他更活跃的用途腾出空间),这个都是没有实际意义的,你应该为所有预期的工作量做好一切安排。
选项摘要:
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的读取通常被认为与裸盘驱动器的性能大致相同,但智能控制器可以根据工作负载模式和arrays布局来改善顺序和随机访问的性能(Linux RAID10驱动程序提供了许多布局为某些工作负载提供RAID0性能)。 与写入单个驱动器通常相似的写入类似。 一些用于提高读取性能的布局选项可能会影响写入性能(通过增加所需的头部移动数量或平均距离),请谨慎使用高级选项。