도움이 필요해요. 실수로 루트 디렉터리의 모든 파일이 삭제되었습니다. 저는 아닙니다) 간단한 디스크 파티셔닝이 있다면 쉬울 것입니다. 그러나 논리 볼륨이 사용됩니다. 센토스 7 KVM QEMU
$ ll server.img
-rw-------. 1 root root 53687091200 oct 23 14:35 server.img
$ file -sL server.img
server.img: x86 boot sector; partition 1: ID=0x83, active, starthead 32, startsector 2048, 2097152 sectors; partition 2: ID=0x8e, starthead 170, startsector 2099200, 102758400 sectors, code offset 0x63
나는 성공하지 못한 채 몇 가지를 시도했습니다. /dev/cl/root에서 데이터를 복구하는 방법을 아는 사람이 있습니까? 어떤 아이디어라도 감사하겠습니다.
답변1
ext3/4 파일 시스템에 대한 솔루션이 필요한 사람이 있는 경우. 여기있어. fs 테이블을 확인하세요
# fdisk -lu server.img
Disk server.img: 53.7 GB, 53687091200 bytes, 104857600 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
Disk label type: dos
Disk identifier: 0x000bef15
Device Boot Start End Blocks Id System
server.img1 * 2048 2099199 1048576 83 Linux
server.img2 2099200 104857599 51379200 8e Linux LVM
대상 파티션은 섹터 2099200에서 시작하고 크기는 512*2099200 = 1074790400입니다.
# losetup -o 1074790400 /dev/loop0 server.img
# fsck -fv /dev/loop0
fsck from util-linux 2.23.2
# lvmdiskscan
/dev/loop0 [ 49.00 GiB] LVM physical volume
/dev/cl/root [ 430.71 GiB]
/dev/sda1 [ 1.00 GiB]
/dev/cl/swap [ 4.00 GiB]
/dev/sda2 [ 464.71 GiB] LVM physical volume
2 disks
1 partition
0 LVM physical volume whole disks
1 LVM physical volumes
볼륨 그룹을 확인하세요.
# vgscan
Reading volume groups from cache.
Found volume group "cl" using metadata type lvm2
Found volume group "cl" using metadata type lvm2
# vgdisplay
--- Volume group ---
VG Name cl
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 464.71 GiB
PE Size 4.00 MiB
Total PE 118965
Alloc PE / Size 118965 / 464.71 GiB
Free PE / Size 0 / 0
VG UUID qXzwwe-OLg7-Xm25-LImC-fBb9-ohLh-RMqtxn
--- Volume group ---
VG Name cl
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 49.00 GiB
PE Size 4.00 MiB
Total PE 12543
Alloc PE / Size 12543 / 49.00 GiB
Free PE / Size 0 / 0
VG UUID tMnvy0-3LWI-SWX3-SuHr-Cxfy-ueE7-7jeYZc
볼륨 그룹의 이름이 동일합니다. 대상 볼륨 그룹의 이름을 바꿉니다.
# vgrename -v tMnvy0-3LWI-SWX3-SuHr-Cxfy-ueE7-7jeYZc cl_new
# vgscan
Reading volume groups from cache.
Found volume group "cl" using metadata type lvm2
Found volume group "cl_new" using metadata type lvm2
# lvscan
ACTIVE '/dev/cl/root' [430.71 GiB] inherit
ACTIVE '/dev/cl/home' [30.00 GiB] inherit
ACTIVE '/dev/cl/swap' [4.00 GiB] inherit
inactive '/dev/cl_new/root' [44.00 GiB] inherit
inactive '/dev/cl_new/swap' [5.00 GiB] inherit
논리 볼륨 활성화
# lvchange -ay /dev/cl_new/root
# lvscan
ACTIVE '/dev/cl/root' [430.71 GiB] inherit
ACTIVE '/dev/cl/home' [30.00 GiB] inherit
ACTIVE '/dev/cl/swap' [4.00 GiB] inherit
ACTIVE '/dev/cl_new/root' [44.00 GiB] inherit
inactive '/dev/cl_new/swap' [5.00 GiB] inherit
일부 도구를 사용하여 파일을 복구하세요(extundelete, ext3magic, ext4magic 등).
# extundelete /dev/cl_new/root --restore-all
행운을 빌어요! 그리고 sudo와 함께 rm -rf /를 사용하지 마세요 :)
추신. 가상 디스크에 XFS가 있지만 실패합니다.
extundelete: 파일 시스템 /dev/cl_new/root를 열려고 할 때 슈퍼블록의 매직 넘버가 잘못되었습니다.