ceph에서 파일을 삭제해도 디스크 공간이 확보되지 않습니다.

ceph에서 파일을 삭제해도 디스크 공간이 확보되지 않습니다.

Ceph 버전: 16.2.13(pacific)(pacific은 더 이상 사용되지 않지만 전체 환경은 레거시(centos 7.3과 같은)라는 것을 알고 있습니다. 업그레이드할 권한도 없습니다.) 클러스터에는 6개의 서버(22 osds, 97 pgs)가 있습니다. . NFS를 통해 내보내지는 CephFS가 있습니다. 클라이언트는 NFSv4.1(NFS-Ganesha)을 통해 클러스터에 액세스하고 있습니다. 다음 명령은 클라이언트에서 마운트하는 데 사용됩니다.

# mount -t nfs -o nfsvers=4.1,noauto,soft,sync,proto=tcp 172.20.0.31:/exports /cephmnt

폴더(약 5.2GB)를 /cephmnt에 복사했습니다.

# cp sysdir /cephmnt

그래서 예상대로 공간이 확장되었습니다( df -Th및 의 출력을 확인한 후 ceph df detail).

# df -Th | grep -i ceph
172.20.0.31:/exports    nfs4    26T    5.2G    26T    1%    /cephmnt

# ceph df | grep -i cephfs
cephfs.new_storage.meta    8    32    26 MiB    28      79 MiB    0      25 TiB
cephfs.new_storage.data    9    32    5.2 GiB   1.42k   15 GiB    0.02   25 TiB

그러나 폴더를 삭제해도 공간이 줄어들지 않았습니다.

# rm -rf sysdir

# df -Th | grep -i ceph
172.20.0.31:/exports    nfs4    26T    5.2G    26T    1%    /cephmnt

# ceph df | grep -i cephfs
cephfs.new_storage.meta    8    32    26 MiB     28       79 MiB    0       25 TiB
cephfs.new_storage.data    9    32    5.2 GiB    1.42k    15 GiB    0.02    25 TiB

다음을 사용하여 데이터 풀의 개체 목록을 볼 수 있습니다.

# rados -p cephfs.new_storage.data ls

나는 ceph를 처음 접했기 때문에 이것이 ceph의 정상적인 동작인지 아닌지는 알 수 없지만 후자가 의심되어 약간의 파기를 시도했습니다.

스냅샷이 비활성화되었으며 두 풀 모두에 대한 기존 스냅샷이 없습니다.

# ceph fs set new_storage allow_new_snaps false
# rados -p cephfs.new_storage.meta lssnap
0 snaps
# rados -p cephfs.new_storage.data lssnap
0 snaps

bdev_async_discardOSD의 bluestore가 true로 설정된 경우 사용할 수 없는 데이터를 자동으로 제거한다는 내용을 읽었으므로 bdev_enable_discard이를 설정했습니다.

# ceph config get osd bdev_async_discard
true
# ceph config get osd bdev_enable_discard
true

그러나 이것은 효과가 없습니다. nfs 공유를 여러 번 마운트 해제하고 마운트했지만(한 번은 밤새 마운트 해제한 상태로 두었음) 다시 마운트 df -Th하고 ceph df여전히 동일한 공간을 표시합니다. cd/cephmnt 디렉토리로 이동하여 동기화 명령을 내렸습니다 . 여전히 효과가 없습니다.

삭제된 파일의 공간을 어떻게 확보할 수 있나요?

나는 읽었다여기그 cephfs에는 지연 삭제가 있지만 이것이 내 경우에 일어나는 일인지 아니면 다른 문제가 있는지는 알 수 없습니다. 게으른 삭제인 경우 이를 어떻게 확인하고 실제 삭제를 트리거할 수 있나요? 게으른 삭제가 아니라면 실제 문제는 무엇입니까?

문제 해결을 위해 다른 데이터가 필요한지 문의하세요. 나는 지금 거의 3일 동안 이 작업을 하고 있는데 아이디어가 전혀 없어서 어떤 도움이라도 진심으로 감사드립니다.

편집 1: 자세한 내용을 추가했습니다.

[root@cephserver1 ~]# ceph osd df
ID  CLASS  WEIGHT   REWEIGHT  SIZE     RAW USE   DATA      OMAP     META     AVAIL    %USE  VAR   PGS  STATUS
 0    hdd  3.63869   1.00000  3.6 TiB   1.6 GiB   593 MiB    2 KiB  1.0 GiB  3.6 TiB  0.04  1.07   10      up
 1    hdd  3.63869   1.00000  3.6 TiB   1.1 GiB   544 MiB   19 KiB  559 MiB  3.6 TiB  0.03  0.71    9      up
 2    hdd  3.63869   1.00000  3.6 TiB   1.7 GiB   669 MiB    6 KiB  1.0 GiB  3.6 TiB  0.05  1.12   13      up
 4    hdd  3.63869   1.00000  3.6 TiB   1.6 GiB   742 MiB   26 KiB  918 MiB  3.6 TiB  0.04  1.07   13      up
13    hdd  3.63869   1.00000  3.6 TiB   1.7 GiB   596 MiB    4 KiB  1.2 GiB  3.6 TiB  0.05  1.15    8      up
 5    hdd  3.63869   1.00000  3.6 TiB   1.9 GiB   1.2 GiB   56 MiB  713 MiB  3.6 TiB  0.05  1.26   16      up
 6    hdd  3.63869   1.00000  3.6 TiB   1.6 GiB   407 MiB  124 MiB  1.1 GiB  3.6 TiB  0.04  1.04    9      up
 7    hdd  3.63869   1.00000  3.6 TiB   1.3 GiB   418 MiB   67 MiB  887 MiB  3.6 TiB  0.04  0.89   12      up
 8    hdd  3.63869   1.00000  3.6 TiB   1.1 GiB   667 MiB   73 MiB  372 MiB  3.6 TiB  0.03  0.72   15      up
 9    hdd  3.63869   1.00000  3.6 TiB   1.7 GiB   1.2 GiB    7 KiB  526 MiB  3.6 TiB  0.05  1.13   18      up
10    hdd  3.63869   1.00000  3.6 TiB   1.5 GiB   906 MiB    8 KiB  579 MiB  3.6 TiB  0.04  0.96   11      up
11    hdd  3.63869   1.00000  3.6 TiB   1.7 GiB   1.1 GiB    6 KiB  628 MiB  3.6 TiB  0.05  1.15   11      up
12    hdd  3.63869   1.00000  3.6 TiB   1.8 GiB   600 MiB   16 MiB  1.2 GiB  3.6 TiB  0.05  1.17   15      up
 3    hdd  3.63869   1.00000  3.6 TiB   2.8 GiB   1.6 GiB   37 MiB  1.2 GiB  3.6 TiB  0.08  1.86   17      up
14    hdd  3.63869   1.00000  3.6 TiB   1.6 GiB   857 MiB   37 KiB  781 MiB  3.6 TiB  0.04  1.06   12      up
15    hdd  3.63869   1.00000  3.6 TiB   1.9 GiB   1.4 GiB    2 KiB  499 MiB  3.6 TiB  0.05  1.26   12      up
16    hdd  3.63869   1.00000  3.6 TiB   2.2 GiB   972 MiB    1 KiB  1.2 GiB  3.6 TiB  0.06  1.44   15      up
17    hdd  3.63869   1.00000  3.6 TiB  1002 MiB   981 MiB    8 KiB   20 MiB  3.6 TiB  0.03  0.65   17      up
18    hdd  3.63869   1.00000  3.6 TiB   935 MiB   915 MiB    3 KiB   20 MiB  3.6 TiB  0.02  0.60   17      up
19    hdd  3.63869   1.00000  3.6 TiB   1.0 GiB  1006 MiB      0 B   28 MiB  3.6 TiB  0.03  0.67   10      up
20    hdd  3.63869   1.00000  3.6 TiB   866 MiB   835 MiB      0 B   31 MiB  3.6 TiB  0.02  0.56   20      up
21    hdd  3.63869   1.00000  3.6 TiB   731 MiB   709 MiB      0 B   22 MiB  3.6 TiB  0.02  0.47   11      up
                       TOTAL   80 TiB    33 GiB    19 GiB  374 MiB   14 GiB   80 TiB  0.04
MIN/MAX VAR: 0.47/1.86  STDDEV: 0.01
[root@cephserver1 ~]# ceph fs status
new_storage - 4 clients
======================
RANK  STATE                      MDS                        ACTIVITY     DNS    INOS   DIRS   CAPS
 0    active  new_storage.cephserver2.gvflgv  Reqs:    0 /s   161    163     52    154
               POOL                   TYPE     USED  AVAIL
cephfs.new_storage.meta  metadata  79.4M  25.3T
cephfs.new_storage.data    data    18.2G  25.3T
               STANDBY MDS
new_storage.cephserver3.wxrhxm
new_storage.cephserver4.xwpidi
new_storage.cephserver1.fwjpoi
MDS version: ceph version 16.2.13 (5378749ba6be3a0868b51803968ee9cde4833a3e) pacific (stable)
[root@cephserver1 ~]# ceph -s
  cluster:
    id:     dcad37bc-1185-11ee-88c0-7cc2556f5050
    health: HEALTH_WARN
            1 failed cephadm daemon(s)

  services:
    mon: 5 daemons, quorum cephserver1,cephserver2,cephserver3,cephserver4,cephserver5 (age 8d)
    mgr: cephserver2.sztiyq(active, since 2w), standbys: cephserver1.emjcaa
    mds: 1/1 daemons up, 3 standby
    osd: 22 osds: 22 up (since 3h), 22 in (since 8d)

  data:
    volumes: 1/1 healthy
    pools:   4 pools, 97 pgs
    objects: 1.81k objects, 6.2 GiB
    usage:   33 GiB used, 80 TiB / 80 TiB avail
    pgs:     97 active+clean

  io:
    client:   462 B/s rd, 0 op/s rd, 0 op/s wr
[root@cephserver1 ~]# ceph health detail
HEALTH_WARN 1 failed cephadm daemon(s)
[WRN] CEPHADM_FAILED_DAEMON: 1 failed cephadm daemon(s)
    daemon grafana.cephserver1 on cephserver1 is in error state

편집 2:중요한 점을 언급하는 것을 잊었습니다. 전체 스토리지 클러스터는 에어 갭 환경에 있습니다.

편집 3:eblock의 의견에 따라 온라인으로 OSD를 압축하려고 시도했지만 부분적으로 작동했습니다. ceph df압축하기 전에 표시된 내용은 다음과 같습니다 .

[root@cephserver1 ~]# ceph df
--- RAW STORAGE ---
CLASS    SIZE   AVAIL    USED  RAW USED  %RAW USED
hdd    80 TiB  80 TiB  **33 GiB**    **33 GiB**       0.04
TOTAL  80 TiB  80 TiB  **33 GiB**    **33 GiB**       0.04

--- POOLS ---
POOL                                ID  PGS   STORED  OBJECTS    USED  %USED  MAX AVAIL
device_health_metrics                1    1   17 MiB       29   50 MiB      0     25 TiB
cephfs.new_storage.meta   8   32   26 MiB       28   79 MiB      0     25 TiB
cephfs.new_storage.data   9   32   5.2GiB     1.42k  15 GiB   0.02     25 TiB
.nfs                                10   32  1.7 KiB        7   40 KiB      0     25 TiB

압축 후 아래와 같이 33GiB가 23GiB로 축소되었습니다.

[root@cephserver1 ~]# ceph df
--- RAW STORAGE ---
CLASS    SIZE   AVAIL    USED  RAW USED  %RAW USED
hdd    80 TiB  80 TiB  **23 GiB**    **23 GiB**       0.03
TOTAL  80 TiB  80 TiB  **23 GiB**    **23 GiB**       0.03

--- POOLS ---
POOL                                ID  PGS   STORED  OBJECTS     USED  %USED  MAX AVAIL
device_health_metrics                1    1   18 MiB       29   54 MiB      0     25 TiB
cephfs.new_storage.meta   8   32   26 MiB       28   79 MiB      0     25 TiB
cephfs.new_storage.data   9   32   5.2GiB     1.42k  15 GiB   0.02     25 TiB
.nfs                                10   32   32 KiB        7  131 KiB      0     25 TiB

그러나 풀의 데이터는 다운되지 않았습니다. 더 이상 제안을 진심으로 감사드립니다.

편집 4:다음 명령을 사용하여 CephFS를 기본적으로(즉, 커널 명령 사이에 NFS 없이) 마운트했습니다.

# mount -t ceph 172.30.0.31:6789,172.30.0.32:6789,172.30.0.33:6789:/ /cephmnt -o name=user1

마운트한 후에 ls -a /cephmnt는 이전 데이터가 표시되지 않습니다. 그러나 df -ThCephFS가 마운트된 클라이언트에서 작업을 수행하면 이전 데이터(5.2GB)가 차지하는 공간이 계속 표시됩니다. 그래서 내 의심은 문제가 NFS에 있지 않다는 것입니다.

관련 정보