O RAID 1 protege contra corrupção?

13

O Raid 1 protege contra corrupção de dados? Por exemplo, digamos que estou mantendo todos os meus arquivos importantes em um NAS que usa 2 discos em um RAID 1. Se um disco rígido tiver algum tipo de problema interno e os dados ficarem corrompidos, o RAID reconhece isso automaticamente e corrige? usando dados do outro disco bom?

Poderia saber qual é a cópia boa?

O RAID 5 protege contra a corrupção?

Eu sei que o RAID não é uma solução de backup. Eu estou tentando descobrir como ter certeza de que não estou fazendo backup de dados corrompidos!

    
por Reg Edit 24.02.2010 / 03:48

4 respostas

12

O RAID-1 protege contra a falha completa de uma das duas unidades. Se a unidade não estiver marcada como falhada, seu conteúdo será considerado preciso. Mas se, por qualquer motivo, uma das duas unidades estivesse retornando dados inconsistentes, então esse erro não seria detectado pelo sistema RAID e o aplicativo receberia dados incorretos.

Muitos controladores têm um processo de verificação que é executado periodicamente, mas o objetivo disso é testar a falha do disco, não a integridade dos dados. Os discos rígidos implementam seus próprios testes de integridade de dados e somas de verificação que usam para identificar setores defeituosos, mas o algoritmo é projetado para ser rápido e compacto, não completo, para que os erros possam vazar.

Embora a corrupção de dados seja a exceção e não a regra, ela também não é inédita. Um membro da equipe do ZFS, por exemplo, relatou em uma entrevista ver os dados corrompidos sendo transmitidos a eles por seu dispositivo RAID-5 high-end, visto que o ZFS implementa checksums nesse nível de sistema de arquivos.

    
por 15.07.2011 / 03:28
5

Depende de onde vem a corrupção. Se uma unidade em um espelho RAID 1 estiver com defeito e estiver escrevendo bobagem, o espelho RAID será degradado e a unidade boa estará em uso e você terá os arquivos bons. No caso do RAID 5, isso é feito com 2 unidades de dados e uma unidade de paridade (na forma mais simples) e se uma das 3 unidades falhar ao gravar os arquivos apropriados, ela falhará e você ficará com 2 dados unidades ou 1 unidade de dados e uma unidade de paridade.

Agora vamos ver o que acontece se a corrupção for causada por um vírus ou por um bug em um programa. No RAID 1 e no RAID 5, nenhuma unidade será desativada porque as unidades estão sendo gravadas corretamente. Nada falhou. No entanto, os arquivos serão destruídos porque o vírus ou bug está gravando lixo, e ele irá gravá-lo em ambas as unidades em um espelho RAID 1 e em todos os seus discos em um sistema RAID 5.

É por isso que o RAID não é backup. Isso evita a falha mais provável, que é uma falha de disco, mas não é responsável por muitos outros cenários.

    
por 24.02.2010 / 04:04
5

Como outros já observaram, um sistema raid1 não tem como saber qual dos dois setores é ruim.

Os sistemas de raids de extremidade superior executam uma operação de limpeza em segundo plano para comparar as duas cópias e sinalizar as diferenças. Melhor ainda é um sistema que lê os dois blocos da unidade a cada vez e compara-os no tempo de leitura. Resolver essas diferenças, no entanto, é impossível para o controlador raid.

Em sistemas Unix sob mdadm, uma verificação de scrub pode ser iniciada com o "sync_action":

md arrays can be scrubbed by writing either check or repair to the file md/sync_action in the sysfs directory for the device.

Requesting a scrub will cause md to read every block on every device in the array, and check that the data is consistent. For RAID1 and RAID10, this means checking that the copies are identical. For RAID4, RAID5, RAID6 this means checking that the parity block is (or blocks are) correct.

O raid1 tem tudo a ver com a proteção contra falhas repentinas no disco. Procure outro lugar para proteção contra a corrupção. Além disso, o Raid1 não oferece "histórico", portanto não pode se recuperar de erros humanos ou de software. Olhe para sistemas de arquivos como o ZFS ou um sistema de arquivos com preservação de histórico como o Hammer para proteger contra a corrupção.

    
por 26.04.2013 / 08:13
3

Na prática, sim. A grande maioria das falhas do disco rígido ocorre tudo ou nada. Ou (a) o cabo está desconectado ou o microcontrolador do drive falhou, então o controlador RAID não obtém nenhuma resposta - falha óbvia na unidade. Ou (b) O cabo e o microcontrolador de drive são bons, mas quando ele tenta ler um setor, o microcontrolador de drive interno detecta corrupção de dados porque o checksum ECC interno falhou e tentativas repetidas de ler aquele setor (no caso de uma falha temporária de leitura) ), eventualmente, o tempo limite, para que o controlador RAID receba uma resposta "desculpa" educada - uma falha óbvia na unidade. De qualquer forma, é óbvio para o controlador RAID-1 ou RAID-5 que a unidade falhou.

Em princípio, não. Se algo deu tão errado que um disco rígido está escrevendo bobagens, e ainda assim funcionando bem o suficiente para escrever o código ECC interno correto para esse absurdo, então o RAID-1 não pode dizer qual unidade está correta. O sistema RAID-1 provavelmente sobrescreverá os dados bons com os dados corrompidos em um ressincronizador. O RAID-5 não é melhor. A falha de energia "RAID-5 write hole" durante a escrita ativa é um caso raro, mas não impossível.

Até onde sei, a única maneira de evitar esse tipo de corrupção é usar somas de verificação de ponta a ponta, além do espelhamento de arquivos, automaticamente como parte do sistema de arquivos (ZFS ou Btrfs) ou periodicamente ou manualmente (recalculando checksums rsync, verificação de arquivos simples, conjuntos de arquivos Parchive, etc.); idealmente com um hash criptográfico como o SHA-256.

    
por 04.06.2010 / 04:09