.img 파일이 실제 디스크보다 훨씬 큰 이유는 무엇입니까?

.img 파일이 실제 디스크보다 훨씬 큰 이유는 무엇입니까?

내 디스크 이미지가 왜 그렇게 큰지 알아내려고 노력 중입니다. 원본 서버의 디스크는 다음과 같습니다.

root # df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           395M  7.1M  388M   2% /run
/dev/sda         79G   43G   32G  58% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           395M     0  395M   0% /run/user/0

나는 그것을 만들고 있습니다 :

ssh [email protected] "dd if=/dev/sda " | dd of=/backup/server-images/west.img

여전히 실행 중이며 현재까지 이미지 크기는 72GB입니다. 이는 백업 디스크 실제 크기의 거의 두 배입니다. 내가 무엇을 놓치고 있나요? 200GB 디스크가 있으면 400GB 이상이 되나요?

그러나 이미지는

답변1

매개변수 없이 사용하는 것은 dd매우 비효율적입니다. 각 읽기는 512바이트 블록을 사용합니다. dd블록 크기( bs=32M예:) 를 조정할 수 있지만 여기에는 더 쉽고 더 나은 방법이 있습니다.더 빠른 대안

# Compressed image
ssh [email protected] "gzip --rsyncable </dev/sda" >/backup/server-images/west.img.gz

# Uncompressed image
ssh [email protected] "gzip  --rsyncable </dev/sda" | zcat >/backup/server-images/west.img

# Uncompressed image with seriously fast network
ssh [email protected] "cat /dev/sda" >/backup/server-images/west.img

플래그를 이해하지 못하거나 나중에 압축된 이미지를 전송하는 데 사용되지 않을 것이라고 확신할 수 있는 경우 에는 이 플래그를 무시하세요 dd.--rsyncablegziprsync

그런데 /dev/sda파일 시스템이 마운트되거나 파티션이 사용 중인 경우 백업이 손상될 수 있습니다. 이는 라이브 시스템의 블록 기반 백업을 수행하는 방법이 아닙니다.

답변2

일반적인 - 방금 발견한 내용은 다음과 같습니다.

https://askubuntu.com/questions/537012/dd-image-size-does-it-equal-the-size-of-the-partition

따라서 이는 이 .img 파일이 현재 사용 중인 공간의 크기가 아니라 실제로 디스크 자체의 크기라는 것을 의미한다고 생각합니다.

관련 정보