O ZFS possui uma “soma de verificação geral” semelhante aos IDs de confirmação do Git?

2

O Git produz um ID de commit ao fazer hash de vários componentes de tal forma que nós essencialmente obtemos um identificador para todo o histórico do projeto.

Do meu entendimento, o ZFS hashes tudo (estrutura de dados / metadados / sistema de arquivos), que presumivelmente resulta em um único hash " de nível superior " na raiz do sistema de arquivos.

Eu queria saber se havia uma maneira de obter um hash ou identificador desse tipo a partir de um sistema de arquivos ou instantâneo do ZFS.

Isso poderia ser usado para confirmação rápida e confiável com confiança decente de que " todos os dados no dataset-x correspondem a todos os dados no dataset-y ".

Eu não tenho total compreensão dos componentes internos de zfs send e zfs recv , mas presumo que eles lidem com esses conceitos, garantindo que os sistemas de arquivos de envio e recebimento tenham um ponto de partida comum.

Editar: tenho backups off-site que são automatizados usando o syncoid ... Se eu observar o instantâneo correspondente em cada um dos sistemas de arquivos correspondentes nos n-pools, eu esperaria ver o mesmo identificador.

Também poderia ser útil ver se há alguma alteração entre instantâneos de um conjunto de dados, embora eu suspeite que os atributos de instantâneo (nome, data, etc ...) possam afetar esse identificador, por isso seria bom olhar " um nível abaixo " para este.

    
por Attie 21.01.2018 / 20:41

2 respostas

2

Pelo que entendi, todas as referências a outros blocos no ZFS contêm a soma de verificação que outro bloco deve ter, e esses blocos, por sua vez, contêm ponteiros com somas de verificação (eventualmente apontando para blocos de dados e suas somas de verificação). Na raiz de tudo isso, você tem a soma de verificação do uberblock que, então, cobre implicitamente todos os dados no conjunto.

Mas essa soma de verificação inclui os ponteiros de bloco reais e as coisas relacionadas ao layout do sistema de arquivos físico, então você não pode realmente usá-las para verificar apenas os dados - se você, por exemplo, zfs enviar / recv os sistemas de arquivos você vai acabar com uma soma de verificação completamente diferente.

    
por 22.01.2018 / 07:00
0

Você pode querer olhar para zfs diff neste caso.

Você pode elaborar o caso de uso. Serão estes sistemas de arquivos no mesmo conjunto de dados?

    
por 21.01.2018 / 20:51

Tags