rsync를 사용하여 원본 서버에서 대상 서버로 약 800GB의 데이터를 복사하려고 합니다. 소스 서버 애플리케이션을 종료하지 않고 rsync를 사용하는 것이 안전한지 알고 싶습니다. rsync는 데이터를 대상 서버에 다시 복사/동기화하는 동안 소스에서 실시간 데이터 유입을 처리할 수 있습니까?
답변1
백업 및 실시간 동기화를 위해 저는 glusterfs
매우 사용자 친화적이고 강력한 동기화 및 백업 패키지를 사용합니다.
glusterfs
에서 자세히 알아보세요 .여기.
답변2
Rsync는 이를 무시하여 "처리"합니다. 이것이 중요합니까? 그렇지 않습니다... rsync가 파일의 해당 부분을 복사한 후 변경된 내용은 손실되고 복사되지 않습니다. 이는 동일한 파일의 서로 다른 부분에 서로 다른 시점의 데이터가 포함되어 있음을 의미할 수 있습니다.
의심할 수 있듯이 이는 문제가 될 수 있습니다.
제가 Linux에서 자주 사용하는 해결 방법(태그 참조)은 LVM 스냅샷을 생성하고 읽기 전용으로 마운트한 다음 스냅샷 데이터를 복사하는 것입니다. LVM 스냅샷은 스냅샷 수명 동안 변경되지 않은 상태로 유지되지만 변경된 데이터(쓰기)를 충분히 수용할 수 있을 만큼 커야 합니다. LVM 스냅샷이 가득 차면 사용할 수 없게 됩니다.
예를 들어:
# lvcreate --snapshot /dev/vgName/lvName --size 1G --name snapNameDate
# mkdir /snaps
# mkdir /snaps/lvName/Mount/Point
# mount -o ro /dev/vgName/snapNameDate /snaps/lvName/Mount/Point
# cd /snaps/lvName/Mount/Point
# rsync --archive --verbose --progress . user@destination:/destination/Point/.
# cd /
# umount /snaps/lvName/Mount/Point
# lvremove /dev/vgName/snapNameDate