1

レプリカセットを持っています。

また、セカンダリ インスタンスのディスク容量が不足しています。

実行するディスクに空き容量がありませんdb.repairDatabase()

ディスク領域を解放する他の方法はありますか?

私が考えていた:

  1. セカンダリをダウンさせる
  2. すべてのデータを削除する
  3. db.repairDatabase() を実行しますif deleting data will allow it
  4. それを元に戻します。

これは機能しますか?

アップデート

現在、サーバーに SSH 接続できないことに注意してください。現在mongoクライアントのみを使用しています。

4

1 に答える 1

4

いいえ、機能しません - db.repairDatabase() を実行するデータベースが必要です。ただし、同様に機能するのは、セカンダリを停止し、データベース ファイルを削除してから再起動することです。これにより、プライマリとの再同期が強制されます。これは、データ ファイルを最初から再作成するため、実際には db.repairDatabase() と同じことを行います。

ただし、データファイルを削除するには、インスタンスに ssh 接続する必要があります。ssh できない場合は、セカンダリの回復を妨げるかなり重大な問題が発生しています。

于 2014-05-15T14:42:59.500 に答える