MongoDB远程环境下的主从部署由于网络条件限制,在进行大量数据的全量同步时其自身的同步机制往往很难满足需求,并经常会导致主从关系的破裂。基于以上原因,下面推荐两种全量数据同步及故障恢复策略:
单个数据库的全量同步(无需重启服务)
进入MongoDB主服务安装目录下的bin目录
二、执行mongodump命令备份数据库
./mongodump -d db_name -o export_path
其中-d参数指定需要备份的数据库,-o参数指定输出目录
上图是将epg库备份到/data/temp/下以数据库名命名的目录下
三、将该目录打包拷贝到从服务上
四、在从服务的MongoDB bin目录下使用mongorestore命令进行数据恢复
cd %MONGO_HOME%/bin/
./mongorestore –d db_name --drop restore_file_path
其中-d参数指定需要恢复的数据库,--drop参数指定在恢复前删除旧数据,restore_file_path为恢复文件位置
全部数据库的故障恢复(需要重启从服务)
停止从服务
删除从服务dbpath下local.*
三、进入MongoDB主服务的dbpath,将其中local.*文件拷贝到从服务的dbpath下
四、在从库启动参数中增加--fastsync参数并启动从服务