次のシナリオで使用できる分散ファイルシステムソリューション/ネットワークファイルシステムを探しています。
- 私は多数のホストを持つ Docker Swarm を持っていますが、各ホストは本質的に自己完結型で、他のホストと見た目は変わりません。スケーリングのためだけに使用しています。つまり、各ホストはシステムを動作させるために必要なすべてのワーカーを実行し、理想的には、システムに入る 1 つのタスクは、最初にそれを開始したホストで完全に実行されます。
- タスクの処理にはいくつかのステップがあります。各ステップでは、1~10 GB の範囲の大きなファイルが生成されます。基本的に、各ホストのワーカーは、すでにローカルに保存されているファイルのみを処理します。
- ただし、場合によっては、ホストに過負荷がかかり、別のホストのワーカーに残りの処理手順を引き継がせたい場合があります。これを実現するには、他のホストのワーカーが透過的に別のホストに保存されているファイルにアクセスできる共有ボリュームにファイルを保存する必要があります。
言い換えると、各ホストには同じ「ネットワーク ボリューム」がどこかにマウントされ、その中には現在のホストに実際に保存されているファイル (主に関連のあるファイル) と、別のホストに保存されているファイルが含まれます。ただし、ワーカーはほとんどの場合 (90 ~ 95%)、ホストのローカル ファイルにアクセスします。
複製は必要ありません(ファイルは30~60分しか関係なく、その後はもう必要ありません)。しない中央ストレージが必要です。
システム内のスループットは、1 秒あたりのタスク数ではなく、1 タスクあたりの分数で測定されます。小さなファイルは多数あるのではなく、大きなファイルは少数です。また、ファイルは 1 回書き込まれ、1 回または 2 回しか読み取られません。
GlusterFS
これに対する良い解決策はあるでしょうか? 、、、EdgeFS
その他いくつか見てみましたInterPlanetary File System
がCeph
、どれも適切な選択とは思えませんでした。
答え1
Docker Engine プラグインを使用してこれを実行できます。これらは、docker-engine がサポートするボリューム プラグインです。
- Azure ファイル ストレージ プラグイン
- BeeGFS ボリュームプラグイン
- Blockbridgeプラグイン
- Contiv ボリューム プラグイン
- Convoyプラグイン
- DigitalOcean ブロックストレージプラグイン
- DRBDプラグイン
- Flockerプラグイン
- Fuxiボリュームプラグイン
- gce-docker プラグイン
- GlusterFS プラグイン
- Horcrux ボリューム プラグイン
- HPE 3Par ボリューム プラグイン
- 無限ボリュームプラグイン
- IPFS ボリューム プラグイン
- Keywhizプラグイン
- ローカル永続プラグイン
- NetApp プラグイン (nDVP)
- Netshareプラグイン
- Nimble Storage ボリューム プラグイン
- OpenStorageプラグイン
- Portwx ボリュームプラグイン
- Quobyte ボリューム プラグイン
- REX-Rayプラグイン
- Virtuozzo ストレージと Ploop プラグイン
- VMware vSphere ストレージ プラグイン
詳細については以下を参照してくださいリンク