{{< details >}}
- Tier: 专业版,旗舰版
- Offering: 私有化部署
{{< /details >}}
- 验证存储在对象存储中的文件引入于极狐GitLab 16.4,使用名为
geo_object_storage_verification
的功能标志。more启用。
极狐GitLab 可以与对象存储(AWS S3 或其他兼容的对象存储)结合使用。
次要站点可以使用以下之一:
- 与主要站点相同的存储桶。
- 复制的存储桶。
- 本地存储,如果主要站点使用本地存储。
文件的存储方法(本地或对象存储)记录在数据库中,并且数据库从主要极狐GitLab Geo 站点复制到次要极狐GitLab Geo 站点。
访问上传对象时,我们从数据库中获取其存储方法(本地或对象存储),因此次要极狐GitLab Geo 站点必须与主要极狐GitLab Geo 站点的存储方法匹配。
因此,如果主要极狐GitLab Geo 站点使用对象存储,则次要极狐GitLab Geo 站点也必须使用。
要进行:
- 极狐GitLab 管理复制,请遵循启用极狐GitLab 管理的对象存储复制。
- 第三方服务管理复制,请遵循第三方复制服务。
有关极狐GitLab 管理的复制与第三方复制之间的比较,请参阅对象存储复制测试。
启用极狐GitLab 管理的对象存储复制
{{< history >}}
- 引入于GitLab 15.1。
{{< /history >}}
{{< alert type=”warning” >}}
出现问题时,避免手动删除单个文件,因为这可能导致数据不一致。
{{< /alert >}}
次要站点可以复制存储在主要站点上的文件,无论它们是存储在本地文件系统还是对象存储中。
要启用极狐GitLab 复制:
- 在左侧边栏的底部选择管理员。
- 选择Geo > 节点。
- 在次要站点选择编辑。
- 在同步设置部分中,找到允许此次要节点复制对象存储上的内容复选框以启用它。
对于 LFS,请遵循文档来设置 LFS 对象存储。
对于 CI 作业产物,有类似的文档来配置作业产物对象存储。
对于用户上传,有类似的文档来配置上传对象存储。
如果您想将主要站点的文件迁移到对象存储,您可以以几种方式配置次要站点:
- 使用完全相同的对象存储。
- 使用一个单独的对象存储但利用您的对象存储解决方案的内置复制。
- 使用一个单独的对象存储并启用允许此次要节点复制对象存储上的内容设置。
极狐GitLab 不支持以下情况:
- 主要站点使用本地存储。
- 次要站点使用对象存储。
迁移后的不一致
从本地迁移到对象存储时可能会发生数据不一致,这在对象存储故障排除部分中有进一步描述。
第三方复制服务
使用 Amazon S3 时,您可以使用跨区域复制(CRR)来实现主要站点使用的存储桶与次要站点使用的存储桶之间的自动复制。
对于手动同步或由 cron
安排的同步,请参见:
s3cmd sync