用于SCM服务器的RAID

我需要购买/build立一个服务器来托pipe我们的Subversion版本库(仅供参考:我是一个开发人员而不是IT人员)。 显然这是关键任务,需要具有较高的networking和磁盘I / O性能。 我们的存储库目前是5GB,我们支持20个开发者。 服务器将是Windows 2008,但是Linux是一个select,如果它是一个引人注目,更简单/更容易的解决scheme。

澄清 :5GB存储库大约有2GB的来源,是的,它需要处理20个开发者整天做多个小的提交,日志,历史和签出。 (我如何澄清源代码提交?几个C#文件在这里和那里,几行改变?漂亮的东西。)

更新 :预算:我希望能以2000美元或更less的价格获得,只是因为我不认为我们需要花费那么多。 但是,如果花费5000美元,那就是需要的。 这是我们的生活。 但是,如果2500美元获得100%,5000美元获得103%,那么不值得多余的钱。

当然,我的首要任务是数据完整性。 如果一个驱动器出现故障,我想让机器停止写入,并且能够快速安装一个新的驱动器,让机器尽快恢复正常运行。 (我可以处理几个小时的停机时间,但在停机时间内不会有几个小时的“工作”)。

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

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

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

有人能指点我一些pipe理RAID驱动器的build议和最佳实践,尤其是无论提供什么解决scheme,我如何pipe理磁盘故障。 是否有软件可以通知我(电子邮件/寻呼机),如果一个驱动器死亡? 软件,将防止写入磁盘在这一点上?

还有什么我需要考虑的事情?

更新:我的问题是这样的:硬件RAID与Windows Server 2008软件RAID之间的RAID 1 + 0速度,pipe理(死盘)和磁盘故障警报之间的优点什么。

谢谢

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

RAID控制器通常不会像这样操作。 如果一个驱动器发生故障,控制器会将该arrays标记为降级,并继续让arrays运行(但速度较慢,因为它需要做更多的error handling)。

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

通常RAID 5和RAID 6是完全有效的select,重build成本很less发生。 RAID 5/6的写入性能可能相当低,

我可以使用RAID 1

对于20个用户,与体面的磁盘,我想这将是罚款。

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

是的, RAID 1 + 0速度更快 ,并且没有任何明显的额外复杂性 – 这是最常用的RAID级别之一 ,所有优秀的控制器都有成熟的实现。 在完美的世界中,4磁盘RAID 1 + 0的读取性能可达4倍,单个驱动器的写入性能可达2倍。 有一件事情,成本上升,因为你至less需要4个驱动器,相对于使用的驱动器数量有效的存储大小不是太大。

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

如果你买了一个体面的控制器,与控制器一起; 您只需安装pipe理软件并将其设置为电子邮件通知。 此外,您可以在控制器上放置一个热备用驱动器,以便马上重build(请注意,重build期间性能下降)。

3小贴士:

  • 衡量你现有的服务器(perfmon等)当前的磁盘I / O模式和性能需求。 如果您的实际磁盘I / O不是不那么高,不要在RAID上过度。 20个用户并不多,但是Subversion当然可能需要更多的磁盘I / O。
  • 购买一个名牌服务器(戴尔,惠普,IBM等),不要DYI。 通用的标准服务器几乎是不值得的。
  • 请记住,RAID!=备份。 您似乎对磁盘故障情况有所疑虑 – RAID为您提供了更高的服务器正常运行时间和更多的磁盘I / O,但是您仍然需要正确的备份。

你的版本库是5GB,但你提交/更新的频率是多less?

我们在这里工作多less钱? 这真的是你应该问自己最重要的第一个问题。

具有1或2个热备份的RAID 1或1 + 0将是理想的,这样,如果一个驱动器发生故障,RAID卡将自动开始使用热备份驱动器重buildRAID。 然后,你只需要买一个新的驱动器来匹配那里的驱动器,然后用那个驱动器replace那个坏的驱动器。

我会推荐一个硬件RAID 1 + 0设置。 这将以较高的成本(与RAID 5相比需要更多的驱动器)为代价,为您提供良好的性能和冗余/容错能力。

一个镜像RAID卷有2个所有数据的副本,所以如果一个驱动器失败,你仍然有一个可访问的副本。 您无需在驱动器故障时阻止磁盘访问。 您可以使用“热备用”驱动器来configuration系统,这些驱动器在发生驱动器故障之前一直处于未使用状态,然后自动恢复并自动取代发生故障的驱动器。 这应该给你一个function齐全的RAID卷,可以容忍另一个驱动器故障,并购买足够的时间来更换发生故障的驱动器。 为了使RAID 1 + 0卷完全失效,您需要在很短的时间内(通常很less见)出现多个驱动器故障。

大多数硬件RAID控制器都带有pipe理软件,可以在出现故障时提醒您。

我的大部分服务器体验都是使用惠普产品,所以我主要是从这个angular度来讲的(尽pipe其他大多数品牌都有类似的function)。

我无法从您的描述中看到可能发生高networking或磁盘IO负载的情况。 5 GB是一个非常小的SCM存储库,C#文件只有几KB,20个开发人员根本没有问题。 所以你应该把注意力集中在你设置的可靠性上,所以具有冗余电源和RAID 1的服务器应该没问题。 你的主要担心应该是灾难恢复,但这不是一个RAID设置会买你,你可能知道。