ceph 사용중 mon 서버의 문제로 인해 대체할 경우와 혹은 추가할 경우가 있다.
추가와 대체를 함께 나열
최초 ceph node 설치시 monmap을 만들었을 것이다. 혹 없더라도 상관 없다. 만들면 된다.
monmap은 전체 노드에 영향이 아닌 mon의 정보만을 가지고 있으니 반복실행해도 상관 없으니 없으면 만들어주어라.
방법은 다음과 같다.
기존에 사용되던 모니터는 다음으로 정의
mon.0
mon.1
[관리서버에서]
기존 mon에 대한 monmap이 없다면 다음과 같이 만들어 주어라.
#monmaptool –create –add mon.0 111.111.111.111:6789 –add mon.1 111.111.111.222:6789 –clobber monmap
새로만들거나 기존에 만들어진 monmap이 있다면 다음으로 확인.
#monmaptool –print monmap (만들어진 monmap을 출력하여 보여줌)
추가시
# monmaptool –add mon.2 111.111.111.333:6789 –clobber monmap
모니터 교체시
monmaptool –rm mon.1 –add mon.3 192.168.0.9:6789 –clobber monmap
해당 디랙토리네 monmap이 생성됨을 확인할 수 있다.
——————————————————————
위와 같이 작업이 진행되었다면 이제 실제 ceph노드에서 mon 을 추가 해보도록 하자.
신규노드에서 시행.
root@mon-1:/var/lib/ceph/mon/ceph-mon-1#
헤당 노드에 임시 디랙토리 tmp를 만들고 그안에 monmap 을 카피 후 아래 시행.
map 만든 후 추가 하기
#ceph auth get mon. -o {tmp}/{key-filename}
exported keyring for mon
#ceph mon getmap -o {tmp}/{map-filename}
ceph-mon: set fsid to 4b85cc5f-258d-4d44-9c61-858702a14c39
ceph-mon: created monfs at /var/lib/ceph/mon/ceph-1 for mon.1
#sudo ceph-mon -i 1 –mkfs –monmap tmp/monmap –keyring tmp/keyring
ceph-mon: set fsid to 4b85cc5f-258d-4d44-9c61-858702a14c39
ceph-mon: created monfs at /var/lib/ceph/mon/ceph-1 for mon.1
# ceph mon add 1 111.111.111.333:6789
adding mon.1 at 111.111.111.333:6789/0
# sudo service ceph-mon@mon-1 start
#ceph -s
cluster 4b85cc5f-258d-4d44-9c61-858702a14c39
health HEALTH_OK
monmap e3: 3 mons at {1=111.111.111.333:6789/0,mon-0=111.111.111.111:6789/0,mon-2=111.111.111.222:6789/0}