ZFS 중복 제거가 작동하지 않음

ZFS 중복 제거가 작동하지 않음

저는 Tank1 풀과 fs Tank/home을 만들었습니다.

[root@zfs]# zfs list
NAME         USED  AVAIL  REFER  MOUNTPOINT
tank1       3.22G   381G  32.0K  /tank1
tank1/home  3.22G  16.8G  1.95G  /tank1/home

나는 Tank1/home 에 두 개의 1G 파일을 만들었습니다 /dev/zero. 중복 제거가 켜져 있고 압축이 꺼져 있습니다.

# zfs get all | egrep 'dedup|compression'
tank1             compression           off                    default
tank1             dedup                 on                     local
tank1/home        compression           off                    default
tank1/home        dedup                 on                     inherited from tank1

# zpool list
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
tank1   596G  4.84G   591G         -     0%     0%  1.00x  ONLINE  -

# zdb -D tank1
All DDTs are empty
# zdb -S tank1
Simulated DDT histogram:

bucket              allocated                       referenced          
______   ______________________________   ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
   16K        1    128K    128K    128K    25.8K   3.22G   3.22G   3.22G
 Total        1    128K    128K    128K    25.8K   3.22G   3.22G   3.22G

dedup = 26400.00, compress = 1.00, copies = 1.00, dedup * compress / copies = 26425.81

시뮬레이션에서는 26400이 표시되는데 zdb출력에는 중복 제거가 표시되지 않는 이유는 무엇 입니까 ? 데이터 중복 제거를 활성화하는 방법은 무엇입니까? 저도 시도해 보았지만 문제는 남아있습니다. menas의 결과는 무엇입니까 ?zpool listzdb -S tank1zfs set dedup=verify tank1zdb -DD tank1/home

# zdb -DD tank1/home
Dataset tank1/home [ZPL], ID 165, cr_txg 963, 1.95G, 8 objects

답변1

ZFS 중복 제거는 배포된 파일에서만 작동합니다.뒤쪽에중복 제거를 활성화합니다.

오래된 파일에는 영향을 미치지 않습니다앞으로중복 제거가 활성화되었습니다.

중복 제거 로 얼마나 절약되는지 zpool status -D poolname확인 하려면 이 명령을 사용하고 .Total allocated blocksTotal referenced blocks

관련 정보