메뉴 닫기

Error installing( mon create-initial ) ceph-deploy on ubuntu.

-error message

(필자의 error샘플로 같은 오류 형식이 출력되지 않을 수 있다. 각자가 만든 시스템이므로….)

[mon1][ERROR ] admin_socket: exception getting command descriptions: [Errno 2] No such file or directory

[mon1][WARNIN] monitor: mon.mon1, might not be running yet

[mon1][INFO ] Running command: sudo ceph –cluster=ceph –admin-daemon /var/run/ceph/ceph-mon.mon1-225-21.asok mon_status

[mon1][ERROR ] admin_socket: exception getting command descriptions: [Errno 2] No such file or directory

[mon1][WARNIN] monitor mon1 does not exist in monmap

[mon1][WARNIN] neither `public_addr` nor `public_network` keys are defined for monitors

[mon1][WARNIN] monitors may not be able to form quorum

[ceph_deploy.mon][INFO ] mon.mon2 monitor has reached quorum!

[ceph_deploy.mon][ERROR ] Some monitors have still not reached quorum:

[ceph_deploy.mon][ERROR ] mon1

오류메시지를 통해 확인 해보아야 할 내용.

1. ceph.conf 중 mon_intial, public_network, mon_addr 등의 잘못된 지정 혹은 부재.
2. python 버전 문제.
3. ceph-deploy 버전 버그 문제.
4. mon deamon 의 비활성화.
5. mon.sock 문제.
6. host 통신 문제.

정상적으로 설치진행 하였다면 1~6항 모두 문제시 되지는 않는다. 특히 1~5의 문제는 일어나지 않는다. 발생한다면 6번 부터 확인해보길 바란다.
1~5의 경우 모두 관리노드에서 취한 일관된 패키지 설치 이므로 서버자체가 죽지 않거나 네트워크에 문제가 없다면 일부러 오래된 버전을 사용하여
버그를 발생시키지 않을 것이기 때문이다.
그래도 확인해야 한다면 항목별 팁은 다음과 같다.

1 -> 서로 다른 특정 대역(사설) 연동시 사설 연결에 문제가 발생했을 경우 (포트 개방 포함)
2 -> python 3이후의 버전을 권장한다.
apt-get update진행 하지 않고 설치시 혹은 ceph-deploy 설치 후 apt-get update 하지 않을 시 python 은 2.7 이하 버전 ( ubuntu 16.04 기준이며 다른 버전의 os는 각자 확인 하길…)
으로 ceph-deploy 버전과 통하지 않아 버그를 발생시킬 수 있다.
3 -> 우분투에서 apt-get을 통해 패키지 설치시 최신 버전이 설치(필자의 경우 1.5.35)되나 기타의 이유로 1.3.x 버전 설치시 버그로 인해 문제 발생될 수 있음.
4.5 -> mon deamon 활성화 확인. mon port 개방 확인. network connection 확인.
6 -> /etc/hosts 확인. hostname 확인. ( 직접 관리자가 입력하는 부분으로 의외의 실수가 많은 항목이다. 필자도 이로 인해 30여분 멍~ 한 경험이 있음)

P.S

필자의 이전 글인 ssh 다중 port 관리( http://idchowto.com/wp-admin/post.php?post=31496&action=edit )와 연결한 심화 내용.

[문제]

ceph 관리서버에서 각각의 노드에 연결하여 설치하거나 하는 액션등은 ssh 과 그 키값에 의해
통신되어 이루어 진다.
ceph 설치시 ceph-deploy 설치로 이루어 지는데 여기서 각서버의 지 칭은 hostname을 기준으로
지정된다.또한 ceph의 각 node의 연결도 hostname으로 이루어진다.

설치예) ceph-deploy install Ahost Bhost

이 명령어에는 포트를 지정하지 않는다. 만약 한다면 옵션값을 확인하라는 에러 메시지를 출력할 것이다.

[ceph port 변경]

ceph 관리중 각각의 node에 대한 ssh port 변경 사용 예제.

둘중 하나를 선택해 사용해도 된다.

[선택1]기존 ssh key값을 삭제해서 새로 생성한다.

[선택2] 기존 ssh key값에 덮어 씌운다.

ceph를 이용중 포트를 변경하고 하는 기타의 이유(보통은 보안을 목적)로 default port 인 22에서 다른 포트를 적용하여 사용하고자 할 경우가 있다. 이 경우 다음을 따른다.

ceph node를 설치할때 ssh-keygen을 사용한바 있다.

*ssh-keygen 예시.

1) key 생성.

[관리노드에서]

#ssh-keygen
[중간 출력물 생략]

2) 관리되는 각노드에 키값 복사

기본 포트를 사용한 키값 복사시.

#ssh-copy-id username@hostname

특정 포트를 사용한 키값 복사시.

#ssh-copy-id username@hostname -p [port num]

* 이것을 행하기 이전 /etc/hosts 내부는 모두 설정이 완료 되어 있어야 한다.

[형식]

ip hostname

[예시]

111.111.111.111 Ahost

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x