태그 보관물: ceph

ceph 관련 정보 모음

매번 검색하기 귀찮아서…링크를 모아놨음

full_ratio 조정 – 기본적으로 ceph는 OSD가 85퍼센트가 되면 리밸런싱을 하지 않는데, 이것에 대한 수정 방법)
http://lists.ceph.com/pipermail/ceph-users-ceph.com/2015-January/045834.html

아래와 같은 예제로 진행하면 된다

ex) 모든 mon노드에 mon_osd_full_ratio를 95퍼센트로 조정하려 할 경우

 

OSD에 pg가 몇개 있는지 확인
http://cephnotes.ksperis.com/blog/2015/02/23/get-the-number-of-placement-groups-per-osd

최근 python을 공부하면서 이거를 파이썬으로 구현해볼려고 했는데 돌대가리라서 진행 못하고 있음..
PG상태에 대한 설명
http://docs.ceph.com/docs/master/rados/operations/pg-states/

엇그제 ceph 상태가 엿될뻔 하면서 알아본 내용.(다행히 복구는 잘되었음 엉엉)

rbd 실제 용량 확인하기

현재 cinder에서 backend storage로 ceph를 사용중인데…..

우리의 문제점은 inktank에서도 사용하지 말라고 했던 “thin provisioning”을 사용하고 있는 것이다..

inktank 엔지니어 왈 : 기능이 있는 것은 사실이나, 사용하는 것을 권고하지 않는다!

암튼 이 thin provisioning 덕택에 실제 용량보다 많은 용량을 사용자에게 할당할 수 있었다만…

문제는 사용자가 갑자기 볼륨을 마구 사용할 경우 대처할 시간도 없이 X되는 상황이 발생할 수 있다.

우리의 경우  최근 들어 갑작스럽게 볼륨 사용량이 증가 추세라…. 지금 X될 가능성이 아주 높다.

암튼 cinder에서 500G를 할 당하였으나, 실제 사용량은 500G가 아닐 수 있고, 그 리얼 사이즈를 확인하는 명령어를 알아보았다..

참고했던 글은 http://www.sebastien-han.fr/blog/2013/12/19/real-size-of-a-ceph-rbd-image/ 이 글이며,

이글을 토대로 실제 용량이 어떻게 늘어나는지 테스트 해봤다. 테스트 툴은 DD를 사용했다.

 

1.  mkfs.ext4로 파티션 포맷 및 /data/디렉토리에 마운트 이후의 용량

 

2. VM에 5G짜리 파일 생성

그 이후 rbd 사이즈 확인 (당연하게도 5G정도 늘었다.)

 

3. 해당 파일 삭제후 용량 확인 (반납되지 않는것을 확인할 수 있다.)

 

4. 5G 새로운 파일 생성

그 후 용량(기존에 할당된 5G 안에서 작업이 일어날 것으로 예상했으나, 새로 5G를 할당했다…)

 

5. 거의 full(90% / 45G) 정도 할당했을 경우

그 후 rbd 용량 확인

 

6. 45G파일 삭제 후 다시 생성하고, 그 이후의 용량 (할당된 500G를 다 채웠다. 이제서야 할당된 공간을 재사용하는 것으로 보인다….)

 

이 테스트로 유추해 보건데,

실제 할당된 용량을 전부 채우기 전까지는… 계속 새로운 공간에다 저장을 하는 것으로 보이고… 이미 할당된 공간을 재활용하지 않는 것으로 보인다..

그렇다면, 사용자가 자주 파일을 추가,삭제를 할경우 생각보다 용량이 빨리 차오를 수 있다.

한층 더 위험해졌다…(이미 할당된 공간을 재사용할 꺼라고 생각하고 있었는데 말이지…)

또한 당연하겠지만…. 할당된 용량을 초과하는 경우는 없다…

 

 

암튼 오늘의 뻘짓 끝!

 

 

ceph mon노드 sst파일 삭제하는 방법

mon 노드에 특이사항이 발생했다.
mon 노드에서 /파티션의 사용가능한 디스크 용량이 30%미만이 되면 warning상태로 떨어지는 듯하다.

 

용량을 확인해보았다.

 

확인 결과 mon/ceph-c 디렉토리 밑의 용량이 엄청나게 늘어있었다.

 

/var/lib/ceph/mon/ceph-c/store.db 경로에 SST파일이 엄청나게 생겨있었다.

 

검색해보니 다음과 같은 내용이 나왔다.

http://www.sebastien-han.fr/blog/2014/10/27/ceph-mon-store-taking-up-a-lot-of-space/

https://www.mail-archive.com/ceph-users@lists.ceph.com/msg13072.html

http://lists.ceph.com/pipermail/ceph-users-ceph.com/2013-July/032265.html

위의 내용을 참고로 아래와 같이 실행해 본다.

 

해당 내용을 실행하는 동안 ceph health를 확인해보면 mon.c가 down된 것으로 나타난다.(아마 부하때문인 것으로 추정됨)

 

완료가 되면 아래처럼 소요된 시간이 나온다.

 

이후 용량을 확인하면 아래처럼 줄어들어 있다.

 

혹시나 서비스에 이상이 있을까 엄청 고민 했는데 특이사항은 없는 것 같다.

ceph.conf에 아래와 같은 내용을 추가하면 mon이 시작될 때 자동으로 ceph tell mon.{a,b,c} compact를 실행해 주는 듯하다.. (추정)

슬픈 소식은 저 명령어를 사용하더라도, 아예 로그가 안쌓이게 할수는 없는 것 같다..

그건 다시 알아보던가 해야겠다 ㅠㅠ

계속 읽기