Recuperação de Dados · 4 min read · Dec 25, 2025
Recuperar Dados de Partições RAID1 LVM Com Knoppix Linux LiveCD
Recuperar Dados de Partições RAID1 LVM Com Knoppix Linux LiveCD
Versão 1.0
Autor: Till Brehm
Última edição: 04/11/2007
Este tutorial descreve como resgatar dados de um único disco rígido que fazia parte de uma configuração LVM2 RAID1, como é criado pelo instalador do Fedora Core, por exemplo. Por que é tão problemático recuperar os dados? Cada disco rígido que anteriormente fazia parte de uma configuração LVM RAID1 contém todos os dados que estavam armazenados no RAID, mas o disco rígido não pode simplesmente ser montado. Primeiro, uma configuração RAID deve ser configurada para a(s) partição(ões) e então o LVM deve ser configurado para usar esta(s) partição(ões) RAID antes que você possa montá-la. Eu usarei o Knoppix Linux LiveCD para fazer a recuperação de dados.
Pré-requisitos
Eu usei um Knoppix 5.1 LiveCD para este tutorial. Baixe a imagem ISO do CD daqui e grave-a em um CD, em seguida, conecte o disco rígido que contém a(s) partição(ões) RAID ao controlador IDE / ATA da sua placa-mãe, coloque o CD do Knoppix na sua unidade de CD e inicialize a partir do CD.
O disco rígido que eu usei é um drive IDE que está conectado ao primeiro controlador IDE (hda). No meu caso, o disco rígido continha apenas uma partição.
Restaurando O Raid
Depois que o Knoppix inicializou, abra um shell e execute o comando:
sudo supara se tornar o usuário root.
Como eu não tenho o arquivo mdadm.conf da configuração original, eu o crio com este comando:
mdadm --examine --scan /dev/hda1 >> /etc/mdadm/mdadm.confO resultado deve ser semelhante a este:
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes metadata=1
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a28090aa:6893be8b:c4024dfc:29cdb07a
Edite o arquivo e adicione devices=/dev/hda1,missing ao final da linha que descreve o array RAID.
vi /etc/mdadm/mdadm.confFinalmente, o arquivo fica assim:
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes metadata=1
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a28090aa:6893be8b:c4024dfc:29cdb07a devices=/dev/hda1,missing
A string /dev/hda1 é o dispositivo de hardware e missing significa que o segundo disco neste array RAID não está presente no momento.
Edite o arquivo /etc/default/mdadm:
vi /etc/default/mdadme mude a linha:
AUTOSTART=falsepara:
AUTOSTART=true
Agora podemos iniciar nossa configuração RAID:
/etc/init.d/mdadm start
/etc/init.d/mdadm-raid start
Para verificar se nosso dispositivo RAID está ok, execute o comando:
cat /proc/mdstatA saída deve ser semelhante a esta:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 hda1[1]
293049600 blocks [2/1] [_U]
unused devices:
Recuperando A Configuração LVM
O arquivo de configuração LVM não pode ser criado por um comando fácil como o mdadm.conf, mas o LVM armazena uma ou mais cópias do conteúdo do arquivo de configuração no início da partição. Eu uso o comando dd para extrair a primeira parte da partição e escrevê-la em um arquivo de texto:
dd if=/dev/md0 bs=512 count=255 skip=1 of=/tmp/md0.txtAbra o arquivo com um editor de texto:
vi /tmp/md0.txtVocê encontrará alguns dados binários primeiro e depois uma parte do arquivo de configuração como esta:
VolGroup00 {
id = "evRkPK-aCjV-HiHY-oaaD-SwUO-zN7A-LyRhoj"
seqno = 2
status = ["RESIZEABLE", "READ", "WRITE"]
extent_size = 65536 # 32 Megabytes
max_lv = 0
max_pv = 0
physical_volumes {
pv0 {
id = "uMJ8uM-sfTJ-La9j-oIuy-W3NX-ObiT-n464Rv"
device = "/dev/md0" # Dica apenas
status = ["ALLOCATABLE"]
pe_start = 384
pe_count = 8943 # 279,469 Gigabytes
}
}
logical_volumes {
LogVol00 {
id = "ohesOX-VRSi-CsnK-PUoI-GjUE-0nT7-ltxWoy"
status = ["READ", "WRITE", "VISIBLE"]
segment_count = 1
segment1 {
start_extent = 0
extent_count = 8942 # 279,438 Gigabytes
type = "striped"
stripe_count = 1 # linear
stripes = [
"pv0", 0
]
}
}
}
}Crie o arquivo /etc/lvm/backup/VolGroup00:
vi /etc/lvm/backup/VolGroup00e insira os dados de configuração para que o arquivo fique semelhante ao exemplo acima.
Agora podemos iniciar o LVM:
/etc/init.d/lvm startLeia o volume:
vgscanLendo todos os volumes físicos. Isso pode levar um tempo…
Grupo de volumes encontrado “VolGroup00” usando tipo de metadados lvm2
pvscanPV /dev/md0 VG VolGroup00 lvm2 [279,47 GB / 32,00 MB livre]
Total: 1 [279,47 GB] / em uso: 1 [279,47 GB] / em nenhum VG: 0 [0 ]
e ative o volume:
vgchange VolGroup00 -a y 1 volume lógico(s) no grupo de volumes "VolGroup00" agora ativoAgora podemos montar a partição em /mnt/data:
mkdir /mnt/data
mount /dev/VolGroup00/LogVol00 /mnt/data/
Se você recuperar dados de um disco rígido com nomes de arquivos no formato UTF-8, pode ser necessário convertê-los para sua localidade atual não-UTF-8. No meu caso, o disco rígido RAID é de um sistema Fedora Core com nomes de arquivos codificados em UTF-8. Minha localidade alvo é ISO-8859-1. Nesse caso, o script Perl convmv ajuda a converter os nomes dos arquivos para a localidade alvo.
Instalação do convmv
cd /tmp
wget http://j3e.de/linux/convmv/convmv-1.10.tar.gz
tar xvfz convmv-1.10.tar.gz
cd convmv-1.10
cp convmv /usr/bin/convmv
Para converter todos os nomes de arquivos em /mnt/data para a localidade ISO-8859-1, execute este comando:
convmv -f UTF-8 -t ISO-8859-1 -r --notest /mnt/data/*Se você quiser testar a conversão primeiro, use:
convmv -f UTF-8 -t ISO-8859-1 -r /mnt/data/*Links
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.