
Estou em um enigma. Preciso extrair dados de uma imagem de backup que criei anteriormente. Achei que sabia o suficiente sobre o LVM para sobreviver... pelo menos até agora.
Parece que meu erro foi fazer backup de um volume de instantâneo LVM em vez de todo o grupo de volumes ou partição de disco. A maioria dos artigos que li sugere que você fez backup de todo o disco.
Aqui está meu layout LVM:
xvda 202:0 0 10G 0 disk
└─xvda1 202:1 0 10G 0 part
├─lvm1-root 254:2 0 8.1G 0 lvm /
└─lvm1-swap 254:3 0 956M 0 lvm [SWAP]
Aqui está meu comando de backup:
lvcreate -L800M -s -n rootsnapshot /dev/lvm1/root
dd if=/dev/lvm1/rootsnapshot conv=sync,noerror bs=128K status=progress of=/path/to/snapshot.dd
Montei o arquivo DD como /dev/loop0 em outra máquina.
Aqui está o que eu recebo:
# fdisk -l
Disk /dev/loop0: 8.1 GiB, 8657043456 bytes, 16908288 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
# lvmdiskscan
/dev/loop0 [ 8.06 GiB]
/dev/sda1 [ <7.00 GiB]
/dev/sda5 [ 1022.00 MiB]
0 disks
3 partitions
0 LVM physical volume whole disks
0 LVM physical volumes
# vgscan -v
Reading all physical volumes. This may take a while...
No volume groups found.
Alguma ideia de como posso montar esse instantâneo para recuperar dados dele?
Responder1
Descobri. É super simples.
Primeiro, meu problema era que meu último arquivo de backup DD estava totalmente cheio de 0x00 bytes...
Depois que peguei um backup antigo que continha dados reais, tudo correu muito bem.
losetup /dev/loop0 /path/to/snapshot.dd
mount -f ext4 /dev/loop0 /mnt/tmp
Funciona perfeitamente!