Como recuperar dados de um Synology NAS após uma falha durante a migração de RAID 1 para RAID 5?

Imagine que você adiciona uma unidade a um Synology NAS e inicia a migração de RAID 1 para RAID 5 para aumentar a capacidade de armazenamento. Mas, durante a reconstrução, a energia é subitamente interrompida e o NAS desliga. Após a restauração da energia, verifica-se que uma das unidades originais já não é detetada e não há acesso aos ficheiros. O que deve fazer se não existir uma cópia de segurança atual dos dados necessários? Os ficheiros podem ser recuperados das duas unidades remanescentes quando a migração para o novo nível de RAID nunca foi concluída?

Como recuperar dados de um Synology NAS após uma falha durante a migração de RAID 1 para RAID 5?

A migração de uma matriz num Synology NAS de RAID 1 para RAID 5 normalmente é concluída sem perda de dados. No entanto, uma falha de energia, erros de disco ou a interrupção do processo podem resultar em degradação do armazenamento ou em inacessibilidade total. Nessa situação, o principal é evitar ações precipitadas que possam dificultar a recuperação. Neste artigo, vamos analisar como avaliar corretamente o estado de uma matriz RAID Synology após uma migração de emergência e quais métodos podem ajudar a restaurar o acesso aos dados.

Vá para ver
Synology NAS Data Recovery After a Failed RAID 1 to RAID 5 Migration

Synology NAS Data Recovery After a Failed RAID 1 to RAID 5 Migration

STEP 1. Ambiente de teste

Para o teste, utilizámos um dispositivo de armazenamento em rede Synology DS409 com DSM 4.2 e três discos rígidos, cada um com capacidade de 320 gigabytes.

Inicialmente, dois discos foram combinados em RAID 1 — uma matriz espelhada na qual os dados eram duplicados em ambos os discos. Foi criado um volume com o sistema de ficheiros Ext4 e foram gravados cerca de 110 gigabytes de dados de teste: documentos, fotografias, vídeos e arquivos. Os ficheiros foram colocados em diretórios com vários níveis de aninhamento para que pudéssemos verificar posteriormente a preservação tanto do seu conteúdo como da estrutura de pastas.

Synology DS409 executando DSM 4.2

Em seguida, o terceiro disco foi adicionado à matriz e o Storage Manager foi utilizado para iniciar a alteração do nível de RAID de RAID 1 para RAID 5.

Esta migração permite aumentar a capacidade de armazenamento disponível, mantendo a proteção contra a falha de um único disco após a operação ser concluída com êxito.

Synology DS409: a alteração do nível de RAID de RAID 1 para RAID 5 foi iniciada no Storage Manager

Quando o indicador de reconstrução mostrou 29,55 por cento, a alimentação do NAS foi desligada intencionalmente sem um encerramento adequado. Depois disso, um dos dois discos originais de RAID 1 foi removido, simulando inacessibilidade total.

Synology DS409: um dos dois discos RAID 1 foi removido, simulando a sua inacessibilidade

Como resultado, dois discos permaneceram disponíveis para recuperação: um disco do espelho original e o terceiro disco adicionado para a transição para RAID 5. A reconstrução não foi concluída, pelo que parte dos dados já tinha sido movida, enquanto o restante ainda estava armazenado segundo o esquema anterior. Estes dois discos serão utilizados nos passos seguintes.

Synology DS409: dois discos permaneceram disponíveis para recuperação

STEP 2. Ligação dos discos a um computador Windows

Passamos para um computador Windows com o Hetman RAID Recovery instalado.

Para recuperar dados de matrizes RAID com falha, dispositivos NAS e outros sistemas de armazenamento com vários discos.

Ligamos os dois discos sobreviventes através de uma estação de acoplamento USB:

  • um dos discos originais de RAID 1;
  • o disco adicionado para a transição para RAID 5.

No nosso teste, o segundo membro do espelho original não está disponível.

Iniciamos o programa. Na secção RAID Arrays, vemos a matriz detetada automaticamente DiskStation:2.

Hetman RAID Recovery: matriz DiskStation:2 detetada automaticamente

Selecionamo-la e analisamos as informações no painel Preview à direita. O programa identificou o tipo RAID 5, a ordem de blocos Left Synchronous e um tamanho de bloco de 64 kilobytes.

Hetman RAID Recovery: informações da matriz DiskStation:2 no painel Preview à direita

Em baixo, na lista RAID Disks, podemos ver dois discos ligados e uma posição Empty disk correspondente ao membro em falta. Para ambos os discos disponíveis, é especificado o mesmo deslocamento de início dos dados — voltaremos a este parâmetro durante a reconstrução manual.

A lista também contém duas pequenas matrizes RAID 1 de aproximadamente 2,37 e 2 gigabytes. Estas correspondem às áreas do sistema Synology.

Estas matrizes não devem ser confundidas com o espelho original que continha os nossos ficheiros de teste.

Hetman RAID Recovery: duas pequenas matrizes RAID 1

O RAID 1 original com os dados do utilizador já não é apresentado separadamente.

STEP 3. Resultados da análise do RAID 5

Vamos verificar o que está disponível através da configuração RAID 5 detetada automaticamente. Para isso, abra o volume Ext4 nesta matriz com duplo clique. No assistente de análise, selecione Fast scan e clique em Next para iniciar a pesquisa de ficheiros.

Hetman RAID Recovery: Fast scan selecionado no assistente de análise

A porção disponível dos dados de teste: após analisar o RAID 5, o programa encontrou 390 pastas e 8.239 ficheiros. Nos resultados, podemos ver a pasta My Data e diretórios aninhados com ficheiros de teste. Parte da estrutura original foi preservada: o programa apresenta os nomes das pastas e dos ficheiros, bem como as respetivas localizações.

Hetman RAID Recovery: pasta My Data e diretórios aninhados com ficheiros de teste

Desta forma, mesmo com dois membros disponíveis da matriz interrompida, foi possível ler parte do seu conteúdo. Para guardar os ficheiros necessários, selecione-os, clique em Recovery e especifique uma pasta num disco separado que não faça parte da matriz recuperada, para evitar a substituição dos dados de origem.

Hetman RAID Recovery: para guardar os ficheiros necessários, selecione-os e clique em Recovery

No entanto, nem todos os ficheiros gravados antes do teste estão presentes nos resultados. Antes da migração, os dados estavam armazenados em dois discos como cópias espelhadas. Durante a transição para RAID 5, o sistema alterou gradualmente a disposição dos blocos, distribuindo-os por três discos e criando paridade.

Como resultado, permaneceram nas unidades sobreviventes áreas com organização de dados diferente. A disposição do RAID 5 corresponde à colocação dos blocos nas áreas já reconstruídas, enquanto a organização anterior de RAID 1 permanece no restante, embora o espelho em si já não seja detetado automaticamente.

Portanto, a ausência de um ficheiro nestes resultados ainda não prova que o seu conteúdo esteja completamente perdido.

STEP 4. Reconstrução manual do RAID

No nosso caso, o programa identificou automaticamente o RAID 5 e os respetivos parâmetros. Mas e se a configuração tiver de ser especificada manualmente ou se algumas definições forem desconhecidas? Para esse fim, o Hetman RAID Recovery inclui o RAID Constructor. Utilizando o RAID 5 detetado como exemplo, vamos analisar as suas capacidades e depois utilizar esta ferramenta para reconstruir o RAID 1 original.

Hetman RAID Recovery: RAID Constructor

Abrimos o RAID Constructor, selecionamos RAID 5 e adicionamos os dois discos disponíveis. O membro em falta é marcado como Empty disk. Isto fornece três posições correspondentes à composição da matriz durante a migração.

Hetman RAID Recovery: o disco em falta está marcado como Empty disk

Nas configurações de RAID 5 que testámos em Synology, a ordem de blocos Left Synchronous e o tamanho de bloco de 64 kilobytes eram frequentemente encontrados, pelo que utilizaremos esta combinação no construtor. No nosso caso, ela também corresponde aos parâmetros da matriz detetada automaticamente.

Hetman RAID Recovery: ordem de blocos Left Synchronous e tamanho de bloco de 64 kilobytes

No entanto, estes valores não são universais: para outro conjunto de discos ou dispositivo de armazenamento, devem ser verificados separadamente, tendo em conta a configuração da matriz e o histórico de alterações.

Além disso, é necessário especificar separadamente o deslocamento de início dos dados de cada disco, pelo que primeiro vamos ver onde o encontrar e como calculá-lo.

STEP 5. Determinação do deslocamento de início dos dados

O deslocamento indica qual a parte inicial do disco que deve ser ignorada antes de ler os blocos da matriz do utilizador. No diagrama do disco físico, podemos ver as partições de sistema Synology e a partição utilizada para armazenar os nossos ficheiros. Neste teste, ela começa no setor 9.437.184. Este é o nosso ponto de referência. Os dados da RAID propriamente ditos começam um pouco mais tarde, porque existe espaço para informações do sistema no início da partição.

Hetman RAID Recovery: abrir o disco físico no HEX Editor

Abrimos o disco físico no HEX Editor. Para ir para o início da partição necessária, primeiro converta o setor inicial para um endereço em bytes. Na calculadora, multiplique 9.437.184 pelo tamanho do setor — 512 bytes. O resultado é 4.831.838.208 bytes. Converta o resultado para hexadecimal e vá para este endereço no editor.

Hetman RAID Recovery: conversão do setor inicial para um endereço em bytes

A partir da posição atual, inicie uma pesquisa para a frente. Selecione a pesquisa hexadecimal e introduza a assinatura FC 4E 2B A9. Isto permite ignorar as partições de sistema iniciais da Synology e procurar o superbloco EXT na partição que contém os nossos ficheiros.

Hetman RAID Recovery: pesquisa hexadecimal pela assinatura FC 4E 2B A9

A correspondência necessária é encontrada no endereço 120001000. Nas proximidades, na parte textual do editor, podemos ver o nome DiskStation:2. A assinatura por si só não é suficiente, uma vez que uma sequência de bytes deste tipo também pode ocorrer noutros dados.

Hetman RAID Recovery: a correspondência necessária é encontrada no endereço 120001000

Agora vamos encontrar o campo data_offset, que indica o deslocamento de início dos dados da RAID dentro da partição. Neste formato de superbloco, ele está localizado a 128 bytes do início e ocupa oito bytes. No nosso caso, estes são os primeiros oito bytes da linha no endereço 120001080.

Hetman RAID Recovery: deslocamento de início dos dados da RAID dentro da partição

O valor é armazenado em ordem little-endian. Na notação padrão, este número é 800 em formato hexadecimal. Introduza-o na calculadora e mude para o formato decimal — o resultado é 2048 setores. Esta é a distância desde o início da partição até ao início dos dados da RAID. Portanto, somamos 2048 ao setor inicial da partição. Obtemos 9.439.232 setores. Multiplicando por 512 bytes, o deslocamento final a partir do início do disco físico é 4.832.886.784 bytes. Este valor corresponde ao indicado nas propriedades da RAID 5 detetada automaticamente.

Hetman RAID Recovery: little-endian

STEP 6. Deteção automática dos parâmetros de RAID

Voltamos ao RAID Constructor e especificamos o deslocamento determinado para cada disco disponível. Agora podemos usar a deteção automática dos parâmetros desconhecidos.

Hetman RAID Recovery: especificação do deslocamento determinado para cada disco disponível

Se o tamanho de bloco ou a ordem de blocos forem desconhecidos, pode selecionar Detect automatically nos campos Block size e Block order. Para determinar a ordem dos membros, existe uma opção separada Detect the disk order automatically. Por exemplo, podemos manter RAID 5, Left Synchronous e um tamanho de bloco de 64 kilobytes, mas deixar que o programa determine a ordem dos discos.

Depois de avançar para o passo seguinte, o programa começa a procurar configurações que correspondam às condições especificadas. As opções encontradas são apresentadas numa lista. Selecione a configuração necessária e clique em Add.

Hetman RAID Recovery: as configurações de matriz encontradas são apresentadas numa lista

Depois disso, o RAID montado aparecerá no ecrã principal do programa, onde pode ser aberto para análise e pesquisa de ficheiros.

Hetman RAID Recovery: RAID montado no ecrã principal do programa

Agora vamos utilizar o construtor para outra tarefa — vamos verificar o disco sobrevivente do espelho original numa configuração RAID 1.

STEP 7. Pesquisa de dados na configuração RAID 1 original

Voltamos ao RAID Constructor e selecionamos RAID 1. Adicionamos o disco sobrevivente do espelho original e marcamos o membro em falta como Empty disk.

Hetman RAID Recovery: voltar ao RAID Constructor e selecionar RAID 1

Especificamos o deslocamento de início dos dados verificado. Isto indica ao programa como ler os dados de acordo com o esquema anterior. Trata-se de uma reconstrução virtual para análise: não reverte a migração nem repõe os discos no estado anterior ao incidente.

Hetman RAID Recovery: especificar o deslocamento de início dos dados verificado

O RAID 1 montado aparecerá no ecrã principal do programa.

Hetman RAID Recovery: RAID 1 montado no ecrã principal do programa

Abrimo-lo com duplo clique e selecionamos Full analysis no assistente de análise. Especifique o sistema de ficheiros Ext4 e inicie a análise.

Hetman RAID Recovery: análise completa do RAID 1 montado

Após a conclusão, o programa encontrou 979 pastas e 14.049 ficheiros. Para comparação, após o Fast scan da configuração RAID 5, obtivemos 390 pastas e 8.239 ficheiros. Estes números não indicam a quantidade de ficheiros válidos exclusivos: os resultados podem conter duplicados e requerem verificação.

Hetman RAID Recovery: o programa encontrou 979 pastas e 14.049 ficheiros

Analisamos os dados encontrados. A estrutura de diretórios original não foi totalmente reconstruída e alguns dos objetos encontrados estão localizados em Lost and Found.

Hetman RAID Recovery: análise dos dados encontrados

A restauração da árvore de pastas requer estruturas de metadados do sistema de ficheiros preservadas e as relações entre elas. Após uma migração interrompida, os dados de um ficheiro individual podem ser legíveis na configuração selecionada, enquanto os registos que o ligavam ao diretório original podem não estar disponíveis. Por conseguinte, a ausência de uma pasta familiar não significa necessariamente que todo o seu conteúdo se tenha perdido.

Para encontrar mais rapidamente os ficheiros necessários, utilize a função Find File. Na janela de pesquisa, introduza o nome completo ou parte dele e clique em Find. Se necessário, pode ativar a pesquisa com distinção entre maiúsculas e minúsculas ou restringir a pesquisa apenas a correspondências de palavra inteira.

Hetman RAID Recovery: utilizar a função Find File

Analisamos vários ficheiros em diferentes formatos, incluindo os encontrados através da pesquisa. Na janela Preview, verificamos imagens, o conteúdo de documentos e outros ficheiros disponíveis para pré-visualização. Isto permite identificar os dados necessários e avaliar o respetivo conteúdo antes de guardar.

Conclusão

Neste teste, analisámos a perda de uma unidade após uma migração interrompida da Synology de RAID 1 para RAID 5. O Hetman RAID Recovery detetou automaticamente o RAID 5 com base nos metadados preservados, mas apenas parte dos dados originais estava disponível através desta configuração.

Por isso, analisámos também o disco sobrevivente do espelho original como RAID 1. Nos resultados, encontrámos ficheiros cujo conteúdo pode ser visualizado, embora a estrutura de diretórios não tenha sido totalmente reconstruída.

Este caso mostra porque, após uma migração incompleta, é importante considerar a configuração anterior da matriz: os metadados atuais não descrevem necessariamente a localização de todos os dados nos discos.

Uma cópia de segurança atual simplifica significativamente a recuperação após um incidente. Se não existir uma, a análise dos dados preservados pode ajudar a recuperar pelo menos parte dos ficheiros — que é exatamente o cenário que analisámos aqui.

Raidel Becerra

Autor: , Escritor técnico

Raidel Arbelay Becerra é um escritor técnico para a Hetman Software e a voz e rosto do Hetman Software: Canal YouTube de recuperação de dados. Escreve artigos aprofundados, tutoriais e resenhas sobre como funciona o software da empresa com todos os tipos de dispositivos de armazenamento.

Mykhailo Miroshnichenko

Editor: , Escritor técnico

Mykhailo Miroshnychenko é um dos principais programadores da Hetman Software. Com base em quinze anos de experiência em desenvolvimento de software, partilha os seus conhecimentos com os leitores do nosso blogue. Para além da programação, Mikhail é um especialista em recuperação de dados, sistemas de ficheiros, dispositivos de armazenamento e matrizes RAID.

Recomendado para você