파티션(ext4)의 이미지를 생성한 다음 이를 마운트하여 파일 탐색/복구를 수행하는 방법은 무엇입니까? [복사]

파티션(ext4)의 이미지를 생성한 다음 이를 마운트하여 파일 탐색/복구를 수행하는 방법은 무엇입니까? [복사]

Debian 10의 클린 버전을 설치할 수 있도록 현재 Debian 9 서버 OS 파티션을 백업하고 싶습니다.

하지만 Debian 10을 설치한 후 필요에 따라 파일을 찾아보고 복원할 수 있도록 이전 OS 이미지를 마운트하고 싶습니다.

CloneZilla를 사용할 줄 알았는데, 생성된 이미지를 직접 설치할 수는 없는 것 같죠?

답변1

e2image사용 중인 섹터만 복사하면서 ext4 파일 시스템의 이미지를 생성하는 데 사용할 수 있습니다.

e2image -ra /dev/sda1 /path/to/file.img

file.img스파스 파일로 생성되므로 겉보기 크기는 파일 시스템의 용량을 반영하지만 파일 시스템에서 실제로 사용되는 공간만 차지합니다. 파일 시스템 이미지처럼 직접 마운트할 수 있습니다.

mount /path/to/file.img /path/to/mountpoint

e2image다음을 사용하여 QCOW2 이미지를 생성 할 수도 있습니다 .

e2image -Qa /dev/sda1 /path/to/file.qcow2

그러면 다음을 사용하여 계속 설치할 수 있는 압축 파일이 생성됩니다 qemu-nbd.

qemu-nbd --connect=/dev/nbd0 /path/to/file.qcow2
mount /dev/nbd0 /path/to/mountpoint

두 이미지 모두 압축할 수 있지만 이렇게 하면 파일을 직접 제거할 수 없게 됩니다.

답변2

루트로서 cat파티션을 다른 파티션으로 전송하면 됩니다.cat /dev/sdXn > /dev/sdYi

또는 파일로: cat /dev/sdXn > backup.img

또는 다른 시스템의 파일이나 파티션으로:cat /dev/sdXn | ssh user@host 'cat > backup.img'

dd대신 사용할 수 있지만 cat그렇게 할 이유가 없습니다.

dd if=/dev/sdXn of=backup.img

또는 복사하는 동안 진행률 표시줄을 원하거나 복사하는 동안 사용되는 버퍼링 양을 제어하려면 다음을 사용할 수 있습니다 pv.

pv /dev/sdXn > backup.img

ddrescue파티션에 읽기 오류가 있는 경우 대신 다음 명령을 사용해야 할 수도 있습니다 cat.

ddrescue /dev/sdXn /dev/sdYi

또는

ddrescue /dev/sdXn backup.img

ddrescuebackup.imgStdout은 stdin에 기록되거나 stdin에서 읽히지 않으므로 다른 시스템에서 사용 하려면 scp이를 복사(예: NFS 마운트 사용)하거나 NFS 마운트에 써야 합니다.

또는 의견에서 언급한 user1133275처럼 다음을 사용할 수 있습니다.프로세스 교체:

ddrescue /dev/sdXn >(ssh user@host 'cat > backup.img')

마지막으로, 압축되고 마운트 가능한 파일 시스템을 원한다면 다음을 사용할 수 있습니다 qemu-img.

qemu-img convert -c -O qcow2 /dev/sdXn backup.qcow2

설치하세요:

qemu-nbd --connect=/dev/nbd0 /path/to/backup.qcow2
mount /dev/nbd0 /mnt

그리고 모두 패키지 qemu-img에 들어있습니다 . 그런데 하나의 파티션 대신 전체 디스크의 이미지를 가져오면 이전 시스템을 새 시스템에서 가상 머신으로 실행할 수 있습니다.qemu-nbdqemu-utils


또 다른 옵션은 두 번째 디스크를 마운트하고 여기에 Debian 10을 설치하는 것입니다. 그런 다음 새 시스템의 어딘가에 이전 드라이브를 설치할 수 있습니다. 또는 Debian 9와 Debian 10 간의 이중 부팅도 가능합니다.


개인적으로 는 이미지 백업보다는 파일 복사(예: tar또는 rsync또는 사용)를 사용하는 것이 좋습니다. cp -a더 유용하고, 원하는 곳 어디든 쉽게 추출할 수 있으며, 비어 있거나 사용하지 않는 섹터를 복사하는 데 공간이나 시간을 낭비하지 않습니다.

이미지 백업은 (거의 항상) 파일 시스템을 백업하는 최악의 방법입니다.

답변3

ext4 파티션을 다음과 같이 마운트하십시오./whatever

mkisofs -o    /somehwere_else/whatever.iso    /whatever

이제 당신은 아무리 커도어쨌든.iso. 당연히 이동하는 위치의 디스크 공간에 주의해야 합니다.

해당 iso에 액세스하려면 다음을 수행하면 됩니다.

mount -o loop /somewhere/whatever.iso   /anywhereyoulike/mywhateveriso/

/whatever이제 폴더 아래의 모든 항목 에 액세스할 수 있습니다.읽기 전용아래에/anywhwereyoulike/mywhateveriso/

파티션이 있다는 사실 ext4은 이 데이터를컨테이너이것은다양한 파일 시스템 형식. 따라서 데이터가 ext4, xfs 또는 btrfs 파티션에 있는지는 중요하지 않습니다. 왜냐하면 이 시점에서는 이미 해당 데이터에 액세스할 수 있는 Linux 커널 파일 시스템 지원이 있기 때문입니다.

다음을 통해 해당 iso 컨테이너에 데이터를 넣으면MKISOF이것은 매우 다재다능합니다. isofs는 보편적이기 때문에 이제 거의 모든 곳에서 데이터에 액세스할 수 있습니다.컴퓨터가 cd/dvd [iso9660/udf]를 읽을 수 있으면 everything.iso에 액세스할 수 있습니다. .iso를 만들면 이식성이 매우 높아집니다.

문제가 될 수 있는 파일 시스템을 사용하거나 cat보존 할 것 tar입니다.dd

관련 정보