데비안 시스템 실행의 시스템 이미지?


22

실행중인 데비안 시스템을 일종의 이미지 파일로 백업 할 수 있습니까? 원본 데비안 시스템이 고장 났을 때 dd를 사용하여 다른 하드 디스크에 다시 쓸 수 있습니까?

라즈베리 파이에서 Debian Wheezy를 실행하고 있기 때문에 특히 리포지토리에서 직접 사용할 수있는 도구를 찾고 있습니다. 따라서 데비안 리포지토리 패키지에 대해 상당히 안정적인 ARM 아키텍처를 지원해야합니다.


2
rw 마운트 파일 시스템에서 블록 단위 복사본을 얻는 것은 권장하지 않습니다. 가장 작은 쓰기로 인해 파일이 손상 될 수 있으며 작업 가능한 백업이 있다고 생각합니다. 따라서 , 또는 이와 유사한 mount -o remount,ro것을 선택하면 복사중인 드라이브 입니다. 파일 시스템과 함께 또는 다른 방법으로 복사하는 것은 라이브 시스템에 안전합니다. dddumprsynccp
기발한 웜뱃

답변:


15

dd원시 디스크 크기와 정확히 동일한 이미지 파일을 생성하지 않아도됩니다. rsync쉬운 파일 수준 액세스를 원한다면 좋습니다. 그러나 파일 시스템을 백업하는 표준 방법은 dumprestore( aptitude install dump)입니다.

Raspberry Pi와 같은 장치의 경우 MS-DOS 파티션 테이블을 가정하고 디스크가 / dev / sda라고 가정하여 다음과 같이 백업합니다.

  • dd if=/dev/sda of=sda-boot-sectors.img count=2048 디스크의 부팅 섹션 이미지를 가져옵니다.
  • fdisk -lu /dev/sda >sda-partition-table.txt 나중에 인간 참조를 위해.
  • dump -0af sda1-root-level0.dump /dev/sda1 백업하려는 각 파티션에 대해 반복하십시오.

그런 다음 로트를 압축하여 안전한 곳에 둘 수 있습니다. 복원하려면 사용하는 것 dd, 파티션 테이블 및 부팅 섹터를 복원 파티션 테이블을 다시로드, 새로운 파일 시스템 (들)을 사용할 수 있도록 cd /mnt/new-filesystem; restore -rf /some-location/sda1-root-level0.dump.

거꾸로 :

  • dump ACL, 확장 속성, 소유권, 스파 스 파일, 특수 파일 시스템 속성을 포함한 파일 시스템의 전체 사본을 가져옵니다. 모든 것이 그대로 덤프됩니다.
  • 사용하지 않는 블록은 무시하고 필요한 블록 만 복사합니다.
  • 표준 유닉스 도구이며 많은 다른 유닉스 도구로 읽을 수 있습니다.

단점 :

  • 덤프 도중 파일 시스템에 기록되면 손상된 스냅 샷이 생성됩니다.
  • 백업 된 이미지 (디스크 이미지로 수행 가능)를 마운트하거나 개별 파일 ( rsync백업으로 제공 가능)에 도달하는 것이 더 어렵습니다 .
  • 파일 시스템 유형에 따라 다릅니다. ext3파일 시스템을 덤프하여 ext4하나 에서 복원 할 수 있지만 모든 유형의 파일 시스템을 덤프 수 있습니다 . 대부분의 성숙한 파일 시스템에는 자체 dump버전이 있습니다. 표준 데비안 dump않습니다 ext2, ext3ext4. Flash 관련 파일 시스템을 사용하는 경우 옵션이 다를 수 있습니다.

맨 페이지 dump에는 파일 시스템을 작성해서는 안된다는 내용이 나와 있지 않습니다. 의미있는 제한처럼 들리지만 맨 페이지에 언급되지 않은 것이 유감이므로 누군가가이 오류를 일으킬 수 있습니다 ...
imz-Ivan Zakharyaschev

귀하의 게시물 덕분 에이 도구 (덤프 / 복원)에 대해 배웠습니다. 다음과 같은 파일 시스템의 복사본을 만드는 데 사용할 것입니다.mkfs.ext4 /dev/sda1; mount /dev/sda1 /mnt/disk; cd /mnt/disk; dump -0af - /dev/sda5 | restore -rf -
imz-Ivan Zakharyaschev

5

사용하여 dd부트 섹터와 rsync -aHS파일에 대한. / proc / sys 및 모든 RAM 디스크 (tmpfs)와 같은 "가상"파일 시스템을 제외해야합니다.

파티셔닝도 유지하려면로 파티션을 덤프 sfdisk하거나로 다시 만드십시오 parted.


고마워, 매우 흥미로운 소리, 당신은 이미 과거에 tset 했습니까? 이 부분에서 완전한 이미지를 만들려면 어떻게해야 루프 락 장치를 사용합니까? (예, 파티셔닝 등을 계속하고 싶습니다. 이미지를 더 이상 조정하지 않고 새로운 SD 카드 / 디스크에 쓸 준비가
되었으면합니다

@ stefan.at.wpf 방금 VM 복제를위한 솔루션을 혼합하여 물리적 서버 (autoyast / kistart)를 생성하여 미러되지 않은 시스템에서 raid1 미러를 만들고 일반적인 (정적) 부분을 복제하는 방법 클러스터 노드 용 파일 시스템. 나는이 myselv를 사용하지 않습니다. 내 방법은 새 서버 (백업 클라이언트 포함)를 자동 설치 한 다음 백업을 통해 이전 서버의 내용을 새 서버로 복원하는 것입니다.
Nils

4

들어 데비안 , 당신은 정말에만 백업해야 데이터구성 파일을 .

기존 상태를 백업하려면

  • 로 패키지 선택을 백업하십시오 dpkg --get-selections > dpkg_selections.
  • 로 debconf 데이터베이스를 백업하십시오 sudo debconf-get-selections > debconf_selections.

이것을 새로운 시스템에 적용하려면 :

  • 먼저 debconf 선택을 적용하십시오 sudo debconf-set-selections < debconf_selections.
  • 로 패키지 선택 사항을 적용하십시오 dpkg --set-selections < dpkg_selections.
  • 로 패키지를 설치하십시오 apt-get dselect-upgrade.

귀하의 데이터는 기본적으로해야 /home하고 /var(예를 들어 /var/lib/mysql, MySQL을위한 /var/www아파치 등). 어떤 응용 프로그램이 중요한지 파악할 수 있어야합니다.

구성은 주로에 /etc있습니다. 다시, 당신에게 중요한 것을 고르는 것이 어렵지 않아야합니다.


debconf-get-selection실행 하려면apt-get install debconf-utils
pandita

1

시스템이 실행 중일 때 이것이 좋은지 모르겠지만 이것이 내가하는 일입니다.

sudo dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

내가 말했듯이, 더 나은 해결책이있을 수 있습니다.이 경우 나는 그것을 알고 싶습니다!


1

나는 많은 백업 및 복원 소프트웨어를 시도했지만 결코 행복하지 않았습니다. 이것은 내가 지금하는 일입니다. 예비 컴퓨터 (같은 MB, NIC 카드 등)에 두 번째 데비안이 설치되어 있습니다. 매일 저녁 시스템 A에서 시스템 B로 재 동기화됩니다. 실행중인 두 시스템의 충돌을 원하지 않기 때문에 일부 파일 (/ etc / network / interfaces, / etc / hosts, / etc / hostname)이 있습니다. 실제로 다른 폴더에 사본이 있습니다. 또한 머신 B에서 실행할 필요가없는 일부 서비스 (postfix, mysql 등)도 비활성화합니다. 기본적으로 시스템 A로 바꾸고 (내가 보유한 파일을 대체 함) NIC를 재시작하고 비활성화 된 서비스를 활성화하는 스크립트 B가 시스템 B에 작성되었습니다. 물론 스크립트를 실행할 때 머신 A를 꺼야합니다. 그렇지 않으면 혼란 스러울 것입니다. 컴퓨터 A를 끄고 스크립트를 실행하여 컴퓨터 B를 매월 테스트합니다. 일부 테스트를 수행하여 최신 상태이고 제대로 실행되는지 확인하십시오. 그것은 매력처럼 작동합니다!


0

클론 질라를 확인하십시오. 표준 데비안 저장소에 나열되어 있습니다. http://clonezilla.org/

편집 : 아마도 Clonezilla의 첫 페이지에 "X86 또는 x86-64 프로세서"목록 요구 사항이 없을 것입니다.


흥미로운 프로젝트이지만, 어쨌든 감사합니다 :-)
stefan.at.wpf

0

파이를 백업하려면 microSD 카드를 제거하고 랩톱에 꽂습니다. 그런 다음 a dd를 실행하여 위와 같이 전체 디스크의 랩톱에서 파일을 생성하십시오.

dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

2
이것은 말 그대로 질문의 가장 중요한 부분을 무시합니다. 문제는 시스템 의 라이브 이미지 를 수행하는 방법을 묻고 있으며 디스크를 움직일 때 시스템을 종료하는 것이 좋습니다.
사이렌

0

시스템 백을 사용하십시오. 데비안 스트레치에서도 작동합니다. 정확하게 구성된 데스크탑으로 멋진 라이브 부팅 USB를 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.