正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Geoの無効化

  • プラン: Premium、Ultimate
  • 提供形態: GitLab Self-Managed

テスト後に通常のLinuxパッケージインストール設定に戻す場合、またはディザスターリカバリーが発生し、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; -- view present replication slots
    SELECT pg_drop_replication_slot('slot_name'); -- where slot_name is the one expected from the previous command
  • すべてのセカンダリレプリケーションスロットを削除するには、次の手順を実行します:

    SELECT pg_drop_replication_slot(slot_name) FROM pg_replication_slots;
  1. プライマリGeoサイトの各ノードで、SSHを使用してノードに接続し、rootとしてサインインします:

    sudo -i
  2. /etc/gitlab/gitlab.rbを編集し、geo_primary_roleを有効にした行を削除して、Geo関連の設定を削除します:

    ## In pre-11.5 documentation, the role was enabled as follows. Remove this line.
    geo_primary_role['enable'] = true
    
    ## In 11.5+ documentation, the role was enabled as follows. Remove this line.
    roles ['geo_primary_role']
  3. これらの変更を加えた後、変更を有効にするには、GitLabを再構成

(オプション)パスワードを使用し、IPでリッスンするようにPostgreSQL設定を元に戻します

PostgreSQL固有の設定を削除してデフォルト(代わりにソケットを使用)に戻す場合は、/etc/gitlab/gitlab.rbファイルから次の行を安全に削除できます:

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