루트가 미러링된 LVM 볼륨에 있고 /boot 및 /boot/efi가 RAID1 파티션인 두 개의 디스크 서버가 있습니다.
재해가 발생하는 경우(두 디스크 모두 고장이 나거나 전체 서버가 사라지는 경우) 가동 중지 시간을 최소화하면서 신속하게 복구할 수 있도록 서버를 완전히 백업하고 싶습니다. 복구 중에 사양이 완전히 동일한 새 서버와 동일한 "형상"(즉, 전체 크기 및 섹터 크기)이 동일한 두 개의 새 디스크가 있다고 가정해 보겠습니다.
내가 할 계획은 다음과 같습니다.
sfdisk -d /dev/XXX > partXXX.bak
나중에 새 서버에서 복원할 수 있도록 두 디스크의 파티션 테이블을 백업하세요sfdisk /dev/XXX < partXXX.bak
.vgcfgbackup
나중에 사용하기 위해 복원할 수 있도록 LVM 메타데이터를 백업합니다vgcfgrestore
.- 스냅샷 및/
rsync
또는 기타 백업 도구를 사용하여 LVM 볼륨의 실제 데이터를 백업하십시오.
/boot
이제는 파티셔닝 에 대한 완벽한 솔루션이 없습니다 /boot/efi
. 이것이 내가 생각해낸 것입니다:
dd
두 개의 디스크에 전체 파티션의 이미지를 생성하는 데 사용됩니다 .- 아마도 압축을 사용하는 것 같습니다
gzip
. - 복원하는 경우
dd
(파티션 테이블을 복원한 후)를 사용하여 두 디스크 모두에서 전체 파티션 이미지를 복원합니다.
프로세스가 완료되면 간단히 시스템을 재부팅할 수 있어야 하며, 복구된 디스크의 내용이 바이트 단위로 동일하므로(부트로더, 슈퍼 블록 등 포함) 재난 이전과 마찬가지로 작동해야 합니다. .).
내 질문은 dd
다음과 같습니다.
- 라이브 파일 시스템의 이미지를 촬영하기 때문에 데이터 불일치가 발생할 수 있습니다. 나는 이러한 파티션에 자주 쓰기를 원하지 않지만 실행하려는 위험을 제한하기 위해
sync
이미지를 촬영하고 프로세스를 다시 반복합니다. 두 이미지가 모두 동일한 경우 첫 번째 이미지를 생성하는 동안 쓰기가 발생하지 않았다고 가정하는 것이 안전합니다. - 여유 공간을 포함하여 전체 파티션을 이미징하는 것은 과도한 것처럼 보입니다. 여기에서는 압축이 도움이 되고 파티션이 그다지 크지 않지만(
1GiB
및200MiB
) LVM을 사용하는 접근 방식이 더 스마트해 보입니다.
내 질문은 다음과 같습니다. 복구 중에 복원할 수 있고 마운트 및 데이터만 필요 하도록 슈퍼 블록 및 부트로더와 같은 파일이 아닌 메타데이터를 안정적으로 백업하는 데 사용할 수 있는 mdadm
동등한 것이 vgcfgbackup
있습니까 ?vgcfgrestore
md
rsync
또한 내 재해 복구 계획에 누락된 내용이 있나요?
답변1
고려하다긴장을 풀고 회복하세요. https://relax-and-recover.org/
암호화(예: LUKS)를 처리하고 증분 백업을 처리합니다.
답변2
dd
UUID가 중복되므로 원본과 복사본을 함께 설치하면 문제가 발생합니다.
또한 FAT 파티션의 UUID는 다시 포맷하지 않고는 변경할 수 없으며 EFI 시스템 파티션은 실제로 FAT입니다.
rsync
바이트 간 식별(동일 사본)과 호환되지 않습니다.
나는 같은 사본을 신뢰하지 않습니다. 재난의 원인이 데이터 손상이라고 상상해 보십시오. 동일한 복제본이 재난의 원인을 보존할 것입니다. 반대로 복제 수준이 높으면 복제 단계에서 실패할 가능성이 높으므로 더 빠르게 대응할 수 있습니다.
실제로 재난으로 인해 모든 것이 멸절되는 경우 UUID가 고유하지 않아도 괜찮습니다. 어쩌면 얼마나 많은 위험을 감수하고 싶은지에 따라 전략이 달라질 수도 있습니다.