Como recuperar um servidor Ubuntu com perda parcial permanente de dados?

1

Eu tenho um servidor Ubuntu cuja partição raiz está em um ataque 0 onde um disco rígido tinha perda de dados / setores quebrados. A perda de dados afeta apenas 1-2% do total de dados nessa partição raiz, no entanto, o servidor não inicializa corretamente e só inicia o BusyBox ou inicializa, mas é muito lento e mostra muitos erros como end_request: critical target error, dev sda, sector xxxxxxxx . / p>

Além disso, o servidor não tem grande importância e apenas realiza algumas tarefas de manutenção sem dados críticos envolvidos (caso contrário não teria havido um ataque 0) ainda seria bom recuperar sua configuração para que eu não precise instalar e configure tudo novamente.

Tentar corrigir tudo temporário com fsck não ajuda e também tentei clonar o disco com dd e ferramentas similares que também não conseguiram nada (tenho a sensação de que os clones estão em pior condição do que a partição real que ainda está no ataque ruim 0).

No entanto, sei que, por exemplo, tudo em /etc/ e /home/ está perfeitamente bem. Então, minha pergunta é qual é a melhor maneira de recuperar um servidor Ubuntu forma tal tipo de perda de dados?
Minha idéia seria usar um dos clones dd quebrados e sobrescrever os arquivos do kernel do linux e o que mais seria necessário do DVD de instalação do servidor da mesma versão do Ubuntu Server. Ou para instalar um novo Ubuntu Server da mesma versão e copiar os arquivos de configuração corretos da partição antiga de volta para o novo sistema. No entanto, não tenho certeza do que é melhor, quais dados seriam exatamente necessários em ambos os casos e se talvez existam ferramentas para essas tarefas. Então, qualquer sugestão seria apreciada.

    
por Jey DWork 11.05.2015 / 03:39

2 respostas

1

Primeiro, você não quer mais inicializar o servidor para não causar gravações no disco. Cada gravação pode reduzir suas chances de recuperar os dados com sucesso. O fsck foi uma péssima ideia.

Agora, você precisa capturar imagens brutas das unidades. A menos que seja um RAID de software puro, como usar mdadm , eu não recomendaria usar o mesmo sistema para ele - se for um RAID de hardware real ou até mesmo um RAID "falso", mas não gerenciado pelo SO, tenho medo de inicializá-lo fará com que o próprio controlador RAID tente gravar nos discos e danificá-los ainda mais.

Inicialize em um disco do Linux ou em uma instalação existente do Linux em outras unidades e use ddrescue para capturar imagens dos discos. O processo pode ser muito lento e levar dias, mas no final você terá tantos dados quanto puder.

Depois de ter as imagens, você só precisa trabalhar nelas. Se você não planeja enviar as unidades originais para uma empresa de recuperação de dados, pode descartá-las agora.

Se for um mdadm raid, você pode operar diretamente as imagens, tornando-as dispositivos de loop e mdadm --assemble -as como se fossem unidades reais. Em seguida, monte a partição no modo somente leitura e tente cp .

Você pode fazer várias cópias das imagens e experimentar diferentes opções. Não tenho certeza se um fsck ajudaria, mas se você não perder nada, pois sempre pode recomeçar as cópias limpas das imagens, pode sempre tentar. Além disso, o fato de as unidades subjacentes (bem, os dispositivos de loop apoiados por imagens) serem boas e aceitarem gravações pode fazer com que o fsck seja realmente bem-sucedido.

Se for um RAID de hardware, verdadeiro ou falso, a melhor maneira seria comprar unidades idênticas às que falharam, dd das imagens, coloque-as de volta na máquina afetada (para o controlador RAID remontar como sempre) e inicialize um CD do Linux. Em seguida, monte a partição em somente leitura e tente cp dos dados em uma unidade boa conhecida ou na rede (NFS, etc).

    
por 13.05.2015 / 16:43
0

Você teria que fazer algo assim:

  1. Clone todo o conteúdo do disco em um disco de trabalho. Use o clonezilla ou o Norton Ghost se tiver a licença. Pode levar muito tempo, mas é crucial.
  2. Verifique a integridade do banco de dados do gerenciador de pacotes.
  3. Verifique a integridade dos próprios pacotes, usando por exemplo debsums .
  4. Force a reinstalar os que estão quebrados.

Isso consertaria o sistema em si, mas deixaria os arquivos de configuração (/ etc, por exemplo) e outros dados. Não há maneira fácil de corrigir isso. Você teria que fazer isso de arquivo para arquivo.

    
por 11.05.2015 / 11:05