원래 이메일 스레드와 @ewwhite의 답변을 읽은 후 위의 답변은 절반에 해당하므로 업데이트 된 답변이 필요하다고 생각합니다.
예를 들어, 내 수영장에서 출력을 사용합시다. 나는 명령을 사용했다 zdb -U /data/zfs/zpool.cache -bDDD My_pool
. 내 시스템 -U
에서 풀의 ZFS 캐시 파일을 찾기 위해 추가 인수가 필요했습니다. FreeNAS는 일반과 다른 위치에 저장합니다. 그렇게해야 할 수도 있고 필요하지 않을 수도 있습니다. 일반적으로 먼저 시도 zdb
하지 말고 -U
캐시 파일 오류가 발생 find / -name "zpool.cache"
하면 필요한 파일을 찾기 위해 또는 이와 유사한 것을 사용 하십시오.
이것은 내 실제 결과물이며 아래에서 해석했습니다.
DDT-sha256-zap-duplicate: 771295 entries, size 512 on disk, 165 in core
bucket allocated referenced
______ ______________________________ ______________________________
refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
------ ------ ----- ----- ----- ------ ----- ----- -----
2 648K 75.8G 68.6G 68.8G 1.39M 165G 149G 149G
4 71.2K 8.07G 6.57G 6.62G 368K 41.7G 34.1G 34.3G
8 28.1K 3.12G 2.34G 2.36G 281K 31.0G 23.1G 23.4G
16 5.07K 424M 232M 241M 110K 9.10G 5.06G 5.24G
32 1.09K 90.6M 51.8M 53.6M 45.8K 3.81G 2.21G 2.28G
64 215 17.0M 8.51M 8.91M 17.6K 1.39G 705M 739M
128 38 2.12M 776K 872K 6.02K 337M 118M 133M
256 13 420K 21.5K 52K 4.63K 125M 7.98M 18.5M
512 3 6K 3K 12K 1.79K 3.44M 1.74M 7.16M
1K 1 128K 1K 4K 1.85K 237M 1.85M 7.42M
2K 1 512 512 4K 3.38K 1.69M 1.69M 13.5M
DDT-sha256-zap-unique: 4637966 entries, size 478 on disk, 154 in core
bucket allocated referenced
______ ______________________________ ______________________________
refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
------ ------ ----- ----- ----- ------ ----- ----- -----
1 4.42M 550G 498G 500G 4.42M 550G 498G 500G
DDT histogram (aggregated over all DDTs):
bucket allocated referenced
______ ______________________________ ______________________________
refcnt blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
------ ------ ----- ----- ----- ------ ----- ----- -----
1 4.42M 550G 498G 500G 4.42M 550G 498G 500G
2 648K 75.8G 68.6G 68.8G 1.39M 165G 149G 149G
4 71.2K 8.07G 6.57G 6.62G 368K 41.7G 34.1G 34.3G
8 28.1K 3.12G 2.34G 2.36G 281K 31.0G 23.1G 23.4G
16 5.07K 424M 232M 241M 110K 9.10G 5.06G 5.24G
32 1.09K 90.6M 51.8M 53.6M 45.8K 3.81G 2.21G 2.28G
64 215 17.0M 8.51M 8.91M 17.6K 1.39G 705M 739M
128 38 2.12M 776K 872K 6.02K 337M 118M 133M
256 13 420K 21.5K 52K 4.63K 125M 7.98M 18.5M
512 3 6K 3K 12K 1.79K 3.44M 1.74M 7.16M
1K 1 128K 1K 4K 1.85K 237M 1.85M 7.42M
2K 1 512 512 4K 3.38K 1.69M 1.69M 13.5M
Total 5.16M 638G 576G 578G 6.64M 803G 712G 715G
dedup = 1.24, compress = 1.13, copies = 1.00, dedup * compress / copies = 1.39
그것이 의미하는 바는 무엇이며 실제 중복 제거 테이블 크기를 계산하는 것입니다.
출력에는 중복이 존재하는 블록 ( DDT-sha256-zap-duplicate )과 중복이 존재하지 않는 블록 ( DDT-sha256-zap-unique ) /에 대한 두 개의 하위 테이블 이 표시 됩니다. 아래의 세 번째 표는이 두 가지에 대한 전체 합계를 제공하며 그 아래에 요약 행이 있습니다. "총계"행과 요약 만 살펴보면 다음과 같은 정보가 필요합니다.
두 번 이상 나타나는 모든 블록의 DDT 크기 ( "DDT-sha256-zap-duplicate") :
771295 entries, size 512 bytes on disk, 165 bytes in RAM ("core")
고유 한 블록의 DDT 크기 ( "DDT-sha256-zap-unique") :
4637966 entries, size 478 bytes on disk, 154 bytes in RAM ("core")
모든 DDT 항목에 대한 총 DDT 통계, 중복 + 고유 ( " 모든 DDT에 대해 집계 된 DDT 히스토그램") :
allocated referenced
(= disk space actually used) (= amount of data deduped
into that space)
______ ______________________________ ______________________________
blocks LSIZE PSIZE DSIZE blocks LSIZE PSIZE DSIZE
Total 5.16M 638G 576G 578G 6.64M 803G 712G 715G
요약 :
dedup = 1.24, compress = 1.13, copies = 1.00, dedup * compress / copies = 1.39
숫자 크 런칭을 해보자.
블록 수는 다음과 같이 작동합니다. 중복 블록 관련 항목 수 = 771295, 고유 블록 관련 항목 수 = 4637966, DDT 테이블의 총 항목 수는 771295 + 4637966 = 5409261이어야합니다. 따라서 블록 수는 수백만 (2 백만)입니다. 즉!)는 5409261 / (1024 ^ 2) = 5.158 백만입니다. 요약에서 우리는 총 5.16M 블록 이 있음을 발견했습니다 .
RAM은 다음과 같이 작동합니다. 중복 블록에 대한 771295 항목은 각각 RAM에서 165 바이트를 차지하고 고유 블록에 대한 4637966 항목은 각각 RAM에서 154 바이트를 차지하므로 현재 중복 제거 테이블에 필요한 총 RAM = 841510439 bytes = 841510439 / (1024 ^ 2) MBytes = 803MB = 0.78GB 의 RAM .
(사용 된 온 디스크 크기는 "디스크상의 크기"그림을 사용하여 동일한 방식으로 해결 될 수 있습니다. ZFS는 디스크 I / O를 효율적으로 사용하고 DDT가 차지하는 디스크 공간이 따라서 ZFS는 효율적으로 유지하기 위해 각 항목에 대해 전체 512 바이트 섹터 또는 154 또는 165 바이트 대신 해당 라인을 따라 무언가를 할당하는 것처럼 보입니다. ZFS가 일반적으로하는 디스크에 보관 된 사본)
저장된 총 데이터 양 및 데이터 중복 제거의 이점 : 총 DDT 통계에서 715GB ( "715G")의 데이터는 디스크에 할당 된 스토리지의 578GB ( "578G") 만 사용하여 저장됩니다. 따라서 우리의 중복 제거 공간 절약 비율은 (715GB의 데이터) / (데이터 중복 제거 후 사용 된 578GB의 공간) = 1.237 x입니다. 이는 요약에서 알려주는 것입니다 ( "dedup = 1.24").