태그 보관물: ceph-deploy

ceph-deploy로 예전 버전 설치하기.

이전에 포스팅했던 ceph-deploy로 ceph 설치하기의 후속편(?)이랄까….

암튼 최신버전인 firefly말고 dumpling을 설치할 건수가 생겼는데, ceph-deploy의 –release dumpling 기능을 이용할고 되어 있는데,

위 옵션을 이용 하더라도 -_- firefly가 설치되는 현상을 목격했다. 그래서 ceph-deploy를 이용하지만 패키지는 dumpling으로 설치하는 방법을 공유한다.

1. ceph.repo추가 – firefly를 dumpling으로만 교체하면 된다

2. 마스터 노드에서 “yum install ceph-deploy”를 이용해 ceph-deploy를 설치한다.

관련해서 의존성 문제가 발생하면 관련된 패키지를 다 설치해줘야 한다. 참고로 epel은 기본으로 깔려 있어야 함
epel-release-6-8.noarch.rpm

3. 뭐 일단 ceph-deploy가 설치됬으면 기존과 동일할게 ssh key복사, cluster디렉토리 생성 ceph-deploy new실행 등등의 작업을 진행한다

4. ceph-deploy install로 설치하게 되면 firefly가 설치되는 대참사(?)가 발생하므로, install 명령어는 쓰지 않도록 한다..
설치에 필요한 패키지는 “http://ceph.com/rpm-dumpling/el6/x86_64/” 여기에 있는데
이중에 아랫놈들을 다운로드 받았다.

이 놈들을 설치하다보면 의존성 대참사가 발생하는데 yum으로 의존성 걸리는 애들 설치해봤자 의미가 없다.

왜냐면 yum에 있는 녀석들은 i686버전인데 ceph에서 필요로 하는건 x86_64이다.. 이런 늬믜…

암턴 구글신님께 rpm을 내놓으라고 하면 나오는데, 나는 아래와 같이 다운로드 받아서 설치 했다.
아래 패키지들의 설치가 다 끝나면 위에 의존성 문제로 설치되지 않던 패키지들도 설치가 완료된다.

암튼 제일 중요한 것은 ceph-deploy를 이용할 수는 있지만, 패키지 설치는 제대로 안되니깐, 수동으로 설치해야 된다는 것이다. 이것만 명심하면, 설치에 큰 어려움은 없다.

5. 설치가 완료되면 disk zap, osd create 작업들을 순차적으로 진행하면 된다.

6. 끝~~~~~~~~~

 

ceph-deploy로 ceph 설치하기

구성

mon node : (ceph-test1)

+ OSD 4(ceph-test1,2,3,4)

 

참고글

http://ceph.com/docs/master/start/quick-start-preflight/

http://ceph.com/docs/master/start/quick-ceph-deploy/

 

1. ceph repository 추가

* /etc/yum.repos.d/ceph.repo 내용에 아래와 같이 추가한다.

위에서 {ceph-release}는 ceph의 코드명을 적는다. 예를 들어 firefly

{distro}는 centos6일 경우 el6을 적는다
ex: baseurl=http://ceph.com/rpm-firefly/el6/noarch

 

2. 마스터 노드에 ceph-deploy 설치

매뉴얼에는 update를 하라고 하는데 굳이 yum update를 할 필요는 없어 보인다.

yum install ceph-deploy 이렇게만 해도 된다.

 

3. 마스터 노드를 포함한 모든 노드에서는 ceph 계정을 생성한다.

 

4. ceph가 root권한을 사용할 수 있도록 설정한다.

* /etc/sudoer에서 requiretty 주석처리

 

5. 마스터노드(어드민)에서 패스워드 없이 다른 노드로 접속할 수 있도록 key를 만든다.

* 단, root계정으로 만들면 안되고 ceph계정으로 만들어야 한다.또한 패스워드는 공란으로 비운다.

 

6. 각각의 노드들에 ssh key를 복사한다. 복사하려면 /etc/hosts파일을 사전에 수정해놓는것이 좋다.

 

7. 마스터 노드에서 ~/.ssh/config 를 수정한다.

 

8. ceph계정으로 마스터노드에서 ceph 클러스터 디렉토리를 생성한다.

 

9. 마스터노드에서 deploy를 생성한다.

** ceph-deploy 명령어는 ceph계정으로 실행한다. 또한 my-cluster위치에서 수행해야한다.

 

10. ceph.conf를 수정한다.

 * auth부분을 none으로 변경한다.

 

11. 각 노드에 ceph를 설치한다. (ceph와 관련된 패키지들이 각 노드들에 설치가 된다.)

 

12. ceph mon 설정

* 최근 버전의 ceph-deploy 에서는 위의 내용을 추가해야 한다.

 

13. disk zap을 수행한다.

ceph-deploy disk zap {node_name}:{osd_disk}

이렇게 할 경우 각 노드들의 /dev/vdb디스크가 xfs로 포맷된다.

위와 같은 방법으로 모든 노드의 디스크들을 포맷해준다.

 

14. osd를 추가해준다.

ceph-deploy osd create {node_name}:{osd_disk}:{journal_path}

위와 같이 실행할 경우 각 노드의 vdb가 순서대로 osd로 추가되며, 저널디스크는 /dev/vdc로 적용된다.

 

15. 마스터 노드의 설정파일을 각노드에 배포한다.

ceph-deploy admin {node} {node}….. {admin node}

 

16. keyring 파일 퍼미션 추가

 

17. ceph 상태 확인 (여러번 삽질을 해서 워닝이 많이 떠있다. 별 이상 없이 따라왔다면 HEALTH_OK가 나온다)