Project

General

Profile

Documentation #12620

Updated by Kefu Chai over 8 years ago

in a single-monitor cluster, if user tries to add another monitor using (take the vstart cluster as an example) 
 <pre> 
 $ CEPH_NUM_MDS=0 CEPH_NUM_OSD=0 CEPH_NUM_MON=1 ./vstart.sh -n -l -x 
 $ ./ceph auth get mon. -o /tmp/keyring 
 $ ./ceph mon getmap -o /tmp/monmap 
 $ ./ceph-mon -i b --mkfs --monmap /tmp/monmap --keyring /tmp/keyring 
 $ ./ceph mon add b 127.0.0.1:6790 
 </pre> 

 the last command does not return at all. because after receiving the command, the existing monitor tries to form a quorum, but keeps sending probe messages to other monitors in vain. only after over n/2 peers replies it, it will be good. but it never gets the reply from the new monitor which is not yet started. so it is trapped in a dead loop until the new joiner is up and running, and is found by the existing monitor. and they finish the election and accept the proposal. 


 probably we can live with this, but instead, add a note to the document that the "ceph mon add" command will not return until the monitors form a quorum. 

 should also update document to change the order of  

 <pre> 
  ceph mon add <mon-id> <ip>[:<port>] 
 </pre> 
 and 
 <pre> 
  ceph-mon -i {mon-id} --public-addr {ip:port} 
 </pre> 

 see http://docs.ceph.com/docs/master/rados/operations/add-or-rm-mons/#adding-monitors 
  
 

Back