Restaure arquivos excluídos acidentalmente em uma instância ECS Linux usando testdisk e reanexação de disco.
Contexto
Os fluxos de trabalho e as ferramentas deste tópico ajudam a restaurar arquivos excluídos acidentalmente. Os resultados variam conforme o cenário e o método escolhido. Adote as medidas adequadas à sua situação específica.
Pré-requisitos
Leitura da seção Fluxos de trabalho.
Conhecimento e habilidade para restaurar dados sem causar mais corrupção.
Criação de snapshots dos discos cujos dados você deseja restaurar, evitando corrupção por operações incorretas.
Este tópico utiliza software open source de terceiros para restauração de dados. A Alibaba Cloud não garante os resultados obtidos com esses softwares.
Se os dados forem críticos e você não tiver experiência em restauração, contate uma empresa especializada em vez de tentar o procedimento manualmente.
Fluxos de trabalho
Restaurar dados quando o sistema não inicia após exclusão acidental
Se você executar rm -rf /* como usuário root em uma instância Linux e a CLI do grub aparecer após a reinicialização, siga este fluxo para restaurar dados do disco do sistema de origem.
Restaurar dados após a exclusão acidental de um arquivo de sistema
Ao executar rm -rf <file_or_dir> em uma instância Linux e precisar recuperar os dados excluídos, siga este fluxo de trabalho.
Se a exclusão causar falha na conexão SSH, use VNC (VNC) para se conectar à instância.
Guia de operação
O exemplo a seguir demonstra a restauração de dados com testdisk quando a instância não consegue iniciar após uma exclusão acidental.
Casos de uso
Execução acidental de
rm -rf /*que impede a inicialização da instância.Ausência de snapshots criados antes da exclusão ou preferência por não usá-los na restauração.
Restauração de dados utilizando outra instância Linux.
Fluxograma da operação
O fluxograma abaixo ilustra o procedimento de restauração de dados.
Procedimento
-
Crie snapshots da instância atual.
Antes de restaurar os dados, crie um snapshot do disco do sistema ou do disco de dados da instância de destino para fazer backup dos dados existentes. Consulte Criar um snapshot para um disco.
-
Desanexe o disco da instância de origem e anexe-o a outra instância.
AvisoPare a instância antes de desanexar o disco do sistema. No console ECS, selecione Force Stop. Caso contrário, não será possível desanexar o disco do sistema.

Desanexe o disco do sistema ou o disco de dados e anexe-o a outra instância Linux em funcionamento normal. Consulte Desanexar ou anexar disco do sistema.
AvisoAo anexar o disco do sistema de origem a outra instância como disco de dados, o console ECS pode solicitar a inicialização do disco. Não selecione Initialize Now. Feche a caixa de diálogo e continue. Do contrário, os dados a serem restaurados serão corrompidos.

-
Restaure os dados excluídos acidentalmente.
Use o testdisk para restaurar dados ou diretórios excluídos. O exemplo a seguir restaura um diretório excluído em uma instância Linux.
-
Instale o testdisk na instância em funcionamento normal. O comando varia conforme o sistema operacional.
Alibaba Cloud Linux 2 ou 3
sudo yum install -y testdiskCentOS 6, CentOS 7 ou CentOS 8
sudo yum install -y testdiskUbuntu ou Debian
sudo apt install -y testdisk -
Verifique as partições atuais do disco:
sudo fdisk -luExemplo de saída:
Disk /dev/vda: 145 GiB, 155692564480 bytes, 304087040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: F51132A7-67B1-4650-806D-FD0DE6E1210C Device Start End Sectors Size Type /dev/vda1 2048 6143 4096 2M BIOS boot /dev/vda2 6144 415743 409600 200M EFI System /dev/vda3 415744 304087006 303671263 144.8G Linux filesystem Disk /dev/vdb: 40 GiB, 42949672960 bytes, 83886080 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: F51132A7-67B1-4650-806D-FD0DE6E1210C Device Start End Sectors Size Type /dev/vdb1 2048 6143 4096 2M BIOS boot /dev/vdb2 6144 415743 409600 200M EFI System /dev/vdb3 415744 83886046 83470303 39.8G Linux filesystemNeste exemplo,
/dev/vdaé o disco do sistema da instância em funcionamento normal./dev/vdbé o disco do sistema da instância de origem, anexado como disco de dados. -
Execute o
testdiskno disco de destino:sudo testdisk /dev/vdbSelecione
Proceed(padrão) e pressione Enter.
-
Escolha o estilo da tabela de partição. O padrão é Intel. Se o disco usar GUID Partition Table (
GPT), selecione EFI GPT. Pressione Enter.
-
Selecione Analyse e pressione Enter para verificar o disco.

-
Caso nenhuma informação de partição apareça, selecione Quick Search e pressione Enter.

Quando as informações de partição aparecerem, selecione a partição de destino e pressione Enter.

-
Selecione Deeper Search e pressione Enter.

-
Assim que os arquivos recuperáveis aparecerem, selecione Continue e pressione Enter.

Pressione P para listar os arquivos.

Restaurar arquivos e pastas específicos
Selecione o arquivo a ser restaurado e pressione c.

Restaurar todos os arquivos
Pressione a para selecionar todos os arquivos e, em seguida, pressione C para copiar.

-
Escolha um diretório de destino e pressione C para colar os arquivos. Neste exemplo, os arquivos são restaurados em /home/ecs-user/data_recovery.

Uma mensagem semelhante a
Copy done! 10 ok, 0 failedconfirma a cópia dos arquivos.
-
Reconecte-se à instância e acesse /home/ecs-user/data_recovery. Se os arquivos aparecerem no diretório, a restauração foi bem-sucedida.

-
Referências
Consulte Criar um snapshot para um disco.
Consulte Desanexar ou anexar disco do sistema.
Consulte Criar disco a partir de snapshot.
Consulte Conectar usando VNC.
Consulte Usar o Workbench para fazer logon em uma instância Linux via SSH.