物理备份的方式,简单粗暴,说白了,就是通过直接拷贝,启动mongodb,来实现数据库的快速迁移,适合于数据量很大的场景(mongodump/mongorestore相对比较耗时)。使用物理备份的方法,不需要再建索引。
迁移之前,如果可以关闭mongodb,那么先下线,然后再做迁移。否则执行命令db.fsyncLock()以确保所有的写操作都flush到磁盘并禁止新的写入,注意此时数据库被加上了全局锁,处于不可访问的状态;迁移完后,执行db.fsyncUnLock()重新允许新的写入。
1.打开全局锁
mongo 192.168.100.102:27017 --eval "db.fsyncLock()"
2.备份mongo数据目录
cp -r /var/lib/mongo /var/lib/mongo_backup/
3.关闭全局锁
mongo 192.168.100.102:27017 --eval "db.fsyncUnlock()"