Geoとオブジェクトストレージ

Geo は、オブジェクトストレージ(AWS S3、またはその他の互換性のあるオブジェクトストレージ)と組み合わせて使用できます。

現在、セカンダリノードはどちらかを使用することができます:

  • プライマリノードと同じストレージバケット。
  • 複製されたストレージバケット。

持つこと:

GitLabでのオブジェクトストレージの使用についてはこちらをご覧ください。

GitLab マネージドオブジェクトストレージのレプリケーションの有効化

GitLab 12.4で導入されました

注意:これはベータ機能であり、どのような規模であれ、本番環境での使用にはまだ準備ができていません。

セカンダリノードはプライマリノードに保存されたファイルを、ローカルファイルシステムまたはオブジェクトストレージのどちらに保存されているかに関係なく複製できます。

GitLabのレプリケーションを有効にするには:

  1. admin} 管理エリア > Geoに移動します。
  2. セカンダリ・ノードの Editを押します。
  3. Allow this secondary node to replicate content on ObjectStorage]チェックボックスをオンにします。

LFSの場合は、ドキュメントに従ってLFSオブジェクト・ストレージをセットアップしてください。

CIジョブのアーティファクトについては、ジョブのアーティファクトオブジェクトストレージを設定するための同様のドキュメントがあります。

ユーザーのアップロードについては、アップロードオブジェクトストレージを設定するための同様の文書があります。

プライマリ・ノードのファイルをオブジェクト・ストレージに移行する場合、セカンダリをいくつかの方法で設定できます:

  • まったく同じオブジェクトストレージを使用します。
  • 別のオブジェクト・ストアを使用しますが、オブジェクト・ストレージ・ソリューションのビルトイン・レプリケーションを活用します。
  • 別のオブジェクト・ストアを使用し、[このセカンダリ・ノードがオブジェクト・ストレージ上でコンテンツをレプリケートできるようにする]設定を有効にします。

GitLabは現在、両方のケースをサポートしていません:

  • プライマリ・ノードはローカル・ストレージを使用します。
  • セカンダリー・ノードはオブジェクト・ストレージを使用します。

サードパーティレプリケーションサービス

Amazon S3を使用する場合、CRRを使用してプライマリノードが使用するバケットとセカンダリノードが使用するバケット間で自動レプリケーションを行うことができます。

Google Cloud Storageを使用している場合は、Multi-Regional Storageの使用を検討してください。 または、Storage Transfer Serviceを使用することもできますが、これは毎日の同期にしか対応していません。

手動同期、またはcronによるスケジュールについては、こちらをご覧ください: