실행 중인 데비안 시스템을 어떤 종류의 이미지 파일로 백업하여 원본(백업된) 데비안 시스템이 실패하면 dd를 사용하여 다른 하드 드라이브에 간단히 다시 쓸 수 있습니까?
저는 특히 저장소에서 직접 사용할 수 있는 도구를 찾고 있습니다. 왜냐하면 저는 Raspberry Pi에서 Debian Wheezy를 실행하고 있기 때문에 Debian 저장소의 패키지에 대해 매우 안정적인 ARM 아키텍처에 대한 지원이 필요하기 때문입니다.
답변1
dd
원본 디스크와 정확히 동일한 크기의 이미지 파일을 생성해도 괜찮습니다. rsync
이는 쉬운 파일 수준 액세스를 원하는 경우 유용합니다. 그러나 파일 시스템을 백업하는 표준 방법은 dump
및 restore
( 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
있습니다 . Flash 전용 파일 시스템을 사용하는 경우 옵션이 다를 수 있습니다.ext2
ext3
ext4
답변2
~을 위한더반, 정말 백업만 하면 됩니다데이터그리고구성 파일.
기존 상태 백업:
- 백업 패키지 선택을 사용하십시오
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
.
귀하의 데이터는 주로 . ( MySQL, Apache 등의 경우) /home
에 있어야 합니다 . 어떤 앱이 자신에게 중요한지 파악할 수 있어야 합니다./var
/var/lib/mysql
/var/www
구성은 대부분 에 있습니다 /etc
. 다시 말하지만, 무엇이 중요한지 파악하는 것이 어렵지 않습니다.
답변3
부트 dd
섹터 및 rsync -aHS
파일용. /proc /sys 및 RAM 디스크(tmpfs)와 같은 "가상" 파일 시스템을 제외해야 합니다.
여전히 파티션을 유지하려면 를 사용하여 파티션을 덤프 sfdisk
하거나 를 사용하여 다시 생성 할 수 있습니다 parted
.
답변4
시스템이 돌아가는 동안 이렇게 하면 좋을지 모르겠지만 저는 그렇게 했습니다.
sudo dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M
제가 말했듯이, 아마도 더 나은 해결책이 있을 수도 있습니다. 그렇다면 그것도 알고 싶습니다!