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


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.