mongodb 副本集去salve节点维护
使用的是mongodb 3.2,需要对其中的一个slave节点扩充目录,正确的做法如下
1、primary 节点上 去slave节点负载
# mongo
MongoDB shell version: 3.2.6
connecting to: test
monset:PRIMARY> use admin
switched to db admin
monset:PRIMARY> db.auth('root','123456');
1
monset:PRIMARY> rs.remove("192.168.56.100:27017")
2、slave 节点上观察mongdb日志
# tail -f /var/log/mongodb/mongod.log
这时看以看到,该slave节点的连接降到0
3、slave节点停止mongodb服务
# service mongod stop
4、slave节点 使用 linux 的lvs 扩充 mongodb 的数据文件
略
5、slave节点启动mongdb
# service mongod start
6、primary 节点重新添加slave节点
如果slave节点停机比较短、或者oplog比较大,在可同步的时间范围内,直接加节点
# mongo
MongoDB shell version: 3.2.6
connecting to: test
monset:PRIMARY> use admin
switched to db admin
monset:PRIMARY> db.auth('root','123456');
1
monset:PRIMARY> rs.add("192.168.56.100:27017")
monset:PRIMARY> rs.staus()
monset:PRIMARY> rs.conf()
7、slave 节点上观察mongdb日志
# tail -f /var/log/mongodb/mongod.log
可以看到已经有连接了
8、primary 节点上调整各slave节点的一些属性
monset:PRIMARY> conf=rs.conf();
monset:PRIMARY> conf.members[5].priority=2;
monset:PRIMARY> conf.members[5].hidden=false;
monset:PRIMARY> rs.reconfig(conf);
priority 属性代表该节点的被选举为primay的优先级别,数字越大,优先级越高
hidden 属性代表该节点是否被隐藏,如果设置为 true,应该首先将 priority 置为0