Help us learn about your current experience with the documentation. Take the survey.

GitLab Dedicated 存储类型

  • Tier: Ultimate
  • Offering: GitLab Dedicated

GitLab Dedicated 提供了一个单租户、完全托管的 GitLab 实例,部署在您首选的 AWS 云区域。您的账户团队会在采购过程中与您合作,确定您的存储需求。

了解 GitLab Dedicated 中的存储工作原理,有助于您就实例配置和资源管理做出明智的决策。

存储组件

GitLab Dedicated 为不同目的使用不同类型的存储。总存储分配会根据使用模式在这些组件之间进行划分。

总存储大小

总存储大小是分配给 GitLab Dedicated 实例的合并存储,包括您的仓库存储和对象存储。此分配表示通过 GitLab Dedicated 订阅购买并在实例配置期间配置的总存储容量。

在确定存储需求时,这是用于规划和定价的主要指标。然后,总存储会根据预期的使用模式在仓库存储和对象存储之间进行分配。

仓库存储

仓库存储是指分配给 Git 仓库的空间,分布在您的 Gitaly 节点上。此存储根据您的参考架构分布在实例中的 Gitaly 节点之间。

每个 Gitaly 节点的仓库存储

实例中的每个 Gitaly 节点都有特定的存储容量。此容量会影响单个仓库的大小,因为没有任何单个仓库可以超过单个 Gitaly 节点的容量。

例如,如果每个 Gitaly 节点有 100 GB 的存储容量,并且有 3 个 Gitaly 节点,您的实例总共可以存储 300 GB 的仓库数据,但没有任何单个仓库可以超过 100 GB。

对象存储

对象存储是一种将数据作为对象而非文件层次结构进行管理的存储架构。 在 GitLab 中,对象存储处理不属于 Git 仓库的所有内容,包括:

  • CI/CD 流水线中的作业产物和作业日志
  • 存储在容器注册表中的镜像
  • 存储在包注册表中的包
  • 使用 GitLab Pages 部署的网站
  • Terraform 项目的状态文件

GitLab Dedicated 中的对象存储使用 Amazon S3 实现,并采用适当的复制来保护数据。

混合存储

混合存储是 GitLab Dedicated 实例使用的总体存储,包括对象存储、仓库存储和数据传输。

非混合存储

非混合存储是基础设施层面每种存储类型的存储容量。 您主要使用总存储大小和仓库存储数量。

存储规划和配置

GitLab Dedicated 实例的存储规划涉及了解对象存储和仓库存储如何在基础设施中分配。

确定初始存储分配

GitLab Dedicated 账户团队帮助根据以下因素确定适当的存储量:

  • 用户数量
  • 仓库的数量和大小
  • CI/CD 使用模式
  • 预期增长

仓库容量和参考架构

您的仓库存储分布在 Gitaly 节点上。这会影响单个仓库的大小,因为没有任何单个仓库可以超过单个 Gitaly 节点的容量。

实例的 Gitaly 节点数量取决于在上线期间确定的参考架构,主要基于用户数量。超过 2,000 名用户的实例的参考架构通常使用三个 Gitaly 节点。有关更多信息,请参阅参考架构

查看参考架构

要查看您的参考架构:

  1. 登录 Switchboard
  2. 在页面顶部,选择 Configuration
  3. 从租户概览页面,找到 Reference architecture 字段。

要确认您的租户架构中的 Gitaly 节点数量,请提交支持工单

存储计算示例

这些示例展示了存储分配如何影响仓库大小限制:

2,000 名用户的标准工作负载

  • 参考架构:最多 2,000 名用户(1 个 Gitaly 节点)
  • 总存储大小:1 TB(1,024 GB)
  • 分配:600 GB 仓库存储,424 GB 对象存储
  • 每个 Gitaly 节点的仓库存储:600 GB
%%{init: { "fontFamily": "GitLab Sans" }}%%
graph TD
    accTitle: Storage allocation for 2,000 users
    accDescr: Diagram showing 1 TB total storage with repository storage on a single Gitaly node and object storage

    subgraph A[Total storage size: 1 TB]
        B[Repository storage: 600 GB]
        C[Object storage: 424 GB]
        B --> D[Gitaly node: 600 GB]
    end

10,000 名用户的 CI/CD 密集型工作负载

  • 参考架构:最多 10,000 名用户(3 个 Gitaly 节点)
  • 总存储大小:5 TB(5,120 GB)
  • 分配:2,048 GB 仓库存储,3,072 GB 对象存储
  • 每个 Gitaly 节点的仓库存储:682 GB(2,048 GB ÷ 3 个 Gitaly 节点)
%%{init: { "fontFamily": "GitLab Sans" }}%%
graph TD
    accTitle: Storage allocation for 10,000 users
    accDescr: Diagram showing 5 TB total storage with repository storage across 3 Gitaly nodes and object storage

    subgraph A[Total storage size: 5 TB]
        B[Repository storage: 2,048 GB]
        C[Object storage: 3,072 GB]
        D[Gitaly node 1: 682 GB]
        E[Gitaly node 2: 682 GB]
        F[Gitaly node 3: 682 GB]

        B --- D
        B --- E
        B --- F
    end

管理存储增长

要有效管理存储增长:

常见问题

实例配置完成后,我可以更改存储分配吗?

是的,您可以通过联系账户团队或打开支持工单来请求额外存储。存储变更会影响计费。

存储如何影响性能?

适当的存储分配可确保最佳性能。存储不足可能导致性能问题,特别是对于仓库操作和 CI/CD 流水线。

Geo 复制如何处理存储?

GitLab Dedicated 包括一个用于灾难恢复的辅助 Geo 站点,其存储分配基于您的主站点配置。

我可以为对象存储使用自己的 S3 存储桶吗?

不可以,GitLab Dedicated 使用 GitLab 在您的租户账户中管理的 AWS S3 存储桶。

相关主题