Geoの無効化

テスト後に通常の 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. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  3. Admin Areaを選択します。
  4. 左サイドバーでGeo > Nodes を選択します。
  5. プライマリノードの[削除] を選択します。
  6. プロンプトが表示されたら、Removeを選択して確認します。

セカンダリ・レプリケーション・スロットの削除

セカンダリレプリケーションスロットを削除するには、PostgreSQLコンソール(sudo gitlab-psql)でプライマリノード上で以下のクエリのいずれかを実行してください:

  • すでに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 above
    
  • すべてのセカンダリレプリケーションスロットを削除するには

     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を再設定してください。

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

PostgreSQL固有の設定を削除し、デフォルト(代わりにソケットを使用)に戻したい場合は、/etc/gitlab/gitlab.rb

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