ECC em um dispositivo de bloco único

0

Eu tenho um SSD que suspeito falhar de vez em quando. Eu executei badblocks nele e está claro que não são setores defeituosos, mas podem ser alguma condição de corrida na eletrônica, nesse caso, uma nova tentativa provavelmente leria os dados corretamente.

Os discos magnéticos normais possuem algum ECC para corrigir erros, ocupando mais espaço. O Linux pode adicionar uma camada ECC na parte superior do meu dispositivo de bloco?

Estou pensando em algo semelhante ao mapeador de dispositivos, então talvez:

dmsetup create-ecc /dev/orig /dev/mapper/with_ecc

para que qualquer leitura e escrita em / dev / mapper / with_ecc seja convertida para uma leitura / escrita em / dev / orig.

Editar:

Parece que outros também procuraram por ele: link

    
por Ole Tange 20.09.2013 / 13:43

2 respostas

1

btrfs e zfs são projetados para a integridade dos dados.

Por padrão, o btrfs duplica metadados em configurações de um único dispositivo. Eu acho que você pode duplicar dados também, embora eu nunca tenha feito isso.

O zfs tem copies=n - que eu considero como RAID1 para um único disco. Considere que a quantidade de redundância escolhida terá um impacto negativo no espaço utilizável do dispositivo, bem como no desempenho do dispositivo. Felizmente, você pode especificar réplicas / cópias por partição / volume.

Confira esta postagem no blog de Richard Elling / Oracle sobre o zfs em um único dispositivo. Infelizmente nenhuma das imagens gráficas está carregando para mim.

Both real and anecdotal evidence suggests that unrecoverable errors can occur while the device is still largely operational. ZFS has the ability to survive such errors without data loss. Very cool. Murphy's Law will ultimately catch up with you, though. In the case where ZFS cannot recover the data, ZFS will tell you which file is corrupted. You can then decide whether or not you should recover it from backups or source media.

    
por 25.09.2013 / 21:47
0

Execute um autoteste SMART no SSD. Como root, execute o seguinte comando (substitua /dev/sda pelo nome do dispositivo do seu SSD):

smartctl -t long /dev/sda

Isso levará várias horas. Quando estiver concluído, você pode consultar o resultado com

smartctl -a /dev/sda | less

Role para baixo até o bloco SMART Selective self-test log . Se o resultado mais acima diz Completed without error , o seu SSD está bem. Se reportar um erro, ele será danificado e você precisará salvar seus dados o mais rápido possível.

    
por 20.09.2013 / 17:14