
내 컴퓨터의 하드 드라이브를 백업하기 위해 를 사용해 보았지만 dd
다소 혼란스러운 결과를 얻었습니다. 여러 소스에서 본 적이 있습니다(예:http://www.backuphowto.info/linux-backup-hard-disk-clone-dd,http://debianhelp.co.uk/ddcommand.htm) 여기에는 다음과 같은 내용이 포함되어 있습니다.
dd if=/dev/sda of=~/backup.img
1) 아주 혼란스럽지 않다면 이것은 전체 디스크를 디스크의 파일로 백업하려고 시도하는 것입니다. 그렇지 않습니까?
이 방법을 사용하려고 시도했지만 먼저 공간을 절약하기 위해 출력을 압축했습니다. 사용 가능한 데이터를 모두 복사하여 압축 파일이 많은 공간을 차지하는 것을 방지하기 위해 zerofree
디스크의 모든 사용되지 않는 공간에 0을 쓰곤 했습니다. 내 디스크의 총 용량은 ~320GB이고 그 중 약 100GB가 사용되었으며 ~220GB의 여유 공간이 남아 있습니다.
다음 명령을 사용하려고 시도했을 때 :
dd if=/dev/sda | gzip -c > ~/image.img.gz
백업을 종료하기 전에 백업된 파일의 크기가 ~160GB에 도달했습니다(외부 디스크에 백업하는 방법을 알아내기 위한 작업으로 이후 성공했습니다).
2) 백업이 왜 그렇게 많은 공간을 차지합니까? dd
쓰고 있는 파일을 보고 그 파일도 백업하려고 하기 때문인가요 ? 아니면 제가 제대로 사용하지 못해 zerofree
이를 방지하려는 노력에도 불구하고 무작위로 정크 데이터가 잔뜩 백업되어 있는 것일 수도 있나요?
답변1
수정되는 동안에는 하드 드라이브를 정확하게 복제할 수 없습니다.
매우 혼란스럽지 않다면 전체 디스크를 디스크의 파일로 백업하려고 시도할 것입니다. 그렇지 않습니까?
네, 노력하겠습니다. 이 dd
명령은 (드라이브에서) 블록을 읽고, 블록을 압축하고, (해당 드라이브의 파일에) 블록을 쓴 후 다음 블록으로 이동합니다. 이미지에는 backup.img
해당 파일에 대해 부분적으로 기록된 파일 시스템 포인터와 부분적으로 기록된 파일 시스템 포인터가 있습니다.
참고: 여기서는 자세한 내용이 관련이 없으므로 dd
와 사이의 파이프 버퍼링을 크게 단순화했습니다 .gzip
백업이 왜 그렇게 많은 공간을 차지할까요?
가능한 원인은 부분적으로 작성된 파일을 복사하려고 하기 때문입니다 backup.img
. 다른 요인으로는 사용 중인 파일 시스템의 파일 시스템 구조에 대한 고급 지식이 필요합니다.