콘텐츠로 이동

백업 개요

백업이란 무엇인가요?

백업은 파일 시스템이나 데이터베이스의 데이터를 복제하는 것을 의미합니다. 오류나 재난 상황에서 시스템의 유효한 데이터를 적기에 복원하여 정상적인 운영을 할 수 있습니다.

백업 방법은 무엇이 있나요?

  • 전체 백업(Full backup): 하드 디스크나 데이터베이스의 모든 파일, 폴더 또는 데이터를 한 번 복사하는 것을 의미합니다. (장점: 가장 좋은 방법으로 데이터를 빠르게 복구할 수 있습니다. 단점: 더 큰 하드 디스크 공간을 차지합니다.)
  • 차등 백업(Differential backup): 전체 백업 이후에 변경된 파일들의 백업을 의미합니다. 예를 들어, 첫 번째 날에 전체 백업을 수행하고, 두 번째 날에는 새로운 데이터의 백업을 수행하고, 세 번째 날에는 두 번째 날부터 세 번째 날까지의 변경된 데이터의 백업을 수행하고, 네 번째 날에는 두 번째 날부터 네 번째 날까지의 모든 변경된 데이터의 백업을 수행하는 방식입니다.
  • 증분 백업(Incremental backup): 마지막 전체 백업 또는 증분 백업 이후에 업데이트된 데이터의 백업을 의미합니다. 첫 번째 날에 전체 백업을 수행하고, 두 번째 날에는 증분 백업과 대조하여 추가된 데이터의 백업을 수행하는 방식입니다. 세 번째 날에는 두 번째 날을 기준으로 추가된 데이터의 백업을 수행하고, 다음 날과 같은 방식으로 계속됩니다.
  • 선택적 백업(Selective backup): 시스템의 일부를 백업하는 것을 의미합니다.
  • 핫 백업(Hot backup): 시스템이 정상적인 운영 중일 때 백업을 하는 것을 의미합니다. 시스템의 데이터가 언제든지 업데이트되므로, 백업된 데이터는 실제 시스템의 데이터와 어느 정도의 차이가 있을 수 있습니다.
  • 핫 백업: 시스템이 정상 작동 중일 때 백업하는 것을 말합니다. 백업된 데이터는 이 기간 동안 시스템의 데이터와 완전히 동일합니다.
  • 원격 백업(Remote backup): 데이터를 다른 지리적 위치에 백업하여 화재, 자연 재해, 도난 등으로 인한 데이터 손실과 서비스 중단을 방지합니다.

rsync에 관한 간단한 설명

서버에서 첫 번째 파티션을 두 번째 파티션에 백업했습니다. 이를 "로컬 백업"이라고 합니다. 구체적인 백업 도구로는 tar , dd , dump , cp 등을 사용할 수 있습니다. 이 서버에서 데이터를 백업했지만, 하드웨어가 제대로 부팅되지 않으면 데이터를 검색할 수 없습니다. 이러한 로컬 백업 문제를 해결하기 위해 "원격 백업"이라는 다른 종류의 백업을 도입했습니다.

어떤 사람들은 첫 번째 서버에서 tar 또는 cp 명령을 사용하고 scp 또는 sftp를 통해 두 번째 서버로 보낼 수 없는지 말할 것입니다.

운영 환경에서 데이터 양이 비교적 많습니다. 우선, tar 또는 cp는 많은 시간과 시스템 성능을 소비합니다. scp 또는 sftp를 통한 전송도 많은 네트워크 대역폭을 차지하므로 실제 운영 환경에서는 허용되지 않습니다. 또한, 이러한 명령이나 도구는 관리자가 수동으로 입력해야 하며, 예약 작업의 crontab과 결합해야 합니다. 그러나 crontab으로 설정된 시간은 적절하게 조정하기 어렵기 때문에, 시간이 너무 짧거나 너무 길면 데이터를 백업하는 데 적합하지 않습니다.

따라서 다음 요구 사항을 충족해야 하는 운영 환경에서 데이터 백업이 필요합니다.

  1. 네트워크를 통해 백업 전송
  2. 실시간 데이터 파일 동기화
  3. 시스템 리소스 점유 감소 및 효율성 향상

rsync는 위의 요구 사항을 충족하는 것으로 보입니다. GNU 오픈 소스 라이센스 계약을 사용합니다. 빠른 증분 백업 도구입니다. 최신 버전은 3.2.3(2020-08-06)입니다. 자세한 내용은 공식 웹사이트를 방문하세요.

플랫폼 지원 측면에서 GNU/Linux든 BSD든 대부분의 유닉스 계열 시스템이 지원됩니다. 또한 Windows 플랫폼에는 cwRsync와 같은 관련 rsync가 있습니다.

원래 rsync는 호주 프로그래머 Andrew Tridgell(아래 그림 1 참조)이 유지 관리했으며 현재는 Wayne Davison(아래 그림 2 참조)이 관리하고 있습니다. 유지 관리를 위해 github 프로젝트 주소 로 이동하여 원하는 정보를 얻을 수 있습니다.

 Andrew Tridgell  Wayne Davison

note

rsync 자체는 증분 백업 도구일 뿐이며 실시간 데이터 동기화 기능은 가지고 있지 않습니다(다른 프로그램과 보완이 필요합니다). 또한, 동기화는 단방향입니다. 양방향 동기화를 구현하려면 다른 도구와 협력해야 합니다.

기본 원리 및 특징

rsync는 효율적인 단방향 데이터 동기화 백업을 어떻게 실현하나요?

rsync의 핵심은 Checksum 알고리즘입니다. 관심이 있는 경우 Rsync 작동 방식 및 [rsync 알고리즘](https:// 자세한 내용은 rsync.samba.org/tech_report/)을 참조하십시오. 이 부분은 저자의 역량을 벗어나므로 자세히 다루지 않을 것입니다.

rsync의 특징은 다음과 같습니다.

  • 전체 디렉터리는 재귀적으로 업데이트할 수 있습니다.
  • 하드 링크, 심볼릭 링크, 소유자, 그룹, 해당 권한, 수정 시간 등 파일 동기화 속성을 선택적으로 보존할 수 있으며, 일부 속성을 보존할 수 있습니다.
  • 전송을 위해 두 가지 프로토콜을 지원합니다. 하나는 ssh 프로토콜이고, 다른 하나는 rsync 프로토콜입니다.

Author: tianci li

Contributors: Steven Spencer