Geoの無効化
- プラン: Premium、Ultimate
- 提供形態: GitLab Self-Managed
テスト後に通常のLinuxパッケージインストール設定に戻す場合、またはディザスターリカバリーが発生し、Geoを一時的に無効にする場合は、これらの手順に従ってGeo設定を無効にできます。
正しく削除した場合、Geoを無効にすることと、セカンダリGeoサイトがないアクティブなGeo設定を持つこととの間に機能的な違いはないはずです。
Geoを無効にするには、次の手順に従います:
- すべてのセカンダリGeoサイトを削除。
- UIからプライマリサイトを削除。
- セカンダリレプリケーションスロットを削除。
- Geo関連の設定を削除。
- オプション。PostgreSQLの設定を元に戻して、パスワードを使用しIPでリッスンするようにする。
すべてのセカンダリGeoサイトを削除
Geoを無効にするには、まずすべてのセカンダリGeoサイトを削除する必要があります。つまり、これらのサイトではレプリケーションはもう行われません。ドキュメントに従って、すべてのセカンダリGeoサイトを削除できます。
現在使用しているサイトがセカンダリサイトである場合は、最初にプライマリにプロモートする必要があります。セカンダリサイトをプロモートする方法の手順を使用できます。
UIからプライマリサイトを削除
プライマリサイトを削除するには、次の手順を実行します:
- すべてのセカンダリGeoサイトを削除
- 左側のサイドバーの下部で、管理者を選択します。
- 左側のサイドバーの下部にあるGeo > ノードを選択します。
- 削除を選択してプライマリノードを選択します。
- 削除を選択して、プロンプトが表示されたら確定します。
セカンダリレプリケーションスロットを削除
セカンダリレプリケーションスロットを削除するには、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;
Geo関連の設定を削除
プライマリGeoサイトの各ノードで、SSHを使用してノードに接続し、rootとしてサインインします:
sudo -i/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']これらの変更を加えた後、変更を有効にするには、GitLabを再構成。
(オプション)パスワードを使用し、IPでリッスンするようにPostgreSQL設定を元に戻します
PostgreSQL固有の設定を削除してデフォルト(代わりにソケットを使用)に戻す場合は、/etc/gitlab/gitlab.rbファイルから次の行を安全に削除できます:
postgresql['sql_user_password'] = '...'
gitlab_rails['db_password'] = '...'
postgresql['listen_address'] = '...'
postgresql['md5_auth_cidr_addresses'] = ['...', '...']