选择性同步
Tier: 专业版,旗舰版
Offering: 私有化部署
选择性同步
极狐GitLab Geo 支持选择性同步,允许管理员选择哪些项目应由 次要 站点同步。 可以选择部分项目,可按群组或存储分片选择。前者通过仅复制属于部分用户的数据,非常适合降低传输和存储成本。后者更适合逐步向大型 极狐GitLab 实例推广 Geo。
Geo 的同步逻辑在[文档](../_index.md)中概述。解决方案和文档都可能随时更改。你必须持续独立地确定自己在隐私和网络安全法律以及适用的贸易管制法律方面的法律义务。
选择性同步:
- 不会限制来自 次要 站点的权限。
- 不会阻止用户查看、交互、克隆和推送未包含在选择性同步中的项目仓库。
- 有关详细信息,请参阅Geo 为次要站点的代理转发。
- 不会向 次要 站点隐藏项目元数据。
- 由于 Geo 依赖于 PostgreSQL 复制,所有项目元数据都会被复制到 次要 站点,但未被选中的仓库将不会存在于该次要站点上。
- 不会减少为 Geo 事件日志生成的事件数量。
- 只要存在任何 次要 站点,主要 站点就会生成事件。选择性同步限制是在 次要 站点上实施的,而不是在 主要 站点上。
启用选择性同步
默认情况下,选择性同步是禁用的。要启用它:
- 在右上角,选择 管理员。
- 在左侧边栏,选择 Geo > 站点。
- 在要编辑的次要站点旁边,选择铅笔图标。
- 从 选择性同步 下拉列表中,选择 特定群组中的项目 或 特定存储分片中的项目。
- 根据你的选择,配置 要同步的群组 或 要同步的分片。
- 选择 保存更改。
提升启用了选择性同步的次要站点
提升启用了选择性同步的 **次要** 站点,使其成为 **主要** 站点,会导致所有未复制到该次要站点的数据 **永久丢失**。
在次要站点上配置选择性同步时,只会复制部分数据:
- 如果按 群组 同步:仅复制所选群组中的项目。
- 如果按 存储分片 同步:仅复制所选分片上的项目。
- 如果按 组织 同步:仅复制所选组织中的项目。
所有其他数据仅保留在原始的主要站点上。如果你提升启用了选择性同步的次要站点,使其成为新的主要站点:
- 未被选中复制的数据将永久无法访问。
- 用户将失去对被排除在选择性同步之外的项目、仓库和相关数据的访问权限。
- 除非你仍然能够访问原始的主要站点,否则这些数据无法恢复。
提升过程中没有针对此场景的验证或警告。
建议
在提升具有选择性同步的次要站点之前:
- 在计划提升的次要站点上 禁用选择性同步。
- 等待 完全复制 完成。监控 Geo 仪表盘,确保所有数据类型显示 100% 同步。
- 在继续进行提升之前,请 验证复制 是否完成。
- 然后才继续进行计划内故障切换 流程。
如果你必须提升启用了选择性同步的次要站点(例如,在紧急情况下):
- 记录哪些数据将会丢失。
- 确保利益相关者理解并接受数据丢失。
- 计划从备份或原始的主要站点恢复丢失的数据(如果可用)。
对未复制的仓库进行 Git 操作
对于存在于 主要 站点但不在 次要 站点上的仓库,支持通过 HTTP(S) 和 SSH 进行 Git 克隆、拉取和推送操作。这种情况可能发生在以下情况:
- 选择性同步不包含与仓库关联的项目。
- 仓库正在积极复制,但尚未完成。