강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

원격 미러서버구축을 위한 rsync 사용방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

원격 미러서버구축을 위한 rsync 사용방법

 

 

 

지금까지 우리는 rsync 정상 수행되기 위하여 어떤 설정들을 해야하는가에 대해서 알아보았습니다.

 

 

 

 그리고 rsync 이용하여 원격의 데이터를 어떻게 백업할 있는가에 대해서도 배웠습니다.

 

 

 

 이번에는 rsync 개발의  주목적이었던 데이터 동기화를 통한 원격 미러서버 수행방법에 대해서 알아보겠습니다.

 

 

 

 

 

여기서 잠깐 원본소스서버와 미러링서버의 개념정리가 필요할 같습니다.

 

 

 

 

 

원본소스서버(Source Server) 그대로 원본 소스데이터를 보관하고 있는 서버로서 수많은 미러서버(Mirror Server)들에게 데이터 접근(다운로드) 허용하고 원본데이터를 제공하는 서버를 의미합니다.

 

 

 

 특별한 경우를 제외한다면 원본소스서버는 거의 1대만 존재합니다.

 

 

 

 

 

미러서버(Mirror Server) 원본소스서버에서 가져온 데이터를 보관하고 있는 서버로서 지역(또는 국가) 데이터 요구자 들에게 다운로드 등을 제공하는 서버를 의미합니다.

 

 

 

 주기적으로 원본소스서버로부터 데이터를 동기화하여 새로운 데이터나 변경된 내용이 있을 경우에 소스서버로부터 데이터를 가져와서 자신의 데이터를 갱신하게 됩니다 .

 

 

 

, 그럼 미러서버의 실행방법 예를 위하여 다음과 같이 가정하도록 하겠습니다.

 

 

 

 

 

원본소스서버는 IP주소가 192.168.0.202이며, 원본소스데이터는 /var/ftp/pub 존재합니다.

 

 

 

 

 

그리고 미러서버는 IP주소가 192.168.0.211이며 주기적으로 원본소스서버의 /var/ftp/pub디렉토리로부터 데이터를 확인하고 필요할 경우에 가져와서 자신의 /var/ftp/pub 디렉토리에 있는 데이터를 갱신합니다.

 

 

 

 원본소스서버가 거의 1대로 존재하는 반면 미러서버는 필요할 경우에 여러 대로 존재합니다.

 

 

 

 심지어 100 이상 미러서버가 존재할 수도 있습니다.

 

 

 

 

 

, 데이터의 업데이트 또는 데이터 흐름방향은 원본소스서버의 데이터가 계속 바뀌어도 미러서버에서 주기적으로 자동 동기화되므로 소스서버의 /var/ftp/pub데이터와 미러서버의 /var/ftp/pub 데이터는 모두 동일한 데이터를 갖게 됩니다.

 

 

 

 

 

, 이제 rsync명령어를 실행하여 원본소스서버의 /var/ftp/pub디렉토리내의 파일들과 미러링서버의 /var/ftp/pub디렉토리의 파일들이 동기화 것을 확인한 것입니다.

 

 

 

 


ceca73c14f15ad20fa37637a394ca772_1684115240_0424.png


위의 rsync명령문을 간단히 설명하면 다음과 같습니다.

 

 

 

 

rsync            : rsync명령어

-avz             : rsync 옵션(아래 설명 참조)

192.168.0.202    : 원본소스서버의 IP주소

SUPERUSER     : 원본소스서버의 /etc/rsyncd.conf파일내의 rsync서비스구분자와 이름이어야 .

/var/ftp/pub      : 원본소스서버의 파일들과 동기화될 미러서버의 위치

 

위의 사용옵션의 의미는 다음과 같습니다.

 

 

 

 

 

-a : achive mode로서 기존의 속성및 퍼미션, 소유권 등의 설정내용을 그대로 유지.

 

-v : verbose mode로서 작업내용을 상세하게 보여줌.

 

-z : 전송속도를 높이기 위해 압축수행 전송을 .

 

 

그리고 다음은 미러서버의 /var/ftp/pub디렉토리의 내용을 확인한 것입니다.

 

 

 

 


ceca73c14f15ad20fa37637a394ca772_1684115257_4759.png

 

 

 

위와 같이 rsync 명령어 실행이 정상적으로 수행됨을 확인하였습니다.

 

 

 

 

 

만약 필요할 경우에 주기적으로 원본소스서버에서 데이터를 자동으로 가져와 갱신할 있도록 다음과 같은 cron설정을 해두시면 됩니다.

 

 

 

 , 다음 예는 10분에 한번씩 원본소스서버에서 새로운 또는 변경된 데이터를 가져와서 자동 갱신하는 rsync 실행을 위한 cron설정입니다.

 

 

 

 

 

00,10,20,30,40,50 * * * * su - root -c '/root/ftp_mirror.sh' >& /dev/null

 

그리고 다음 예는 5분에 한번씩 원본소스서버에서 새로운 또는 변경된 데이터를 가져와서 자동 갱신하는 rsync 실행을 위한 cron설정입니다.

 

 

 

 , 5분에 한번씩 데이터를 확인하여 동기화하게 됩니다.

 

 

 

 

 

00,05,10,15,20,25,30,35,40,45,50,55 * * * * su - root -c '/root/ftp_mirror.sh' >& /dev/null

 

 

 

이상으로 rsync 대한 여러 가지 활용방법들에 대해서 알아보았습니다.

 

 

 

 rsync 데이터를 분산 제공하거나 원격백업서버를 구축할 때에 매우 유용한 도구가 있습니다.

 

 

 

 특히 원격 백업서버를 구축하는 경우에는 매번 모든 데이터를 백업하는 것이 아니라 변경되거나 새로운 데이터만을 가져오므로 트래픽을 효율적으로 사용하는 백업방법이 수도 있습니다.

 

 

 

 

 

 필요하신 분들은 활용하시기 바랍니다.


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,056 명
  • 현재 강좌수 :  35,908 개
  • 현재 접속자 :  217 명