我已经配置了mongodb副本集(我有3个db实例-Redhat),我希望每天使用rsync备份db文件( dbPath: /var/lib/mongo) 10次或12次。
mongod之前停止rsync进程?rsync进程的情况下启动mongod (dbPath: /var/lib/mongo)。mongodump之外,推荐的备份方法是什么?发布于 2017-06-12 14:07:28
那么,我是否需要在启动
mongod之前停止rsync进程?
要使用rsync或cp进行文件复制备份,您需要停止mongod服务或在mongo shell中或通过驱动程序发出db.fsyncLock()命令来停止写入。由于您要备份的辅助程序将间歇性地使用此方法,因此最好使其成为隐藏,以避免驱动程序在关闭或fsyncLock‘s时试图从该成员读取。
我会确保您测试几个完整的备份和恢复周期。尤其要注意可能使备份无效的rsync选项(例如:--ignore-existing、--size-only、--partial)。
注意:如果使用fsyncLock()方法,则在备份完成后有一个db.fsyncUnLock()命令来恢复正常操作。另一个警告: WiredTiger存储引擎只支持MongoDB 3.2或更高版本中的fsyncLock。
我可以在不停止
rsync进程的情况下启动mongod(dbPath: /var/lib/mongo)。
不是的。这将导致不一致的备份。
除了LVM备份和
mongodump之外,推荐的备份方法是什么?
文档:MongoDB备份方法中描述了支持的备份方法。
有较少的破坏性(和更连续的)备份方法,例如使用基于代理的备份服务(例如,MongoDB云管理器)。
如果您想通过复制底层数据文件进行备份,那么文件系统快照(LVM/EBS/.)与暂停对mongod的所有写操作相比,一般情况下破坏性更小,也更值得推荐。如果要捕获一致的备份,针对正在运行的mongod的文件系统快照确实有一些要求:所有数据必须位于同一个卷上,必须启用日志记录,并且文件系统必须支持实时快照。有关详细信息,请参阅正式文档和备份教程。
https://serverfault.com/questions/854919
复制相似问题