dd 명령을 사용하여 생성된 시스템 백업은 얼마나 안정적입니까? [복사]

dd 명령을 사용하여 생성된 시스템 백업은 얼마나 안정적입니까? [복사]

私は24時間年中無休のRaspberry Piを使用しており、SDカード全体をNASに定期的にバックアップするクローンタスクを作成しました。これらのバックアップをSDカードにコピーして確認してみましたが、うまくいきました。今まではそんなに良くなった。それでも心配になります。これらのバックアップは私のネットワークで数時間かかるため、これは特定の瞬間のスナップショットではなく、複数の瞬間のファイルが混在していることは明らかです。カードのデータの一部がバックアップ中にコピーされたためです。コピーしました。たとえば、データベースがインストールされているか、特定のファイルの内容を定期的に変更する他の実行中のソフトウェアがあるとします。システムファイルも変更してみてください。これにより、バックアップコピーに矛盾が発生する可能性があり、最悪の場合、回復に使用できない破損したバックアップが作成される可能性があります。最悪の場合、回復後に起動に失敗する可能性があります...これは実際のリスクですか、それともこのddコマンドがどのように機能するかを私が間違って理解していますか?

ベストアンサー1

実際のリスクを強調します。ライブファイルシステムの基本構造をコピーする場合、コピーした内容が利用可能であるという保証はありません。

복사본이 성공적으로 마운트되고 파일 시스템에서 괜찮아 보이더라도 복사한 블록이 특정 파일에 할당된 블록과 일치한다는 보장은 없습니다. (크기가 xMB로 보이지만 할당된 블록 내에 불완전한 데이터만 있는 파일에 대한 디렉토리 항목이 있을 수 있습니다.)

이는 SD 카드의 처음부터 끝까지 직렬 복사의 예로 표시할 수 있습니다. 백업이 진행되는 동안 새 파일에 대한 디렉터리 항목을 만들고 파일 내용을 디스크에 쓰는 것을 고려하십시오. 메타데이터는 물리적으로 SD 카드 끝에 있는 디렉터리에 기록되어 파일이 백업에 존재하는 것처럼 보이기 때문에 캡처될 수 있습니다. 그러나 이미 처리한 디스크의 이전 부분에 파일 내용이 기록되었을 수 있으므로 백업에 넣지 마십시오.

이렇게 하지 마십시오.

가장 좋은 방법은 스냅샷을 복사하는 것입니다(LVM, 스냅샷 테이블 파일 시스템 및 상용 소프트웨어 참조).

차선책은 파일 기반 백업을 수행하는 것입니다( rsync및 참조 rsnapshot). 이는 두 개 이상의 파일이 백업에서 동기화되지 않을 수 있는 경쟁 조건의 영향을 받기 때문에 다음과 같은 파일을 지속적으로 변경하는 데 적합하지 않습니다. 데이터베이스)이지만 대부분의 파일은 성공적으로 올바르게 복사됩니다. 이러한 상황에서 데이터베이스를 백업해야 하는 경우 기본 데이터베이스 백업 도구 사용을 고려한 다음 결과 백업 파일을 사용 rsync/ 복사하세요. 또한 디스크 파티션 테이블과 부팅 프로세스와 관련된 비파일 시스템 파티션( 주의 깊게 처리하면 친구가 될 수 있음) rsnapshot을 별도로 명시적으로 복사해야 합니다 .dd

おすすめ記事