我有两个 mongo 数据库集群,每个集群有三台机器。说 Cluster1 和 Cluster2。为了降低成本,我必须终止 Cluster2。所以我从 Cluster2 的主机上获取了一个数据库的 mongodump,它是 8.5 GB。我将该转储文件夹复制到 Cluster1 的主机并在那里运行 mongorestore 命令,但是当我show dbs
在 Cluster1 上运行命令时,它显示大小为 4.7GB。所以我的问题是,我是否犯了任何错误或 mongorestore 没有恢复索引或任何其他原因?
您的存储大小(这
show dbs
表明)可能会在还原时发生变化,特别是如果原始部署有大量空间可供重用(例如,由于文档删除)。Amongodump
备份数据和索引定义,该mongorestore
过程将为恢复的集合重建数据文件和索引。为了更好地比较原始部署和恢复的部署,您应该查看
db.stats()
输出。假设备份和恢复过程没有任何问题,两个部署应该有相似数量的数据库、集合、索引和对象。如果您的原始部署在执行时(或之后)被主动写入
mongodump
,结果可能会略有不同。例如,通过
mongo
shell 输出所有数据库的统计信息: