removeShard 명령어로 shard를 제거할 수 있는데, (참조: MongoDB shard 제거)

하다가 중단하고 싶을 때 따로 중단하는 명령어가 없음.

 

그냥 수동으로 직접 config 에서 처리해줘야 함.

 

mongos> use config
switched to db config
 
// shard 리스트. shard_002 가 removeShard 명령어가 실행된 다음 draining이 진행중임을 확인
mongos> db.shards.find()
{ "_id" : "shard_001", "host" : "shard_001/shard_001_pri,shard_001_sec"}
{ "_id" : "shard_002", "host" : "shard_002/shard_002_pri,shard_002_sec", "draining" : true}
 
// draining 키를 없애버림으로써 balancer가 removeShard를 중단하도록 처리
mongos> db.shards.update({_id: 'shard_001'}, {$unset: {draining: true}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
 
// 한번 더 shard 리스트 출력. draining이 없어졌으므로 removeShard는 중단됨
mongos> db.shards.find()
{ "_id" : "shard_001", "host" : "shard_001/shard_001_pri,shard_001_sec"}
{ "_id" : "shard_002", "host" : "shard_002/shard_002_pri,shard_002_sec"}

 

 

 

 

Posted by bloodguy
,