본문 바로가기

04. Secure/iii. backup

Rsync를 이용한 Backup 구축 가이드

1. 시작하며


Rsync로 구현하는 백업 서버 구축방법과 Rsync client방법에 대해서 설명한다.
Rsync구하는곳
http://rsync.samba.org/ftp/rsync
 
로컬백업
 
네트워크 백업
Rsync에는 ssh나 rcp(873)를 사용하는 백업방법과, xinetd를 사용하는 백업하는 방법 두가지가 존재한다

1. 구성도
 
Server 1                Server 2               Server3
      |                        |                          |
       ------------------------------------
                                |
                        Backup Server (100)
 
위처럼 구성을 하고 있을때 Rsync서버는 Backup Server에는 실제 서버들을 백업한 정보가 남게 되어지고, Server들에는 xinetd 의 rsync가 구성이 되어진다.
 
2. /etc/xinetd.d/rsync 설정 (각 서버에 모두 설정필요 : xinetd로 실행되어진다면)
service rsync
{
             disable = no # 주의사항: 꼭 NO로 되있어야지 활성화가 되어진다
             socket_type = stream
             wait = no
             user = root
             server = /usr/local/bin/rsync #실제 rsync설치 경로)
             server_args = --daemon
             log_on_failure += USERID
}
3. /etc/rsyncd.conf (실제 rsync설정파일) [server 1 : 백업서버대상]
[Server1]
path = /backup # 백업대상 데이터가 저장된 절대 경로
comment = Server1 # 설명문 (각 서버마다 중복이 혀용되어집니다)
uid=nobody #데이터 전송할때의 UID
gid=nobody #데이터 전송할때의 GID
use chroot=yes #path에서 설정한 경로를 root로 사용함
read only=yes # 백업서버이기때문에 가급적 read only설정
hosts allow=192.168.0.100 #백업서버 - 백업 대상을 의미 : realIP 설정
max connections=10 # 동시접속수 0은 무한대를 의미
timeout 300
 
4. 백업서버 (100 아이피)에서 rsync실행 방법
rsync -avz 192.168.0.1::Server1/ /home/backup/Server1 #Server1를 백업
rsync -avz 192.168.0.1::Server2/ /home/backup/Server2 #Server2를 백업
# args 설명 : a : achive mode 기존 속성 및 퍼미션, 소유권등 설정내용 그대로 유지
                   v : log mode = Verbose
                   z : 전송속도의 효율을 위해서 압축후 수행
                  --delete : 백업서버에 없는내용은 그대로 삭제 해버림


미러링 서버는 특정 환경을 구축해두고 좀더 빠른 데이터 전송이나, 서버의 부하를 줄이고자 하는 목적
 
1. 원본서버
2. 미러링 서버
 
원본서버에서 주기적으로 데이터의 변환이 생기고, 미러링 서버는 원본서버를 주기적으로 체크하여 데이터를 동기화 한다.
 
1. /etc/xinet.d/rsync && /etc/rsyncd.conf 확인 (원격지백업 페이지 참조)
2. crond에 설정
* 1 * * * su - root -c '/root/mirror_sync.sh
 
3. mirror_sync.sh
#/bin/bash
rysnc -avz --delete 원본서버IP::경로/ 미러링서버의절대 경로




Rsync만 잘 활용을 하여도 백업서버를 별도로 구축 운영할 필요가 없을정도로 잘 되어져 있고, 실제 많은곳에서도 사용이 되어지고 있다.


아...그리고, rsync를 local -> local시에는 특별한 세팅이 필요 없습니다.
rsync -avz /source /target 만 하면 되어집니다...