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

원격서버와의 데이터동기화 및 복사를 위한 rsync 실무

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

원격서버와의 데이터동기화 및 복사를 위한 rsync 실무

 

 

 

rsync rcp와 같은 방법으로 원격지서버의 파일을 복사할 수 있는 유용한 유틸리티입니다.

 

 

 

 , 이 명령어는 rcp를 대체하여 사용되는 것으로서 원격백업과 데이터동기화에 사용될 수 있으며 특히 여러 대의 서버에서 rsync를 이용하여 데이터동기화를 시킨 후에 부하분산을 위한 방법으로도 사용될 수 있습니다.

 

 

 

 

 

이런 의미에서 “remote sync” 약어로 rsync라는 단어를 사용합니다.

 

 

 

 현재 많은 시스템관리자들이 원격백업과 데이터동기화를 위해 rsync 사용하고 있으며 필자 또한 간단한 쉘스크립트와 cron 이용하여 원격자동백업으로 활용하고 있습니다.

 

 

 

 특히 원격백업과 함께 미러서버(mirror server) 구축하기 위하여 rsync 필수입니다.

 

 

 

 우리는 웹서버솔루션으로 아파치웹서버(Apache Webserver) 쉽게 사용합니다.

 

 

 

 그리고 MySQL 마찬가지로 데이터베이스솔루션으로 흔히 사용하고 있습니다.

 

 

 

 이들 인기 있는 솔루션들은 거의 대부분 여러 나라에 미러서버를 두고 있습니다.

 

 

 

 쉽게 다운로드를 제공하기 위한 것입니다.

 

 

 

 이런 미러서버를 구축할 때에 원본서버(Source Server) 미러서버(Mirror Server)간의 프로토콜을 rsync 사용한다는 의미입니다.

 

 

 

 


명령어위치 : /usr/bin/rsync

 

기본 사용방법 : rsync [OPTION...] SRC... [DEST]

 

rsync가 정상적으로 실행이 되려면 /etc/services파일 내에 다음과 같은 행의 주석처리를 제거해야 합니다.

 

 

 

 물론 대부분의 경우 주석처리가 되어있지 않지만 리눅스 설치초기에 보안설정단계에서 /etc/services파일내의 불필요한 서비스에 주석처리를 해두는 경우가 많기 때문에 꼭 살펴보시기 바랍니다.

 

 

 

 

 

rsync           873/tcp                         # rsync

rsync           873/udp                         # rsync



 

그리고 만약 /etc/hosts.allow파일내의 rsyncd의 접근가능설정을 해두시기 바랍니다.

 

 

 

 

 

rsyncd : 192.168.0.100

 

위의 설정은 /etc/hosts.allow파일 내에서 rsyncd데몬에 대한 192.168.0.100에서의 접근허용을 설정한 것입니다.

 

 

 

 만약 모든 서버에서 rsyncd데몬에 의한 rsync서비스가 가능하도록 설정하려면 다음과 같이 하시기 바랍니다.

 

 

 

 

 

rsyncd : ALL

 

위와 같이 하시면 모든 서버에서 rsync를 이용한 rsyncd데몬으로의 접근이 가능하겠지만 보안적인 측면에서는 바람직하지 않습니다.

 

 

 

 따라서 가능하다면 허용할 서버에서의 접근만을 허용하도록 설정하시기 바랍니다.

 

 

 

 
 

그리고 다음과 같이 /etc/xinetd.d/디렉토리에 rsync파일의 설정을 확인하시기 바랍니다.

 

 

 

 아래의 예를 참조하여 여러분들의 서버에 설정되어 있는 내용을 확인하시기 바랍니다.

 

 

 

 불가피할 경우에는 필자와 동일하게 설정하셔도 무방합니다.

 

 

 

 

 

[root@file xinetd.d]# cat /etc/xinetd.d/rsync

service rsync

{

        disable         = no

        socket_type     = stream

        wait            = no

        user            = root

        server          = /usr/bin/rsync

        server_args     = --daemon

        log_on_failure  += USERID

}

[root@file xinetd.d]#



 

만약 /etc/xinetd.d/rsync파일을 새로 만들었거나 또는 수정하셨다면 수정된 내용의 적용을 위하여 반드시 /etc/rc.d/init.d/xinetd를 다음과 같이 재 시작하시기 바랍니다.

 

 

 

 

 

[root@ file root]# /etc/rc.d/init.d/xinetd restart

Stopping xinetd: [  OK  ]

Starting xinetd: [  OK  ]

[root@ file root]#

 

 

 

이제 rsync의 사용에 있어 가장 중요한 설정이 남아있습니다.

 

 

 

 , rsync의 설정파일인 /etc/rsyncd.conf파일입니다.

 

 

 

 

 

[root@file root]# cat /etc/rsyncd.conf

[BIBLE]

path = /backup

comment = BIBLE

uid = nobody

gid = nobody

use chroot = yes

read only = yes

hosts allow = 192.168.0.111

max connections = 10

timeout = 30

[root@file root]#

 

위의 /etc/rsyncd.conf파일을 간단히 설명하면 다음과 같습니다.

 

 

 

 , 이 설정은 rsync로 서버스될 rsync서버의 설정파일 내용입니다.

 

 

 

 

 

[BIBLE]

 

 

서비스이름. , rsyncd서버에서 서비스할 각각의 서비스이름입니다.

 

 

 

 가장 중요한 설정으로서 rsync의 서비스를 구분하는 서비스이름입니다.

 

 

 

 따라서 이 이름은 절대로 중복되어서는 안됩니다.

 

 

 

 


path = /backup

 

 

미러(mirror)될 대상 원본데이터 또는 백업 대상 데이터가 저장되어 있는 디렉토리경로입니다.

 

 

 

 또한 동기화시킬 대상 데이터가 저장된 경로를 지정하시면 됩니다.

 

 

 

 


comment = BIBLE

 

 

간단한 설명문입니다.

 

 

 

 서비스할 이름이나 서버이름 또는 대상 데이터의 성격을 가진 이름 등을 임의대로 입력하시면 됩니다.

 

 

 

 


uid = nobody

 

 

rsync로 데이터를 전송할 때의 user 명입니다.

 

 

 

 

 

gid = nobody

 

 

rsync로 데이터를 전송할 때의 group 명입니다.

 

 

 

 


use chroot = yes

 

 

path에서 설정한 경로를 루트경로로 사용할 것인가(yes) 말것인가(no)를 결정합니다.

 

 

 

 보안을 위해 꼭 yes로 설정할 것을 권해드립니다.

 

 

 

 


read only = yes

 

 

대상서버에 write를 허용하시려면 no로 설정하십시오. , 미러 원본서버 또는 백업서버에서 미러서버 또는 백업대상서버로 데이터를 가져가기만 하므로 일반적으로는 read only만 설정하면 되기 때문에 yes로 설정하시면 됩니다.

 

 

 

 보안을 위해서 yes로 설정할 것을 권해드립니다.

 

 

 

 


hosts allow = 192.168.0.111

 

 

rsync로 접근 허용할 서버의 IP주소입니다.

 

 

 

 현재서버로 rsync접근한 서버의 IP주소를 입력하시면 됩니다.

 

 

 

 , rsync클라이언트의 IP주소입니다.

 

 

 

 


max connections = 10

 

 

rsync로 동시에 접속할 수 있는 동시접속자 수입니다.

 

 

 

 


timeout = 30

 

 

rsync로 접속한 후에 타임아웃 할 초단위 시간입니다.

 

 

 

 , 여기서 지정한 시간 동안 아무런 작업이 없을 경우에는 연결을 종료시키게 됩니다.

 

 

 

 

 

이상과 같이 rsync가 정상적으로 실행되기 위한 서버내부의 여러 가지 설정사항들에 대해서 살펴보았습니다.

 

 

 

 이제부터 rsync를 이용한 원격미러서버 사용방법 또는 원격데이터 백업방법 등에 대해서 알아보겠습니다.

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,064 명
  • 현재 강좌수 :  35,963 개
  • 현재 접속자 :  227 명