{{< details >}}

  • Tier: 专业版, 旗舰版
  • Offering: 私有化部署

{{< /details >}}

如果您希望在测试后恢复到常规的 Linux 软件包安装设置,或者遇到灾难恢复情况并希望暂时禁用 Geo,您可以按照这些说明禁用您的 Geo 设置。

如果您正确移除所有次要 Geo 站点,则禁用 Geo 和拥有无次要 Geo 站点的活动 Geo 设置之间不应有功能差异。

要禁用 Geo,请按照以下步骤操作:

  1. 移除所有次要 Geo 站点
  2. 从 UI 中移除主站点
  3. 移除次要复制槽
  4. 移除 Geo 相关配置
  5. 可选:将 PostgreSQL 设置恢复为使用密码并监听 IP

移除所有次要 Geo 站点

要禁用 Geo,您需要首先移除所有次要 Geo 站点,这意味着这些站点上不再发生复制。您可以按照我们的文档移除次要 Geo 站点

如果您希望保留使用的当前站点是次要站点,则需要首先将其提升为主站点。您可以使用我们的步骤如何提升次要站点来实现这一点。

从 UI 中移除主站点

要移除站点:

  1. 移除所有次要 Geo 站点
  2. 在左侧边栏底部,选择管理员
  3. 选择Geo > 节点
  4. 节点选择移除
  5. 当提示出现时,选择移除以确认。

移除次要复制槽

要移除次要复制槽,请在 PostgreSQL 控制台(sudo gitlab-psql)中,在您的主 Geo 节点上运行以下查询之一:

  • 如果您已经有一个 PostgreSQL 集群,通过名称删除各个复制槽以防止删除同一集群中的次要数据库。您可以使用以下命令获取所有名称,然后删除每个单独的槽:

    SELECT slot_name, slot_type, active FROM pg_replication_slots; -- 查看当前复制槽
    SELECT pg_drop_replication_slot('slot_name'); -- 其中 slot_name 是预期的名称
    
  • 要移除所有次要复制槽:

    SELECT pg_drop_replication_slot(slot_name) FROM pg_replication_slots;
    

移除 Geo 相关配置

  1. 对于主 Geo 站点上的每个节点,SSH 进入节点并以 root 用户身份登录:

    sudo -i
    
  2. 编辑 /etc/gitlab/gitlab.rb 并通过移除任何启用了 geo_primary_role 的行来移除 Geo 相关配置:

    ## 在 11.5 之前的文档中,该角色通过以下方式启用。移除此行。
    geo_primary_role['enable'] = true
    
    ## 在 11.5+ 文档中,该角色通过以下方式启用。移除此行。
    roles ['geo_primary_role']
    
  3. 进行这些更改后,重新配置极狐GitLab 以使更改生效。

(可选)将 PostgreSQL 设置恢复为使用密码并监听 IP

如果您希望移除 PostgreSQL 特定设置并恢复为默认设置(使用套接字),您可以安全地从 /etc/gitlab/gitlab.rb 文件中移除以下行:

postgresql['sql_user_password'] = '...'
gitlab_rails['db_password'] = '...'
postgresql['listen_address'] = '...'
postgresql['md5_auth_cidr_addresses'] =  ['...', '...']