0

私の会社はmongoDBをデータベースとして使用しています。
現在、ディスクの値が 70% 以上増加すると、シャードを追加するためのスクリプトを作成しています。

正常に動作しており、しきい値の 70% に達した後、シャードを 1 つ追加しています。
問題は、シャードを追加しても、古いシャードのファイル サイズが mongo ドキュメントにも記載されているように縮小されないことです。
そのため、mongos に接続して db.repairDatabase を実行すると、問題なく動作し、古いシャードのファイル サイズが縮小されます。

私たちが直面している最大の問題は、repair Database コマンドがセカンダリ シャードではなく、プライマリ シャードのストレージのみを縮小することです。

自動化のために、セカンダリ シャードも縮小する必要があります。

mongoDB セカンダリ ノードも縮小するコマンドはありますか?
再同期はしたくありません: あまりにも長く退屈な作業です...

4

1 に答える 1

1

ファイル サイズは、一度割り当てられると減少しません。シャードが拡大し続けた場合、そのスペースは Mongo によって再利用されます。したがって、本当にディスク容量を取り戻したい場合は、repairDatabase が最適です。セカンダリをレプリカ セットから取り出し、repairDatabase を実行して、レプリカ セットに戻すことができます。

于 2015-03-19T11:01:06.193 に答える