Como varrer todo o array ZFS raid-z vazio para setores defeituosos (blocos)?

2

Existe um método para escanear todos os dispositivos em um array raid-z para setores defeituosos (blocos) simultaneamente ou isso deve ser executado em uma base de dispositivo por dispositivo com um aplicativo de teste de unidade separado?

Até agora, scrub parece não verificar tudo, pois não há dados.

    
por ylluminate 08.05.2017 / 04:24

1 resposta

2

O ZFS não possui métodos para varrer blocos não atribuídos, porque não serve a nenhum propósito direto:

  • Se você excluiu dados e deseja recuperá-los, pode acessar os recursos de baixo nível com zdb . Existem também alguns scripts na web que tentam obter dados utilizáveis em um pool destruído, embora a maneira mais fácil seja ter backups.
  • Se você assumir que sua unidade está com defeito (alta contagem de erros de leitura / gravação ou ruídos estranhos), você geralmente a substitui imediatamente, porque os dados são mais valiosos do que uma única unidade sobressalente. Se você realmente não tiver muito orçamento, poderá verificar / verificar o disco com ferramentas de baixo nível do fabricante da unidade para detectar setores defeituosos e marcá-los como inutilizáveis. Claro, isso pode resultar em um disco menor, que pode ser muito pequeno para o seu pool existente. Além disso, ao digitalizar sem uma substituição, seu pool pode ficar vulnerável dependendo do layout (mirror, raidz1).
  • Se você não se importa com os blocos não atribuídos, não há necessidade de examinar se eles foram alterados. Pode-se argumentar que erros ocultos podem se acumular em discos pouco usados, mas esse caso de uso não é a maioria - afinal, se você nunca preencher seus pools, você poderia ter comprado discos menores (ou mais deles).
por 08.05.2017 / 17:19