阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

能支持 10 万个 Git 仓库的硬件平台

85次阅读
没有评论

共计 1290 个字符,预计需要花费 4 分钟才能阅读完成。

如果你想要托管项目,可以考虑 GitLab.com,在这个网站上我们运行了一个单实例的 GitLab。目前有将近 20000 个用户在使用这个服务。单台机器上有超过 10 万个项目托管之上。

单一服务器

之前 GitLab.com 是运行在亚马逊的 AWS 平台上,使用的是 AWS 上最高的配置实例。但是由于用户的不断增长,AWS 单实例已经无法满足我们的需要,特别是 CPU 和存储方面的限制。我们必须寻找一种替代解决方案。

10 万个仓库需要占用好多个 TB 的存储,因此存储能力至关重要。而因为我们使用的是 Git,因此存储必须是一个单一的文件系统,而不能是类似亚马逊提供的 S3 对象存储服务。我们希望能够轻松扩展存储。此外大量的人提交和下载代码对系统的 CPU 要求也非常高,因此拥有更多的 CPU 核有助于在高负载的情况下提升响应速度。

看来最具性价比的方案是使用自己的服务器了。好在 GitLab 可以很方便的运行之上。

能支持 10 万个 Git 仓库的硬件平台And 因此,我们目前采购了两台独立服务器用来运行 GitLab.com,其中一台是活动的主服务器,另外一台备用。服务器配置如下:

  • 服务器型号: HP DL180 G6 (2009 生产)

  • 处理器: 2x X5690 (共 24 核)

  • 32GB RAM

  • 12x 2TB HDDs, (其中两个用于 root 卷,使用 RAID 1,另外 10 个磁盘使用 RAID 10 ext4 文件系统)

我们实际上只用了其中的 16 核。

故障以及故障转移

从亚马逊上迁移出来意味着我们不能再利用 AWS 平台的一些特性,因此一旦服务器宕机我们需要一些故障转移的措施。

我们需要使用 DRBD 来创建主从服务器架构,同一时间只有一个应用服务器是活动的,一旦出问题就会让 DRBD 切换到另外一台服务器。

我们的 DRBD 工具可通过 subscribers 获取。

未来的扩展性

GitLab.com 在当前的硬件平台上运行良好,但其增长越来越快。如果对现有的硬件进行扩展,其成本是很高的,而且有些部分是很难的。

将来 GitLab.com 将再次托管到亚马逊的 AWS 平台上,这可以让我们很容易的实现水平的扩展。此外亚马逊刚刚宣布了超过 10TB 的 ESB 卷,这将让我们的移植变得容易。

Fedora 通过 Http Proxy 下载 Git http://www.linuxidc.com/Linux/2009-12/23170.htm

在 Ubuntu Server 上安装 Git http://www.linuxidc.com/Linux/2009-06/20421.htm

服务器端 Git 仓库的创建(Ubuntu)http://www.linuxidc.com/Linux/2011-02/32542.htm

Linux 下 Git 简单使用教程(以 Android 为例)http://www.linuxidc.com/Linux/2010-11/29883.htm

Git 权威指南 PDF 高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm

Git 2 分钟指南 http://www.linuxidc.com/Linux/2014-11/109201.htm

Git 的详细介绍 :请点这里
Git 的下载地址 :请点这里

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计1290字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中