CEPH의 원시 공간 사용량 2.6T 2.5T

ceph 원시 공간 사용량을 이해할 수 없습니다.

7 서버에 14 개의 HDD (14 개의 OSD)가 있으며 각 HDD 당 3TB ~ 총 42TB의 원시 공간이 있습니다.

ceph -s
     osdmap e4055: 14 osds: 14 up, 14 in
      pgmap v8073416: 1920 pgs, 6 pools, 16777 GB data, 4196 kobjects
            33702 GB used, 5371 GB / 39074 GB avail

4 개의 블록 장치 (각각 5TB)를 만들었습니다.

df -h
 /dev/rbd1       5.0T  2.7T  2.4T  54% /mnt/part1
/dev/rbd2       5.0T  2.7T  2.4T  53% /mnt/part2
/dev/rbd3       5.0T  2.6T  2.5T  52% /mnt/part3
/dev/rbd4       5.0T  2.9T  2.2T  57% /mnt/part4

df는 총 10,9TB가 사용되고 ceph는 33702GB가 사용됨을 보여줍니다. 사본이 2 개인 경우 ~ 22TB 여야하지만 이제는 33,7TB를 사용했습니다. 11TB가 누락되었습니다.

ceph osd pool get archyvas size
size: 2


ceph df
GLOBAL:
    SIZE       AVAIL     RAW USED     %RAW USED
    39074G     5326G       33747G         86.37
POOLS:
    NAME          ID     USED      %USED     MAX AVAIL     OBJECTS
    data          0          0         0         1840G           0
    metadata      1          0         0         1840G           0
    archyvas      3      4158G     10.64         1840G     1065104
    archyvas2     4      4205G     10.76         1840G     1077119
    archyvas3     5      3931G     10.06         1840G     1006920
    archyvas4     6      4483G     11.47         1840G     1148291

장치 및 OSD FS 차단-XFS



답변

혼동의 원인 중 하나는 GB vs. GiB / TB vs. TiB (base 10 / base 2)이지만, 여기서 차이점을 모두 설명 할 수는 없습니다.

Ceph / RBD는 볼륨을위한 공간을 “지연 적으로”할당하려고합니다. 이것이 4 개의 5TB 볼륨을 생성했지만 20TB가 아니라 16TB가 사용되었다고보고하는 이유입니다. 그러나 16TB는 RBD 지원 파일 시스템의 “활성”내용의 합보다 많으며 이는 11TB에 불과합니다. 몇 가지 참고할 사항 :

RBD 지원 파일 시스템에서 파일을 삭제하면 파일 시스템은 내부적으로 블록을 사용 가능한 것으로 표시하지만 일반적으로 기본 블록 장치 (RBD)로 “복귀”하려고하지는 않습니다. 커널 RBD 버전이 최신 버전 (3.18 이상)이면 fstrim해제 된 블록을 RBD에 반환하는 데 사용할 수 있어야합니다 . 이 파일 시스템에서 다른 파일을 작성하고 삭제 한 것 같습니다.

로 표시된 순 데이터 사용량을 넘어서는 파일 시스템 오버 헤드도 있습니다 df. “슈퍼 블록”및 기타 파일 시스템 내부 데이터 구조 외에도 RBD가 데이터를 할당하는 세분성으로 인해 약간의 오버 헤드가 예상됩니다. RBD는 그 중 일부만 사용하더라도 항상 4MB 청크를 할당한다고 생각합니다.


답변

나는 ceph 전문가는 아니지만 조금 추측 해 보도록하겠습니다.

블록 장치는 discard옵션 없이 장착되지 않습니다 . 따라서 작성 및 삭제 한 데이터는 파일 시스템 ( /mnt/part1) 에 표시되지 않지만 한 번 작성되고 트리밍되지 않은 경우 기본 파일 시스템에 유지됩니다.

USED풀 을 살펴보고 풀을 추가하면 16777GB가 ceph -s표시됩니다. 그리고 2 배 (2 부)를 곱하면 33554GB가 사용됩니다. 이는 거의 사용 된 공간입니다.


답변