SCM 服务器的 RAID

use*_*245 1 raid svn software-raid scm

我需要购买/构建一个服务器来托管我们的 Subversion 存储库(仅供参考:我是开发人员/不是 IT 人员)。显然,这是关键任务,需要具有较高的网络和磁盘 I/O 性能。我们的存储库目前为 5GB,我们支持 20 个开发人员。服务器将是 Windows 2008,但如果 Linux 是一种引人注目且更简单/更容易的解决方案,则它是一个选择。

澄清:5GB 的存储库大约是 2GB 的源代码,是的,它需要处理 20 个开发人员整天进行多次小的提交、日志、历史记录和检出。(我如何澄清源代码提交?这里和那里的一些 C# 文件,有几行更改?非常标准的东西。)

更新:预算:我希望以 2,000 美元或更少的钱过日子,只是因为我认为我们不需要花那么多钱。但是,如果它需要 5,000 美元,那么这就是它所需要的。这就是我们的生活。但是,如果 2500 美元获得 100%,而 5000 美元获得 103%,那么额外的钱就不值得了。

当然,我的首要任务是数据完整性。如果驱动器出现故障,我希望机器停止写入并能够快速放入新驱动器以使机器尽快备份和运行。(我可以处理几个小时的停机时间,但不能在停机期间处理几个小时的“工作”)。

我认为我不需要(或想要)RAID 5,因为重建成本似乎很高/很复杂。

至少,我可以使用 RAID 1,并有一个备份磁盘(显然不是来自同一批次甚至制造商的磁盘;-)

RAID 1+0 看起来可能更快?值得复杂吗?

有人可以向我指出一些管理 RAID 驱动器的建议和最佳实践,特别是,无论提供什么解决方案,我如何管理磁盘故障。如果驱动器死机,是否有软件可以通知我(电子邮件/寻呼机)?那个时候会阻止写入磁盘的软件?

还有什么我需要考虑的吗?

更新:我的问题是:硬件 RAID 与 Windows Server 2008 软件 RAID 在 RAID 1+0 wrt 速度、管理(死磁盘)和磁盘故障警报方面有什么优势。

谢谢

Jes*_*r M 5

如果驱动器出现故障,我希望机器停止写入并能够放入新驱动器

RAID 控制器通常不会像这样运行。如果驱动器出现故障,控制器会将阵列标记为降级,并继续让阵列运行(但速度较低,因为它需要进行更多错误处理)。

我认为我不需要(或想要)RAID 5,因为重建成本似乎很高/很复杂。

通常 RAID 5 和 6 是完全有效的选择,很少产生重建成本。更糟糕的是,RAID 5/6写入性能可能相当低。

我可以使用 RAID 1

对于 20 个用户,如果有不错的磁盘,我想这会很好。

RAID 1+0 看起来可能更快?值得复杂吗?

是的,RAID 1+0 更快,并且没有任何显着的额外复杂性——这是最常用的 RAID 级别之一,所有好的控制器都有成熟的实现。在理想情况下,4 磁盘 RAID 1+0 的读取性能是单个驱动器的 4 倍,写入性能是单个驱动器的 2 倍。但是有一点,成本会上升,因为您至少需要 4 个驱动器,并且相对于所用驱动器数量的有效存储大小并不太大。

我如何管理磁盘故障。是否有可以通知我的软件(电子邮件/寻呼机)

如果您购买合适的控制器,则附带控制器;您只需要安装管理软件并设置它以接收电子邮件通知。此外,您可以在控制器上放置一个热备用驱动器,以便它立即重建(请注意,重建期间性能会下降)。

3个提示:

  • 测量您现有服务器上的当前磁盘 I/O 模式和性能需求(perfmon 等)。如果您的实际磁盘 I/O 不是那么高,请不要过度使用 RAID。20 个用户并不多,但当然 Subversion 可能需要比人们想象的更多的磁盘 I/O。
  • 买名牌服务器(Dell、HP、IBM等),不要DYI。对于通用标准服务器来说,它几乎不值得。
  • 请记住,RAID != 备份。您似乎有点关注磁盘故障情况——RAID 为您提供了更长的服务器正常运行时间和更多的磁盘 I/O,但您仍然需要适当的备份。