— 이강우 2016/11/30 11:04
Ceph 를 사용할때 Pool의 pg_num을 늘릴수는 있어도 줄일수는 없게 되어있다.
가끔 초기 pg_num을 잘못 설정하여 줄이고 싶은데 이미 데이터가 많이 들어가있어서 삭제 / 재생성하기 어려운경우에는 아래 방법으로 재구성 하면 된다.
[user@host]# ceph osd pool set <poolname> pg_num <numpgs> --allow-experimental-feature
예제
[user@host]# ceph osd pool set monpool pg_num 512 --allow-experimental-feature set pool 512 pg_num to 512
일단 이미 생성된 기존 Pool을 이용하여 새로운 Pool을 생성한다.
새로운 Pool 생성시 초기 pg_num값을 지정하여 주도록 한다.
[user@host]# ceph osd pool create <my-new-pool> <pg_num> # 새로운 Pool을 생성하면서 pg_num을 지정 [user@host]# rados cppool <my-old-pool> <my-new-pool> # 기존의 Pool 데이터를 cppool로 복제 [user@host]# ceph osd pool delete <my-old-pool> # 기존의 Pool 제거 [user@host]# ceph osd pool rename <my-new-pool> <my-old-pool> # 새로운 Pool이름을 기존 Pool 이름으로 변경