시스템의 핫 카피를 만들 수 있습니까?


10

시스템을 끄지 않고 백업하고 싶습니다. 시스템 클론은 다른 시스템에서도 실행할 수 있어야합니다.

다른 디스크에서 전체 시스템 파티션을 "dd"하려고 시도한 후 시작된 관리 작업이 없는지 확인했습니다. 나는 그 디스크에서 부팅하기 위해 grub에 지시해야한다고 생각하므로 명령을 실행했습니다.

grub-install  /dev/sdc1 

하지만이 오류가 발생했습니다 :

The file /boot/grub/stage1 not read correctly.

나는 내가하고있는 것이 매우 깨끗하지 않다는 것을 알고 있으므로 목표에 도달하는 좋은 해결책이나 그럽 문제를 해결할 아이디어가 있습니까?


계속 실행해야한다면 실제로 무언가를하고 있음을 의미합니다. 이 경우 백업 중에 시스템의 내용이 변경 될 것입니다. 이것은 결과를 다소 예측할 수 없게 만듭니다. 프로덕션 환경에서 사용하기 전에 많은 테스트를 수행하십시오.
Joe

답변:


8

각각의 장단점이 몇 가지 있습니다. dd읽기 / 쓰기로 마운트 된 파일 시스템을 복제하는 데 사용할 수 없거나 복사 중에 소스가 변경되어 복제본이 손상되어 대상이 부분적으로 오래되었거나 부분적으로 종료되지 않습니다. dd파티션을 핫 카피하는 데 실제로 사용 하려면 LVM 스냅 샷을 사용하면됩니다. 이를 위해서는 먼저 LVM 을 사용하여 시스템을 설치해야 하지만 언제든지 스냅 샷을 생성 할 수 있으며 스냅 샷이 고정되어 마운트되지 않았으므로 dd스냅 샷을 안전하게 보관 한 다음 스냅 샷을 제거 할 수 있습니다 . 사용의 다른 단점dd볼륨에서 사용되지 않은 모든 공간을 복사하는 데 시간이 걸리고, 대부분의 소스를 사용하지 않더라도 대상이 최소한 커야한다는 것입니다.

를 사용하는 대신 또는 백업 dd과 같은 기존 백업 도구를 사용 하여 스냅 샷을 백업 할 수 있습니다 . 이는 여유 공간을 복사하는 데 시간을 낭비하지 않는 이점이 있으며 파일을위한 공간이있는 한 더 작은 파티션으로 복원 할 수 있습니다. 파일의 일부만 추출하여 부분 복원을 수행 할 수도 있습니다. 또한 이 방법으로 LVM 을 사용할 필요가 없습니다 . 백업 할 때 파일이 수정되지 않는다고 확신하는 한 마운트 된 파일 시스템에서 작업하는 것이 안전합니다. 발생할 수있는 최악의 상황은 백업 중에 수정 된 개별 파일이 전체 백업이 손상되는 것이 아니라 손상 될 수 있다는 것입니다 .tardumpdd

파일 시스템을 복원 한 후에도 시스템을 부팅하려면 grub을 다시 설치해야합니다. 시도했을 때 왜 그 오류가 발생했는지 잘 모르겠지만 grub2에는 stage1이 없으므로 grub-legacy를 사용하고있는 것 같습니다.


LVM을 사용하지 않았지만 내구성있는 솔루션을 찾고 있습니다. 모든 시스템 트리 (proc 제외)를 복사 한 다음 grub을 수정하는 것으로 충분합니까?
Gaël Barbin

@Gael, 모든 파일을 복사하고 grub을 다시 설치하면 충분합니다. / etc / fstab에서 UUID를 업데이트해야 할 수도 있습니다. 사용하는 경우 tar/ proc뿐만 아니라 / dev, / sys 및 / run도 제외하거나 --one-file-system스위치를 사용하여 다른 파일 시스템으로 내려 가지 않도록하십시오.
psusi

고마워, 나는 타르와 함께 시도합니다. 이 솔루션을 사용하면 백업을 완전히 제어 할 수 있습니다.
Gaël Barbin

3

rsync또는 같은 것을 사용 tar하여 파티션을 복사하는 것이 더 간단 할 수 있습니다. /mnt복사 전과 같이 두 번째 마운트 지점에 파티션을 마운트합니다 . 이 옵션을 사용하면 파티션 크기 나 유형을 변경할 수 있습니다. 추가 파티션에도 구조가있을 수 있습니다. /var와에 대한 별도의 파티션이있는 경우가 많습니다 /usr. 이것들도 고려해야합니다.

grub디스크와 파티션을 올바르게 타겟팅하는 방법을 결정 하려면 설명서를 참조 해야 할 수도 있습니다 . install-grub당신이 원하는 것을하지 않는 잘못된 가정을 할 수 있습니다.

mondoOS가 설치된 부팅 가능한 복구 CD를 만들 수 있는 도구가 있습니다 .


다른 파일 복사 도구는 mbr 및 파티션 테이블이 아닌 파일 만 복사한다고 말했기 때문에 dd를 사용하고있었습니다. 나는 mondo를 한 눈에 보았으며 가장 간단한 해결책이 될 수 있습니다. 감사합니다
Gaël Barbin

@Gael SD1 만 복제하는 경우 MBR을 얻지 못합니다. 필요한 경우 MBR을 업데이트하는 여러 도구가 있습니다. 일반적으로 부팅 레코드를 찾는 코드가 이미 있습니다.
BillThor

1

장치 수준에서 실행중인 시스템의 안정적인 백업을 수행 할 수있는 실제 옵션이 없다고 생각합니다. 현재 상태를 고정시킬 수 없으며 백업 작업에 상당한 시간이 걸리기 때문에 파일 시스템이 너무 손상되었습니다.

그러나 다음 옵션을 시도해 볼 수 있습니다.

  1. VM 내에서 시스템을 실행하십시오. 시스템의 스냅 샷을 생성 한 다음이 스냅 샷을 백업 할 수 있습니다. 백업이 완료되면 스냅 샷을 쉽게 버릴 수 있습니다. 이렇게하면 위에서 언급 한 문제가 해결됩니다.
  2. 장치 레벨이 아닌 파일 시스템 레벨에서 백업을 수행하십시오. 나는 이것을 위해 rsnapshot을 추천 할 수 있습니다.

시스템을 끄지 않고 백업 할 수있는 솔루션을 찾고 있습니다. 따라서 사용 된 방법에 관계없이 시스템을 실행해야합니다. 파일 시스템 만 복사하여 시스템을 복사하는 것으로 충분하다면 rsync가 작업을 수행합니다. rsnapshot은 무엇입니까?
Gaël Barbin

rsnapshot은 필요한만큼 증분 다중 백업을 제공하며 (시간별, 일별, 주별, 월별) 백업은 증분에도 불구하고 일반 전체 디렉토리 구조로 사용 가능합니다.
Vilmantas Baranauskas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.