저는 Linux(Ubuntu)를 사용하고 있으며 아래 설명된 방법을 사용하여 시스템의 하드 드라이브를 다른 하드 드라이브에 복제할 수 있다는 말을 들었습니다. 이를 새 시스템에 연결하십시오. (Live CD로 부팅할 필요 없음)
시스템의 디스크는 /dev/sda
, 루트로 마운트된 파티션은 /dev/sda1
, 복제된 빈 디스크는 이라고 가정합니다 /dev/sdb
.
echo u > /proc/sysrq-trigger
읽기 전용으로 마운트된 파일 시스템을 포함하여 모든 파일 시스템을 루트로 다시 마운트합니다.
e2fsck -fy /dev/sda1
R/O 재마운트 강제로 인해 발생한 파일 시스템 오류를 수정했습니다.
dd if=/dev/sda of=/dev/sdb
디스크를 빈 디스크에 복제합니다.
e2fsck -fy /dev/sdb1
새로 복제된 파일 시스템을 복구합니다. 이 단계에서는 일반적으로 고정 블록 체크섬을 알려줍니다.
reboot -f
시스템을 다시 시작하십시오. 이 단계에서는 새로 복제된 디스크의 연결을 끊고 새 컴퓨터에 연결합니다.
이 방법을 두 번 사용해 보았는데 모든 컴퓨터에서 잘 작동합니다. 하지만 그렇게 하면 위험한 파일 시스템 문제가 발생할 수 있을까 걱정되나요? 그렇다면 왜 그렇습니까? 앞으로는 하드 드라이브를 복제할 때 이 방법을 사용하지 말아야 합니까?
답변1
이를 수행하는 가장 좋은 방법은 파일 시스템의 LVM 스냅샷을 생성한 다음 해당 스냅샷을 복사본 생성을 위한 소스로 사용하는 것입니다. 여기에는 두 가지 이점이 있습니다.
- 완료 후 시스템을 재부팅할 필요가 없습니다.
- 일관되지 않거나 손상된 메타데이터가 발생하지 않도록 파일 시스템을 새로 고치고 동기화합니다.
실패할 경우 이미 시스템을 재부팅하여 복사본을 만들려는 경우 완전히 종료하고 단일 사용자 모드로 부팅할 수 있습니다( single
grub에서 커널 명령줄에 추가하면 ro
이미 존재해야 함) dd
. 소스 디스크를 대상으로. 단일 사용자 모드에서는 루트 파티션이 이미 읽기 전용으로 마운트되어 있으므로 디스크(메타)데이터 불일치가 없습니다.
답변2
파일 시스템 문제에 대해서는 잘 모르겠지만 일반적으로 rsync를 사용하여 하드 드라이브를 "복제"합니다. 이는 빈 파일 시스템(크기나 유형이 다를 수 있음)으로 시작하는 이점이 있으므로 복사 프로세스 중에 모든 파일의 조각 모음이 수행됩니다. 모든 것을 새 디스크에 복사하기 전에 fetchmail/samba/내가 관심 있는 데이터를 쓰는 모든 것과 같은 중요한 서비스를 종료하여 데이터가 손실되지 않도록 합니다. 특정 명령:
rsync -axAX / /mnt/newDisk/
.이것은 하드 링크를 유지하지 않습니다. 이것이 중요한 경우 -H를 추가해야 합니다.