MongoDB数据迁移
问题&目的
- 问题:/data磁盘空间只剩4.9G;
- 目的:将MongoDB的数据库文件全部移动到/storage分区;
解决方案(草稿)
1.ssh至Primary那台机器
ssh 10.251.164.59
2.登录至mongo shell
mongo 10.251.164.59:37005/xnn_core_product_2 -u core_product -p core_product
3.切换至admin用户
use admin db.auth('admin', '1qaz2wsx')
4.配置从节点无法升级为主节点
cfg = rs.conf() cfg.members[1].priority = 0 cfg.members[2].priority = 0 rs.reconfig(cfg)
5.关闭主节点
db.shutdownServer({force: true})
*6.备份磁盘分区(那块磁盘不支持快照。。。)
使用腾讯云磁盘快照
7.迁移mongodb数据至/storage分区
cp -rf /data/cshop_mongodb /storage
8.修改脚本、mongodb配置
cd /storage/cshop_mongodb vim mongodb-main.conf vim mongodb-main.start.sh vim mongodb-main.stop.sh
9.重新启动主节点
./mongodb-main.start.sh
10.连接主节点,配置从节点可升级为主节点
cfg = rs.conf() cfg.members[1].priority = 1 cfg.members[2].priority = 1 rs.reconfig(cfg)
故障预测:
1.假如数据拷贝过去之后主节点无法启动,怎么办? 删除刚刚拷贝的,再来一次试试
2.假如主节点就是起不来了,怎么办? 把从节点设为主节点;并且在连接mongo的代码里面,使用列表的形式传递所有节点IP、端口;