O RAID 1 é o nível em que a recuperação devia ser simples. Não há paridade para reconstruir, nem ordem de faixas para descobrir, e cada disco guarda uma cópia completa de tudo. Na prática é também o nível em que as pessoas destroem os próprios dados com mais leviandade, porque o array continua a parecer vivo e a solução parece óbvia.
Raramente é a falha que faz perder os dados. É o comando seguinte.
O que o espelhamento te dá, e a única coisa que nunca fez
O RAID 1 mantém dois ou mais discos idênticos. Cada escrita vai para cada membro, por isso qualquer membro por si só é uma cópia integral do conjunto. É todo o mecanismo, e é por isso que as hipóteses de recuperação são boas.
É também a razão pela qual a proteção é mais estreita do que se supõe. Uma eliminação é uma escrita. Uma cifragem por ransomware também, tal como um ficheiro sobrescrito ou uma gravação corrompida. O espelhamento propaga todos eles aos dois discos à velocidade da máquina, fielmente, porque é precisamente essa a sua função.
O RAID 1 protege da morte de um disco. Nunca protegeu de nada que chegue aos dados através do sistema de ficheiros. Se os teus ficheiros desapareceram e as unidades estão saudáveis, o array fez exatamente aquilo para que foi construído, e nenhum conhecimento de RAID os traz de volta. Isso é um problema de recuperação de ficheiros sobre um espelho, não um problema de RAID.
A regra que decide como isto acaba
Antes de qualquer diagnóstico, o Linux RAID wiki dá uma única instrução, e o parêntesis é a parte importante:
não executes nenhum comando que escreva nos discos (como
mdadm -C,fsckou atémount, etc.).
A maioria lê essa lista e para nos dois primeiros. O mount está lá. Um sistema de ficheiros com journal reproduz o seu journal ao ser montado, o que é uma escrita, executada antes de teres decidido o que quer que seja. Num array degradado com um membro que ainda não identificaste como bom, essa escrita pode cair no pior sítio possível.
A mesma página exclui a abordagem que quase toda a gente adota sob pressão:
Não tentes resolver as coisas por tentativa e erro, pede a alguém que reveja as medidas que estás prestes a tomar para recuperar os teus dados antes de as pores em prática.
A tentativa e erro funciona quando as tentativas são gratuitas. Aqui cada tentativa pode ser aquela que elimina a cópia de que precisavas.
Três situações, e só uma é difícil
Um membro falhou e o array ainda funciona. Este é o caso bom e não merece drama nenhum. Tens uma cópia completa. Copia os teus dados para fora agora, para outro sítio, antes de fazeres seja o que for ao disco avariado. Substituí-lo primeiro e reconstruir sujeita a tua única cópia sobrevivente a uma leitura do disco inteiro exatamente no momento em que não podes dar-te ao luxo de uma segunda falha.
A controladora ou a máquina morreram e os discos estão bem. Não se perdeu nada. Os dados estão intactos em cada membro, e a única questão é como lá chegar, ao que a versão dos metadados responde mais abaixo.
Os membros divergem e não sabes qual está atualizado. Este é o único caso genuinamente difícil, e é um problema de diagnóstico, não de reparação. Tudo o que destrói dados vive aqui.

Dois objetivos de aspeto idêntico, e só um está a pôr alguma coisa na película. Saber qual é qual é todo o trabalho.
Porque é que o teu disco isolado parece não formatado
O conselho que encontras em todo o lado é que podes tirar um disco de um espelho e lê-lo como uma unidade normal. Era verdade, e a predefinição mudou.
O manual do mdadm é preciso:
As várias subversões guardam o superbloco em localizações diferentes do dispositivo, no fim (para a 1.0), no início (para a 1.1) ou a 4K do início (para a 1.2).
Lê o que isso implica. Com a 1.0, o superbloco fica no fim, o sistema de ficheiros começa no offset zero, e um membro isolado comporta-se mesmo como um disco vulgar. Com a 1.1 e a 1.2, os metadados ocupam o início, por isso o sistema de ficheiros começa mais adiante. Uma ferramenta que olha para o offset zero encontra metadados onde esperava uma tabela de partições, e reporta o disco como não formatado ou em bruto.
A 1.2 é a predefinição moderna. Por isso o desfecho mais comum, na configuração mais comum, é um disco que parece vazio e está completamente intacto. Quem aceita uma proposta de formatação nesse momento perde tudo, e o disco nunca esteve danificado. Estava deslocado.
O comando que devora arrays
Quando a montagem do array falha, a internet vai sugerir recriá-lo com os mesmos parâmetros. O wiki aborda isto diretamente:
A recriação deve ser considerada um último recurso, a usar apenas quando tudo o resto falha. As pessoas que erram nisto são uma das principais razões pelas quais se perdem dados.
E explica a armadilha que a torna tão implacável:
Usar um mdadm com predefinições diferentes daquele que foi originalmente usado para criar o array vai deixar o array completamente inacessível.
Os parâmetros que importam não são apenas os que escreves. Incluem as predefinições da versão do mdadm que construiu o array há anos, numa distribuição que talvez já nem uses. Recriar com as predefinições de hoje escreve a disposição de metadados de hoje por cima da de ontem, e esse desencontro não se resolve tentando outra vez.
O --assemble reutiliza o que já está nos discos. O manual descreve-o como reunir os componentes de um array criado anteriormente num array ativo. É o sentido seguro: lê a descrição existente em vez de a substituir. E quando montares o array, o --readonly existe exatamente para este momento. O manual indica que inicia o array só de leitura em vez de leitura-escrita como é habitual, sem permitir escritas no array, e sem iniciar qualquer ressincronização, recuperação ou reshape. Uma reconstrução que arranca sozinha, antes de teres identificado o membro atualizado, é precisamente o modo de falha contra o qual te estás a proteger.
Reler os ficheiros a partir da imagem de um espelho
Aplica-se a uma imagem de disco que já tenhas feito, ou a um membro que consigas ler. Não identifica qual o espelho atualizado, e não te ajuda antes de teres parado de escrever no array.
A ordem que te mantém as opções abertas
Desliga em vez de experimentar. Um array degradado deixado a funcionar é uma reconstrução à espera de arrancar.
Faz imagem dos dois membros antes de mais nada. Do bom não, dos dois. Clonar um disco é uma leitura, por isso não te custa nada, e todos os erros seguintes passam a ser reversíveis. É este único passo que separa uma tarde má de uma perda definitiva.
Trabalha sobre as cópias. Monta o array só de leitura, monta o sistema de ficheiros só de leitura, recupera a partir das imagens.
Identifica o membro atualizado antes de reconstruir, não depois. Se ambos os discos estiveram online até há pouco, compara o que os metadados dizem sobre cada um. Se não conseguires decidir, isso é uma razão para parar, não uma razão para escolher um.
Reconstrói por último. Assim que os teus dados estiverem noutro sítio por completo, um palpite errado não custa nada.
A versão curta
O RAID 1 é o nível mais recuperável que existe, porque cada disco é uma cópia completa e não há nada para reconstruir. O que estraga tudo é escrever antes de diagnosticar, e o Linux RAID wiki põe o mount na lista das coisas que escrevem.
Se o teu disco parece não formatado depois de o teres tirado do array, verifica a versão dos metadados antes de acreditares nisso. Com a 1.1 e a 1.2, as predefinições modernas, o sistema de ficheiros não começa no offset zero e o disco está intacto. E trata a recriação do array como a última coisa que alguma vez tentas, porque as predefinições que o construíram importam tanto como os parâmetros de que te lembras.
Faz imagem dos dois discos, monta o array só de leitura, e reconstrói apenas quando os dados estiverem seguros em algum lado que não seja o array.
A instrução para não executar comandos que escrevam nos discos, incluindo o mount, o aviso contra a reparação por tentativa e erro, a descrição da recriação como último recurso e a nota sobre predefinições divergentes do mdadm são retirados do Linux RAID wiki. As localizações do superbloco de metadados para as versões 1.0, 1.1 e 1.2, a descrição do --assemble e o comportamento do --readonly são retirados da página de manual do mdadm. Ambos foram verificados no momento em que isto foi escrito; confirma-o com a versão do mdadm que estás a usar. As ligações comerciais têm o atributo rel="sponsored nofollow"; pode aplicar-se uma comissão de afiliado sem custo adicional para ti.
Guias relacionados
- Recuperação de dados RAID: o método completo para RAID 0, 1, 5, 6 e 10 - o quadro geral, incluindo os níveis com paridade onde a lógica do espelho já não se aplica.
- Software de recuperação RAID comparado - o que as ferramentas conseguem e não conseguem reconstruir depois de teres os clones.
Recupera os teus ficheiros apagados → EaseUS
Análise gratuita · ficheiros apagados, formatados, perdidos · Windows & Mac



