Geoとオブジェクトストレージ
Geo は、オブジェクトストレージ(AWS S3、またはその他の互換性のあるオブジェクトストレージ)と組み合わせて使用できます。
現在、セカンダリノードはどちらかを使用することができます:
- プライマリノードと同じストレージバケット。
- 複製されたストレージバケット。
持つこと:
GitLabでのオブジェクトストレージの使用についてはこちらをご覧ください。
GitLab マネージドオブジェクトストレージのレプリケーションの有効化
GitLab 12.4で導入されました。
セカンダリノードは、プライマリノードに保存されたファイルを、ローカルファイルシステムまたはオブジェクトストレージのどちらに保存されているかに関係なく複製できます。
GitLabのレプリケーションを有効にするには:
- admin} 管理エリア > Geoに移動します。
- セカンダリ・ノードの Editを押します。
- 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
によるスケジュールについては、こちらをご覧ください: