放入第二个驱动器并设置 Windows 软件 RAID-1 或 RAID-0(即磁盘镜像/条带化)是否有助于加快开发人员工作站的速度?理论上,系统可以将其读取分布在两个驱动器上,在最佳情况下提供几乎两倍的性能。但在实践中,这有多大帮助?有数字吗?
我对您在应用程序服务器启动时间方面的经验特别感兴趣,以及软件构建速度是否有显著加快,以及构建/服务器在后台运行时的性能。
澄清:我说的不是生产服务器 - 我只是想知道这是否是一种在开发应用程序时加速编译-部署-测试周期的廉价方法。在这种情况下,数据安全并不重要 - 这就是备份的目的。
答案1
RAID-0 不是镜像,而是条带化。
RAID-1 正在镜像。
RAID-0 在各方面都是最快的,但是零冗余的代价是巨大的 - 所以如果你不关心数据,而真正关心性能,并且认为磁盘是你的瓶颈(并非不可能),那么你可以使用它。
如果您对两者都感兴趣,那么您可以进入更昂贵的 RAID-10 或 RAID-50 领域。
Raid-10 是 2 个 RAID-0 的 RAID-1,RAID-50 是 3 个或更多 RAID-0 的 RAID-5。
同样,如果您的硬件支持,您可以执行 RAID-60(RAID-6 优于 RAID-0)。RAID-6 允许您在每个 RAID 中允许超过 1 个磁盘发生故障,但您显然需要更多磁盘,例如在 RAID-5 中,磁盘的最小数量为 3,3 个磁盘中可以有 1 个发生故障,但如果 2 个发生故障,您就会丢失数据。RAID-6 允许您分配多个磁盘以实现冗余,但代价是占用更少的空间,例如,您可以拥有一个包含 8 个磁盘的 RAID-6,并且在您遇到麻烦之前可以允许 2 个驱动器(或更多)发生故障。
底线是,永远不要单独使用 RAID-0,除非您确定您不介意丢失数据,也不介意花费时间重新设置一切。
答案2
我认为,如果可能的话,你应该尽量避免使用软件 RAID 解决方案。当然,它是内置于操作系统中的,因此价格合理,但软件镜像 (RAID1) 和条带 (RAID0) 非常脆弱,性能也非常低下。
- 它们更容易破裂
- 它们需要大量的 CPU 开销,因此你可以将可以获得的性能花在其他地方
- 它们通常不支持能为您带来最大好处的功能,例如热插拔(无需先关闭服务器即可更换磁盘)和热备用磁盘(= 如果 RAID 组(!=RAID0)中的磁盘损坏,则由额外的磁盘接管)。
在所有生产机器中,我要么使用硬件 RAID 控制器,要么干脆放弃 RAID。硬件 RAID 控制器(如 HP 的 SMART 控制器)价格昂贵,但就其提供的性能和安全性而言,它绝对物有所值。硬件 RAID 控制器将卸载主 CPU,因此性能非常出色。如果您认为初始 RAID 级别不适合您,它们支持热交换磁盘、热备用磁盘和 RAID 迁移。它们还可以支持电池供电的写入缓存,这样,如果您的计算机断电,写入磁盘集的路径将得到维护,并在电源恢复后写入,以避免数据丢失。所有这些好处肯定会对您有所帮助。
回答你最初的问题:(恕我直言)
- 始终对操作系统磁盘使用 RAID1(镜像),因为您需要冗余。它们还会从两个磁盘进行分布式读取。写入速度较慢,但硬件 RAID 控制器上的缓存可消除这一性能瓶颈。
- 仅当您不关心驱动器上的数据(即缓存、备份暂存等)时才使用 RAID0。
- 使用 RAID5 可实现最佳空间/速度/冗余/成本折衷,使用 RAID6 可实现非常大的卷和额外的冗余,
- 确实投资硬件 RAID 控制器。
采用非 RAID 路线:
如果您需要工作站的原始速度,请为操作系统购买固态硬盘。为数据购买第二个 10k rpm 驱动器。始终进行备份,备份到第二个驱动器或外部存储。在家里,我放弃了所有 RAID 配置,并购买了 Windows Home Server 用于数据和备份。效果非常好,是我能想到的最便宜的解决方案。此外,它还有许多其他好处,因此它同样适合小型企业!(<10 个客户)
答案3
事实并非如此,任何廉价 RAID-1(镜像)的读取性能的提升可能都可以忽略不计。
但作为开发人员或系统管理员,我更喜欢拥有至少两个高速驱动器(如 Velociraptor)的 RAID-0 阵列(借助廉价的 RAID 控制器(如内置的 Intel ICH10),因为您无法从软件 RAID-0 启动)来启动 Windows 和运行应用程序。
这极大地提高了 Windows 在多任务处理和其他繁重 I/O 负载(如链接、安装补丁以及像“高级用户”一样使用机器)时的响应。
它也与用英特尔 X25M SSD 替代所获得的响应速度相当 - 但价格是后者的两倍多,而生产率却提高了差不多,除非是一台无法接受两个以上 10krpm 以上驱动器的笔记本电脑 ^^
第三个单独的数据磁盘用于存放我的工作副本/源代码,并且我每天都会至少向中央存储库提交更改 - 通常是多次(每次修复或功能之后)。对于纯粹主义者来说,将其制作成镜像不会有什么坏处。还要确保您可以以某种方式快速恢复操作系统和应用程序 - 例如现有的良好部署解决方案或存储在某处的工作映像。
因此,RAID-0 有很大帮助(在我看来),并且是提升计算机性能的一种经济有效的方式。但您还应首先确保使用最快的 CPU 和最新的主板平台(芯片组)以及相当数量的匹配内存 - 因为无论人们怎么说,更快的 CPU 总是有帮助的。
答案4
我认为这些改进通常可以忽略不计,而您应该问的问题是,任何速度的提高是否值得冒险;通过条带化,您是说,如果其中任何一个硬盘出现故障,那么您的计算机将无法再工作,直到重建为止。
这对您来说会是一个多大的问题?这是否值得您看到整体速度的(可能很小的)提升?