,
在生产环境中,当辅助副本成员的读压力很大时,可通过添加新的辅助副本成员来缓解压力。
为了能实现主副本成员不停机,并减轻主副本成员的压力,可在辅助副本成员上mongodump备份数据;
为了实现新的辅助副本成员的快速恢复,可直接通过以NFS方式挂载辅助副本成员到做备份操作的辅助副本成员上;
为了保证数据的一致性,在mongodump数据的时候使用-oplog参数,mongorestore时使用-oplogReplay参数;
为了满足后期空间的扩容,通过-directoryperdb参数将数据库分目录存储。
,
,
,
参见:Linux CentOS上配置NFS网络文件系统以及客户端使用
,
,
当地数据库不会被备份,包括管理在内的其他库会被备份。
mongodump ——主机=192.168.11.1:27017 ——oplog -o /mnt/mongo/mongodata -u xucy , -p Passw0rd ——authenticationDatabase admin 祝辞,mongodump.log 2祝辞,1,,
,
可通过实时查看日志数据,观察备份进度。
,
tail -f mongodump.log
,
,
mongorestore要在mongod未启动的情况下运行,它直接写入文件。
mongorestore ——主机=192.168.11.2:27017 ——oplogReplay ——dbpath /数据/var/lib/mongodb ——directoryperdb /nfspool/mongodata 祝辞,mongorestore.log 2祝辞,1,,
,
可通过实时查看日志数据,观察恢复进度。
,
tail -f mongorestore.log
,
,
1。查看主副本的维护窗口和oplog大小:
rs_main: PRIMARY>db.printReplicationInfo (),,
配置oplog大小:,,23862.404296875 mb,,
日志开始到结束的长度:39405秒(10.95小时),,时间:
oplog第一个事件,太阳2015年2月08年10:34:07 gmt - 0600 (CST),最后,
oplog事件时间:,,太阳2015年2月08年21:30:52 gmt - 0600 (CST),现在,
:,,,,,,,,,,,,,,,,,,,,太阳2015年2月08年21:30:53 gmt - 0600 (CST)
,
2。在新机器上重建oplog:
,
以独立的方式启动,执行如下删除和创建脚本:
祝辞,use local ,,, 祝辞,db.oplog.rs.drop (),,,, 祝辞,db.createCollection (“oplog.rs”,,{“封顶”,:,真的,,“大小”,:,23日,*,1024,*,1024,*,1024}),,,, 或,,,, 祝辞,db.runCommand(,{,创建:“oplog.rs”,限制,,真的,,尺寸:,(23,*,1024,*,1024,*,1024),},)
,
此oplog是mongodump时导出的oplog。bson .
mongorestore -d local -c oplog.rs /nfspool/mongodata/oplog.bson
,
,
新实例配置和源副本集添加相同的——replSet和密钥文件参数,以副本集启动
,
,
祝辞rs.add (“192.168.11.2:27017”) {" ok ": 1}