암호화된 Linux 시스템의 파일 기반 백업?

암호화된 Linux 시스템의 파일 기반 백업?

나는 디스크가 암호화될 때 여유 블록을 생략할 수 없는 도구와 같은 도구가 있다는 것을 배웠습니다 clonezilla. 이는 큰 문제입니다. 왜냐하면 백업 드라이브에는 항상 여유 블록이 있어야 하기 때문입니다.적어도소스 드라이브와 동일한 크기 - 후자에 대부분 여유 공간이 포함되어 있더라도! 이는 비실용적이며 백업이 작동하는 방식도 아닙니다.

다음과 같은 파티션 구조를 가진 표준 Linux 설치를 가정해 보겠습니다.이것(암호화됨, LVM의 LUKS). 부팅 가능한 파일 기반 백업을 어떻게 생성합니까?

아이디어:cp -a소스의 모든 파일을 백업 드라이브로 복사하는 데 사용됩니다 .

=>터미널에서 파티션 구조를 재현하는 방법은 무엇입니까? 이 작업을 위한 Linux 내장 도구가 있습니까? 그리고 cp현재 열려 있거나 사용 중인 파일을 복사합니까(핫 전송)?

분명히 아이디어는 실행 중인 모든 소스 시스템에서 직접 실행할 수 있는 얇고 매끄러운 Bash 스크립트를 만드는 것입니다.

- Creating backup -

1.) Mount empty USB flash drive to running source system
2.) Run Bash script (hot transfer of all files and partition structure)
3.) Bootable, file-based backup is created


- Restoring backup -

1.) Mount backup USB flash drive to empty host machine
2.) Boot the backup system
3.) Run Bash script (partitioning of host drive, hot-transfer of all files)


...finished! Reboot, remove backup USB flash drive, enjoy restored system.

참고: 내 말이 맞다면 결과 백업은~ 아니다암호화됩니다. 그러나 이는 cp잠금 해제된 시스템 내에서 사용하여 이러한 거대한 비트별 이미지/클론 생성을 방지하기 위해 필요한 절충안인 것 같습니다 . 또한 나중에 언제든지 암호화를 추가할 수 있습니다.

답변1

그것은 밝혀졌다rsync선택의 완벽한 도구입니다. 그것은 지원합니다완벽한그리고더운실행 중인 시스템 내에서 전체 파일 시스템 전송:

rsync -avxHAX / /dev/[backup_drive]/

암호화/복호화 문제는 다음과 같습니다.해결됨암호화된 디스크를 미리 잠금 해제하여:

cryptsetup luksOpen /dev/[source_drive] && rsync -avxHAX / /dev/[backup_drive]/

남은 과제는 모든 것을 재현하는 것밖의의 범위 rsync, 즉파일 시스템 외부, 부트로더와 파티션 테이블이 포함된 부트 섹터(= 드라이브의 처음 512바이트)를 의미합니다. 이를 위해 dd다음을 ddrescue사용할 수 있습니다.

cryptsetup luksOpen /dev/[source_drive] && rsync -avxHAX / /dev/[backup_disk]/ && dd if=/dev/[source_drive] of=/dev/[backup_drive] bs=446 count=1

여기서는 백업 드라이브와 파티션의 크기가 다를 것이라는 가정 bs=446대신 사용됩니다 .bs=512생략파티션 테이블과 서명 바이트.

이로 인해 다음과 같은 결과가 발생합니다.완벽한,핫 전송(실행 중인 시스템에서),부팅 가능,부족한(파일 기반)리눅스 디스크 백업터미널에서 완료되었습니다.

해야 할 일: 백업을 암호화하세요!

관련 정보