我有一个副本集。
我的辅助实例上的磁盘空间不足。
磁盘上没有空间可以运行db.repairDatabase()
还有其他方法可以释放一些磁盘空间吗?
我在想:
if deleting data will allow it
这项工作吗?
更新
值得一提的是,我目前无法通过SSH连接到服务器。现在只使用mongo客户端。
答案 0 :(得分:4)
不,这不会起作用 - 必须有一个数据库来运行db.repairDatabase()。但是,同样有效的方法是将二级设备关闭,删除数据库文件,然后将其备份。这将强制与主服务器重新同步,这实际上将与db.repairDatabase()执行相同的操作,因为它将从头开始重新创建数据文件。
但是,为了删除数据文件,您需要ssh到实例。如果你不能ssh你有相当重要的问题会干扰任何恢复辅助的尝试。