Explica a saída do sistema ZFS

4

Eu tenho a saída do comando zdb -DDD geek1 :

[root@zfs-test centos]# zdb -DDD geek1
DDT-sha256-zap-duplicate: 8193 entries, size 290 on disk, 141 in core

bucket              allocated                     referenced
______   ______________________________ ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE DSIZE
------   ------   -----   -----   -----   ------   -----   ----- -----
     2       8K      1G      1G   1023M      24K      3G      3G 3.00G
   16K        1    128K    128K    128K      16K      2G      2G 2.00G


DDT histogram (aggregated over all DDTs):

bucket              allocated                     referenced
______   ______________________________ ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE DSIZE
------   ------   -----   -----   -----   ------   -----   ----- -----
     2       8K      1G      1G   1023M      24K      3G      3G 3.00G
   16K        1    128K    128K    128K      16K      2G      2G 2.00G
 Total    8.00K   1.00G   1.00G   1023M      40K      5G      5G 5.00G

dedup = 5.00, compress = 1.00, copies = 1.00, dedup * compress / copies 
= 5.00 

Eu li sobre o ZFS na Internet e também aqui . Eu criei 2 arquivos. Primeiro é o arquivo aleatório de / dev / urandom e o segundo de / dev / zero. Cada arquivo tem 1GB. Copiei 3x arquivo urandom e 2x zero para o meu servidor ZFS. O tamanho mínimo de bloco do ZFS é de 128k.

Eu tenho as seguintes perguntas:

  1. O que significa refcnt ?
  2. O que significa DSIZE na coluna alocada e como posso contá-la?
  3. Havia 8193 entradas (blocos únicos). O que os números 290 e 141 significam? De acordo com o este artigo, eu deveria poder para contar quanto tabela de dados leva na minha RAM (8193x141B = 1,1MB). Se estiver ok, o que significa 8193x290B = 2,26MB? Essa tabela também é salva no disco?
  4. Que compres e copies na última linha significa?

Por favor, inclua algum exemplo, se for possível.

    
por dorinand 18.11.2017 / 20:59

1 resposta

4

1: refcnt significa contagem de referência, ou seja, o número de vezes que blocos são referenciados por objetos (é uma potência de duas progressões, portanto 1 é 1 , mas 2 significa 2 ou 3 1 ; 4 significa 4 , 5 , 6 ou 7 e assim por diante)

2: DSIZE = No tamanho do disco, LSIZE = lógico (na memória), PSIZE = físico. No disco e os tamanhos físicos são iguais ou muito próximos, a menos que você defina zfs para ter mais de uma cópia de blocos de dados, caso em que o tamanho do disco será maior.

3: 290 bytes é o tamanho que uma entrada da tabela de deduplicação usa no disco e 141 bytes é a quantidade de RAM que uma entrada usa. O DDT é armazenado e sincronizado no disco e atualmente usa 2.26MB no seu caso.

4: Compress significa a taxa de compactação de zpool (não está relacionada à deduplicação). Como a compactação provavelmente não está ativada, a proporção é 1., ou seja, nenhuma compactação. Cópias significa a proporção de blocos idem (tipo o oposto da deduplicação) armazenados. Não existem blocos idem, portanto, a proporção também é 1.

Exemplo de saída com blocos de compactação e ditto ativados:

bucket              allocated                       referenced
______   ______________________________   ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
     2        2    256K     49K     98K        6    768K    147K    294K
 Total        2    256K     49K     98K        6    768K    147K    294K

dedup = 3.00, compress = 5.22, copies = 2.00, dedup * compress / copies = 7.84

1 No seu caso, a contagem é claramente igual a 3 (3 GB referenciados armazenados em 1 GB de disco).

    
por 20.11.2017 / 04:31

Tags