본문 바로가기
개발 및 운영/Kubernetes

rook-ceph 에서 Proxmox ceph 을 external cluster 으로 사용할 때 문제

by Joseph.Lee 2022. 8. 10.

rook-ceph 에서 proxmox 의 ceph 에 external cluster 으로써 연결 해 사용하려고 했다.

하지만 동작하지 않는다...

정확히는 Cluster 는 연결되지만 rados gateway 가 동작하지 않았다. (CephObjectStore)

아래와 같이 버전이 다르다고 하는데 사실 버전은 동일했다.

ceph-object-controller: failed to reconcile CephObjectStore "rook-ceph-external/my-store". waiting for ceph monitors upgrade to finish. current version: 16.2.9-0 pacific. expected version: 16.2.9-0 pacific. will reconcile again in 1m0s

원인은 버전은 동일하지만 CommitID 가 달라서 그랬던 것이었다.

# dpkg -l | grep -E 'ceph|rados'
iU  ceph                                 16.2.9-pve1               amd64        distributed storage and file system
ii  ceph-base                            16.2.9-pve1               amd64        common ceph daemon libraries and management tools
ii  ceph-common                          16.2.9-pve1               amd64        common utilities to mount and interact with a ceph storage cluster
ii  ceph-fuse                            16.2.9-pve1               amd64        FUSE-based client for the Ceph distributed file system
iU  ceph-mds                             16.2.9-pve1               amd64        metadata server for the ceph distributed file system
iU  ceph-mgr                             16.2.9-pve1               amd64        manager for the ceph distributed storage system
iU  ceph-mgr-dashboard                   16.2.9-pve1               all          dashboard module for ceph-mgr
ii  ceph-mgr-modules-core                16.2.9-pve1               all          ceph manager modules which are always enabled
ii  ceph-mon                             16.2.9-pve1               amd64        monitor server for the ceph storage system
iU  ceph-osd                             16.2.9-pve1               amd64        OSD server for the ceph storage system
ii  libcephfs2                           16.2.9-pve1               amd64        Ceph distributed file system client library
ii  librados2                            16.2.9-pve1               amd64        RADOS distributed object store client library
ii  librados2-perl                       1.2-1                          amd64        Perl bindings for librados
ii  libradosstriper1                     16.2.9-pve1                    amd64        RADOS striping interface
ii  python3-ceph-argparse                16.2.9-pve1                    all          Python 3 utility libraries for Ceph CLI
ii  python3-ceph-common                  16.2.9-pve1                    all          Python 3 utility libraries for Ceph
ii  python3-cephfs                       16.2.9-pve1                    amd64        Python 3 libraries for the Ceph libcephfs library
ii  python3-rados                        16.2.9-pve1                    amd64        Python 3 libraries for the Ceph librados library

위와 같이 16.2.9 가 아닌 16.2.9-pve1 으로써 다른 이름을 가지고 있다. 실제로 CommitID 도 살펴보면

  • proxmox 에서 : ceph version 16.2.9 (a569859f5e07da0c4c39da81d5fb5675cd95da49) pacific (stable)
  • quay.io/ceph/ceph:v16.2.9 에서 : ceph version 16.2.9 (4c3647a322c0ff5a1dd2344e039859dcbd28c830) pacific (stable)

으로써 CommitID 가 상이한데 문제는 rook 이 버전을 비교할 때 이것까지 비교해 버린다.

이에 대한 Issue 을 남기었다: https://github.com/rook/rook/issues/10688

일단 나는 급해서.. proxmox 에서 ceph을 지우고 cephadm 으로 다시 설치했다. 그러니 잘 된다.

이에 대한 PR (https://github.com/rook/rook/pull/10696 Close 후 새로운 PR: https://github.com/rook/rook/pull/10701) 도 남기었으니 조만간 Merge 되면 고쳐지지 않을까 싶다.

반응형

댓글