
나는 수수께끼에 빠졌습니다. 이전에 생성한 백업 이미지에서 데이터를 추출해야 합니다. 나는 적어도 지금까지는 LVM에 대해 충분히 알고 있다고 생각했습니다.
내 실수는 전체 볼륨 그룹이나 디스크 파티션이 아닌 LVM 스냅샷 볼륨을 백업한 것 같습니다. 내가 읽은 대부분의 기사에서는 전체 디스크를 백업했다고 암시합니다.
내 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]
내 백업 명령은 다음과 같습니다.
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
DD 파일을 다른 컴퓨터에 /dev/loop0으로 마운트했습니다.
내가 얻는 것은 다음과 같습니다.
# 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.
이 스냅샷을 마운트하여 데이터를 검색하는 방법을 아시나요?
답변1
그것을 알아 냈습니다. 매우 간단합니다.
우선, 내 문제는 최신 DD 백업 파일이 완전히 0x00 바이트로 가득 차 있다는 것이었습니다...
실제 데이터가 포함된 이전 백업을 가져온 후에는 모든 작업이 매우 순조롭게 진행되었습니다.
losetup /dev/loop0 /path/to/snapshot.dd
mount -f ext4 /dev/loop0 /mnt/tmp
완벽하게 작동합니다!