stuart3501 发表于 2013-11-06 16:42

资料同步时发生的灾难

各位前辈好
小弟目前是个小DBA
负责替团队管MongoDB
昨晚出了一场大灾难
我主管要求我像往常一样把DB从A server同步到B server
我的指令是
A server
mongodump -h 127.0.0.1 -d pup -o /
tar -cpf /pup.tar /pup/
B server
scp root@hostname:/pup.tar /
cd /
tar -xf pup.tar
mongorestore -h 127.0.0.1 -d pup --directoryperdb /pup/ --drop
我怎么做两台server上的资料笔数都还是不同
我甚至试过
Mongo
use pup;
db.dropDatabase();
exit
mongorestore -h 127.0.0.1 -d pup --directoryperdb /pup/ --drop
这些依然没有用
最后小弟在火大之下,做了一件错事
我想实验看看从A server dump出来的档案,再把它restore回去是否OK
结果灾难发生了
B的mongoDB的数据居然反过来同步到A去了
我昨晚修正了一整晚才没事
但是我昨晚查了半天的指令纪录history
仍然没有发现我曾经把/pup/ scp到A的指令纪录
我现在仍然百思不得其解
现在主管直接把责任矛头指向我
刚刚的会议离我被开除,只有一步之遥
只是感到冤阿
是否哪位前辈可以指点一下,我被开除也想要知道怎么死的!

wenhq 发表于 2013-11-06 22:12

没用replica set?

stuart3501 发表于 2013-11-07 09:43

wenhq 发表于 2013-11-06 22:12 static/image/common/back.gif
没用replica set?

W兄,因为还在开发阶段
而这两台是不同目的的开发机
只是DB数据相同
但是弟想破头也想不懂
为何自己dump出来的资料
restore回去会和原本的不一样?

wenhq 发表于 2013-11-07 09:47

restore过程中有什么错误异常没?

stuart3501 发表于 2013-11-07 11:01

回复 4# wenhq


    W兄
最神奇的,最让我吓出一身冷汗的
就是在A server dump的数据
Restore回去的笔数居然是B的笔数
其他所有的错误讯息都没有!!!
除了mongoDB内建的dump工具外
是否还有其他第三方可以备份的工具?
以避免这种差点害死人的情形
谢过W兄

zhaopingzi 发表于 2013-11-07 15:39

本帖最后由 zhaopingzi 于 2013-11-07 15:39 编辑

此事必有蹊跷;有可能是没有同步完;或者有默认值
页: [1]
查看完整版本: 资料同步时发生的灾难