Gitlab 中存储库的可扩展存储

Posted

技术标签:

【中文标题】Gitlab 中存储库的可扩展存储【英文标题】:Scalable storage for repositories in Gitlab 【发布时间】:2014-04-07 09:52:47 【问题描述】:

我正在 AWS EC2 上部署 Gitlab。默认情况下,Gitlab 使用实例的文件系统来存储存储库。但是,如果我要扩展它并在 Elastic LoadBalancer 后面运行多个实例,这将不起作用。

我的问题是,如果我希望为存储库使用可扩展存储,有哪些可能的选择? Gitlab 文档建议可以使用网络文件系统将文件存储在单独的服务器上。如何在 AWS 上实现类似的功能?

【问题讨论】:

【参考方案1】:

您可以为此使用 EBS 驱动器。

【讨论】:

我需要支持通过存储连接到多个 EC2 实例。我认为 EBS 卷不可能做到这一点,不是吗? 如果你想直接访问它就不行。如果您想要多个 EC2 实例,您需要设置一个 NFS 服务器(带有 EBS 驱动器)或使用诸如 GlusterFS 之类的东西。【参考方案2】:

首先,EBS 不能附加到多个正在运行的实例。这就像两台计算机共享一个硬盘。您可以使用 EBS,但不能直接将其用作共享文件系统。您需要自己设置 NFS 服务。您可以按照http://theredblacktree.wordpress.com/2013/05/23/how-to-setup-a-amazon-aws-ec2-nfs-share/ 的说明进行操作。

您可以考虑的另一个选项是 AWS Storage Gateway。它公开了一个标准的 iSCSI 块磁盘设备接口。支持多种配置(网关缓存卷与网关存储卷)。 AWS S3 在这些配置中用作主存储或备份存储。

【讨论】:

以上是关于Gitlab 中存储库的可扩展存储的主要内容,如果未能解决你的问题,请参考以下文章

BSV 智能合约中的可扩展状态存储

Laravel 4 使用存储库模式(由 Eloquent 支持)和缓存的可扩展设计

gitlab 安装和基本介绍

支持小端写入/读取的可扩展 ByteBuffer 等效项?

MariaDB 是不是具有 MYSQL/Oracle JSON_TABLE 的可扩展等效项

区块链中的可扩展隐私层