파일보다 크지 않은 파티션 백업 이미지를 생성하는 GUI 프로그램?


8

'디스크'( gnome-disk-utility)와 시스템 파티션 백업을 만드는 기능이 마음에 듭니다 .

여기에 이미지 설명을 입력하십시오

그러나 어느 시점에서 인터넷에서 전체 파티션만큼 크지 않고 파일만큼 큰 이미지를 만드는 프로그램에 대해 읽었습니다. 이제는 다시 찾을 수 없습니다.

그런 유틸리티가 있습니까?


3
클론 질라?
muru

1
내가 본 것처럼 clonezilla는 라이브 세션으로 만 실행할 수 있습니다. 나는, 내가 여러 ubuntus을 사용하고 내가 설치하고 OS에서 실행할 수있는 프로그램을 찾고 있어요 지정하려면 편집 나는이 솔루션을 선호 한

답변:


9

다음 답변은 GUI 솔루션이 아닌 TUI를 사용합니다 .

사용 사례에 따라 (시스템 백업에 사용) CloneZilla Live를 사용할 수 있습니다 . 그것은 만들 수 있습니다 :

  • 스파 스 이미지,
  • 압축 이미지 :
    • 전체 시스템
    • 전체 드라이브
    • 단순히 개별 파티션.

주요 장점은 다음과 같습니다.

  • 그것은에서 부팅 :
    • 외부 미디어
    • 내부 미디어
  • 자체 OS와 함께 제공 (우분투 기반)
  • 쉽게 복구 할 수있는 정확한 콜드 시스템 백업을 만들 수 있습니다.

이 모든 장점 외에도 MBR도 복사 할 수 있습니다.

콜드 시스템 백업이 원하는 것이 아닌 경우에도 CloneZilla의 기반이되는 기술을 계속 사용할 수 있습니다 partclone.


1
나는, 내가 여러 ubuntus을 사용하고 내가 설치하고 OS에서 실행할 수있는 GUI 프로그램을 찾고 있어요 지정하려면 편집 나는이 솔루션을 선호 한

pyclonezilla를 설치하는 방법? 이 질문에 대한 하나도 구글 항목

1
GUI를 지적하는 것이 너무 빠릅니다. 작동하지 않습니다. CLI 만! 이 내용을 읽었다는 메모를 남긴 후 답변을 삭제하겠습니다.
Fabby

1
프로그램이 없기 때문에 두 가지 조건을 모두 충족시키는 것 같습니다. 1) '디스크'와 같은 GUI가 있어야합니다. 2) 사용 된 공간만큼 큰 디스크 이미지를 작성하십시오. 답을 삭제할 필요는 없습니다. GUI 질문에 대한 CLI 답변은 일반적으로 여기에 제시되며 종종 정당한 이유로 받아들입니다. 방금 내가 원하는 것을 추진하려고했습니다.

1
: DI는 백업을 한 다음 축소합니다 ... ;-)
Fabby

4

더 작은 디스크 이미지를 얻으려면 일반적으로 이미지의 초기 파일 시스템에서 제로 아웃 된 블록을 복사하지 않는 방식으로 수행됩니다. 이 개념 을 파일의 희소 공간 또는 파일의 구멍 뚫기 라고 하며 호스트 파일 시스템이이를 지원해야합니다. 비트 커맨드 라인이지만 이것을 시도하십시오 :

sudo apt-get install virt-manager qemu-utils 

그리고 설치가 끝나면 다음을 사용할 수 있습니다.

qemu-img convert -f raw -O raw  /dev/sdX /home/<user>/Ubuntu.img

그러면 디스크의 희소 이미지 (파일에 0이 기록되지 않음)가 생성됩니다. 여기서 -f = 형식, -O 출력 형식 sdX 디스크 (파티션도 사용할 수 있음). 이 프로그램에는 스냅 샷 및 다양한 출력 형식 (vdi, vmdk 등)과 같은 고급 기능이 있습니다. 귀하의 장소 이미지를 저장 스파 스 파일을 지원하는 파티션에 0을 디스크에 기록되기 때문에, 또는 다른 크기가 단지 큰대로 될 것입니다. 여유 공간이 항상 제로 공간을 의미하지는 않으며 파일 시스템에서 제로 공간의 양을 최대화하려고하기 때문에 파티션을 최대한 활용하려면 파티션에서 apt에서 찾 sfill거나 zerofreeapt에서 찾은 프로그램을 실행 하십시오.

보너스 닌자 포인트. 리눅스는 디스크를 "파일"로 생각하기 때문에 파일을 보관하는 출력 파티션이 스파 스 파일을 알고 있다는 조건으로 일반 cp를 사용할 수도 있습니다.

sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img

cp를 사용하여 원시 사본을 작성합니다.

스파 스를 지원하는 파일 시스템의 예 : ext4, btrfs, xfs, ntfs (그러나 ntfs-3g는 스파 스 쓰기를 허용하지 않을 수 있음).

파일 시스템의 예 : fat32


나는, 내가 여러 ubuntus을 사용하고 내가 설치하고 OS에서 실행할 수있는 GUI 프로그램을 찾고 있어요 지정하려면 편집 나는이 솔루션을 선호 한

이미지를 복원하는 명령은 무엇입니까?

일반적으로 서버 팜에는 GUI 옵션이 많지 않으며 해당 명령 주위에 스크립트를 작성합니다. 이것이 유닉스에서 커맨드 라인이 일반적으로 더 완벽하고 강력한 이유입니다. 다시 변환하면 그냥 쉽게 매개 변수를 반전 등 ...입니다 sudo cp /home/<user>/Ubuntu.img /dev/sdX, 또는 경우 멋진 DD sudo dd if=/home/<user>/Ubuntu.img of=/dev/sdX. qemu-img convert도 마찬가지입니다. 말하자면 실제 하드웨어에 가상 머신을 설치하고 싶습니다. 다시 쓰면 디스크에 0을 쓰므 로 파티션의 지오메트리를 올바르게 처리해야하기 때문에 스파 스가 발생하지 않습니다 .
user283885

1
귀하의 요점을 이해하며 귀하의 요구에 맞는 GUI 도구를 모르는 것에 대해 사과드립니다. 방금 적어도 두 번째 무언가가 당신에게 유용 할 것이라고 생각했습니다.
user283885

1
울타리 의이쪽에 오신 것을 환영합니다. 서버 팜을 지적한 이유는 최근에 대부분의 개발이 수행 된 방식 때문입니다. 예를 들어, qemu-img는 훨씬 더 큰 프로젝트 (openstack, redhat, rackspace & nasa로 시작)의 유틸리티입니다. 데이터 센터에 적합한 소프트웨어를 구축하는 대기업이 있으며 그러한 노력에 피기 백하는 사람들이 있습니다. 물론 작동하지만 스파르타가 가장 좋습니다. 지금은 내가 할 수있는 최선을 다른 사람들과 방법을 아는 것입니다.
user283885

4

그 자체만으로 두 가지 조건을 만족시키는 프로그램이없는 것 같습니다.

1) '디스크'와 같은 GUI가 있어야합니다.

2) 사용 된 공간만큼 큰 디스크 이미지를 만듭니다.

다소 간단한 해결 방법에 대해 생각했지만 우분투에서 매우 일반적인 두 가지 GUI 프로그램이 있습니다.

하나는 동일한 '디스크'(gnome-disk-utility) 이며, 주어진 파티션의 백업 이미지를 생성하는 데 사용되며, 다른 하나는 Gparted가되어 백업 이미지를 생성하기 전에 파티션을 최대한 줄입니다. 그 후에 원래 크기로 다시 크기를 조정하십시오 .

그런 작업에서 불편하지 않은 것으로 보입니다. 파티션을 최소로 줄이면 몇 분 (10GB의 경우 약 1 분)이 걸리고 오른쪽에 빈 공간이 생깁니다. '디스크'를 사용하여 디스크의 백업 이미지를 만든 후 Gparted를 사용하면 파티션을 초기 상태까지 빈 공간으로 오른쪽으로 다시 크기를 조정할 수 있으며 몇 초 밖에 걸리지 않습니다.

우분투 설치 파티션에서 테스트 :


1
내가 방금 답변을 찾았다면, 나는 당신이 완벽한 답변을 찾았다면 그것을 읽었으며, 이것이 하나 인 것 같습니다! 왜 이걸 받아들이지 않습니까?
Fabby

2

편집 : 파일 시스템에서 삭제 된 파일이 여전히 파티션에있는 경우 제대로 작동하지 않으므로 먼저 대상 파티션에서 사용 가능한 공간을 정리해야합니다.

  1. 대상 파티션을 마운트
  2. 운영 dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.dd
  3. 대상 파티션을 마운트 해제하십시오

그때:


를 사용하여 전체 파티션을 한 블록 씩 읽고와 dd같은 압축 유틸리티로 모든 것을 출력 할 수 있습니다 gzip. 가장 빠르거나 가장 낮은 압축 설정을 사용하더라도 압축 도구는 프로세스 중에 모든 여유 공간을 압축합니다.

gzip:

sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz

( 가장 빠르거나 압축률이 낮도록 GZIP=-1환경 변수 GZIP를 일시적으로 설정 -1)

백업을 복원하려면

gzip -d /path/to/backup.gz >/dev/sdX


디스크를 사용하여 백업하기 전에 gparted로 파티션을 축소하는 것에 대해 어떻게 생각하십니까?

다른 사람에 대한 @cipricus 더 나은 대기는 잘 모르겠어요 때문에, 이것에 대해 뭔가를 말하고, 심지어 내가 그것을 잘가 그런 식 중 하나를 수행해야한다고 생각 무뢰한
코스

@ kos 나는 당신이주는 ddrescue 명령이 상당히 쉽게 이미지를 생성했지만 파일의 크기를 전혀 줄이지 않았다는 것을 알았습니다. 나는 ext4에 NTFS 파티션을 이미징하고 있는데, 둘 다 스파 스 파일로 작동하는 것처럼 보이지만 노틸러스에 표시된 .img 파일 크기는 원래 파티션 크기와 정확히 일치합니다. 따라서 gParted를 다루는 것이 여전히 필요할 것 같습니다.
PhilJ

1

옵션 ddrescue과 함께 사용 하는 것은 -S어떻습니까?

ddrescue -S /dev/sdXY /<path_to_backup>/backup.img

이것은 각 블록을 복제하지만 블록 장치에서 발견 된 0 개의 블록 /dev/sdXY/<path_to_backup>/backup.img


잘 들린다. 그러나 이미지를 복원하는 명령은 무엇입니까?

@cipricus 나는 이것이 실제로 시스템에 매우 의존적이며 모든 배포판에서 작동하지 않는다는 것을 알았으므로 추가 소프트웨어를 다운로드하지 않고 동일하게 달성하기 위해 더 간단하지만 약간 느린 방법을 추가했습니다. 사용
kos

0

더 작은 드라이브로 복사하는 데 사용할 수 없습니다. 데이터로 10 % 만 채워진 64Gb 드라이브가있는 경우 6Gb 이미지 파일로 복사 할 수 있기를 원합니다. 16Gb 드라이브로 복사하여 16GB로 확장 할 수 있습니다.

내가 아는 유일한 가능성은 원본을 복사 한 다음 크기를 조정하는 것보다 GParted를 사용하여 원본을 축소하는 것입니다. 원본을 축소하고 크기를 조정해야하기 때문에 매우 위험한 작업입니다.


0

rsync파티션의 파일 만 다른 파티션으로 백업 하는 데 사용할 수 있습니다 . 또는 tar모든 파일을 포함하는 압축 된 아카이브를 작성하십시오.

둘 다 아마도 (여러) GUI를 가지고 있지만, 나는 그것들을 직접 사용한 적이 없다.


0

Clonezilla는 실제로 매우 친절 할 수 있습니다. 라이브 CD에는 명령 줄 사용법이 필요하지 않습니다. 마우스를 사용하지 않더라도 GUI라고 부르면 매우 기쁩니다. 많은 경우 기본값이 정상이라고 생각합니다. 문제는 명시 적으로 부르지 않은 것입니다. 임의의 Linux 시스템에 설치할 수있는 것으로 설계된 것은 아닙니다. 데비안 / 우분투 용으로 특별히 패키지되어 있으며 라이브 CD가 가장 쉬운 방법입니다.


Clonezilla / partclone은 파일 시스템 인식 복제를 사용하고 자체 압축 이미지 형식을 사용합니다.

제로 섹터 감지에 의존하지 않는 간단한 (마운트 가능) 스파 스 파일을 생성 할 수있는 GUI가 아닌 다른 가능성이 있습니다.

virt-sparsify /dev/your-block-device backup.img

/ tmp가 램 디스크이면 임시 파일을위한 추가 공간이 필요하다는 경고가 표시됩니다. 따라서 옵션을 추가해야 할 수도 있습니다 --tmp /var/tmp.


virt-sparsify 메소드가 확실히 .img 파일의 크기를 줄이지 만 이미지의 파티션 크기와 거의 동일한 / tmp 디렉토리가 필요하다는 것을 알았습니다. 경고 메시지를 표시했지만 위에 표시된 --tmp 옵션을 시도했을 때 (내 설정에 따라 다름)> 알 수없는 옵션`--tmp '가 표시되었습니다 ./tmp 출력을 다른 곳으로 전환하는 방법을 모르겠습니다. 이에 대한 조언은 저와이 포스트의 독자들에게 도움이 될 것입니다.
PhilJ

지정 virt-sparsify --version하시겠습니까? 옵션은 내 ( man virt-sparsify) 에 문서화되어 있습니다 ... 맹세 할 수는 없지만 적어도 현재 /tmp는 tmpfs입니다. 을 사용할 수 있다면 --in-place임시 저장 공간을 피하는 것처럼 보입니다. 마지막으로 시도해 볼 수도 있습니다 TMPDIR=/var/tmp virt-sparsify .... 내 버전의 문서에 따르면 1.28 이전 버전의 tmp 디렉토리를 설정해야한다고합니다.
sourcejedi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.