좋아, rsync 명령을 사용하여 시스템을 내 서버에 복제했습니다. 다음으로, 대상 시스템을 조작할 수 있도록 실행 중인 시스템에 드라이브를 마운트했습니다. (명확하게 말하면 대상이 실행되고 있지 않습니다.) 단지 마운트된 드라이브입니다. 그런 다음 서버의 복제본을 드라이브의 루트 위치로 동기화합니다. - 이것은 대상 시스템을 부팅할 때 복제된 시스템의 이전 파티션을 찾기 때문에 실패하는 경우 발생하는 문제입니다. 이 파티션은 훨씬 작기 때문에 해당 드라이브에 존재하지 않습니다. 그래서 몇 가지 질문이 있습니다.
rhel 7의 파티션 테이블이나 MBR은 어디에 있습니까? 새 드라이브에는 하나의 파티션이 있으므로 현재 파티션만 사용하도록 자유롭게 변경할 수 있습니까?
이로 인해 패닉 모드가 발생합니다. 파티션을 정리할 수 있도록 initramfs를 다시 빌드할 수 있나요?
파티션이 grub 구성 스크립트를 가리키나요? 다음은 대상 클론을 생성하는 데 사용한 명령입니다.
rsync -av -e ssh --exclude=/proc/* --exclude=/sys/* <server-ip>:/path/to/image/root/ /path/to/target/clone/root/
대상이 부팅되지만 부팅 중에 실패합니다. grub.cfg 파일의 원래 --set=root가 이전 하드 드라이브의 위치를 가리키는 것으로 나타났습니다. 새 드라이브를 나타내도록 이 파일을 편집할 수 있습니까? 아니면 새 드라이브에 대해 grub.cfg를 다시 생성할 수 있는 방법이 있습니까?
답변1
Rsync는 이 사용 사례에 적합하지 않습니다. 백업을 시도할 때 Rsync를 사용하는 것이 좋습니다.데이터대신 파일 시스템체계그 자체.
당신은 그것을 사용할 수 있습니다DD명령은 다음과 같이 변경됩니다.
호스팅된 애플리케이션 및 서비스를 중지합니다.
dd를 사용하여 전체 디스크를 복사하고 압축합니다.
sudo dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c > <path>/backup_image.gz
실행하다체크섬지퍼에.
백업의 압축을 풉니다.
다음 명령을 사용하여 대상 시스템을 시작하십시오.라이브 CD설치하다.
전송 zip 및 체크섬 파일 사용동기화또는SCP.
수신된 zip에 대해 체크섬을 수행하고 두 체크섬을 비교합니다.
백업 드라이브의 압축을 풀고 새 드라이브에 복사합니다.
gunzip -c <path_to_diskX>.gz | dd of=/dev/diskY
귀하의 마지막 의견과 관련하여:
DD비트 단위 복사를 수행합니다. 대상 드라이브가 소스 드라이브보다 작기 때문에막 생물 반응기첫 번째 섹터에 위치하고 있습니다. 이를 수행하려면 추가 단계를 수행해야 합니다.
소스 드라이브에서:
닫다교환공간.
크기 조정 및 축소파일 시스템공간만 사용되었습니다(+ 일부 Mbs).
파티션 축소갈라진또는 기타 유틸리티(크기는
대상 드라이브에서:
파티션 확인갈라진.
달리기FSCK파일 시스템에서.