3번 부터

작성자 정보

  • 작성자 관리자
  • 작성일

컨텐츠 정보

본문

1. Rsync 및 Lsyncd 설치
먼저, 양쪽 서버에 Rsync와 Lsyncd를 설치해야 합니다.
bash
sudo apt-get update
sudo apt-get install rsync lsyncd

2. SSH 키 설정
Rsync는 SSH를 통해 데이터를 전송하므로, 서버1에서 서버2로 비밀번호 없이 접속할 수 있도록 SSH 키를 설정합니다.
서버1에서 SSH 키 생성:
bash
ssh-keygen -t rsa

서버2에 공개 키 복사:
bash
ssh-copy-id user@서버2_IP

SSH 접속 테스트:
bash
ssh user@서버2_IP

비밀번호 없이 접속이 가능해야 합니다.
3. Lsyncd 설정
Lsyncd는 Rsync를 기반으로 실시간 파일 동기화를 관리합니다. /etc/lsyncd/lsyncd.conf.lua 파일을 생성하여 설정합니다.
bash
sudo mkdir /etc/lsyncd
sudo vim /etc/lsyncd/lsyncd.conf.lua

다음과 같은 내용을 추가합니다:
lua
settings {
    logfile = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd-status.log",
    statusInterval = 20,
}

sync {
    default.rsyncssh,
    source = "/path/to/source",  -- 서버1의 동기화할 디렉토리
    host = "user@서버2_IP",
    targetdir = "/path/to/destination",  -- 서버2의 저장할 디렉토리
    delay = 1,  -- 변경 사항을 감지하고 동기화하는 지연 시간(초)
    rsync = {
        archive = true,
        compress = true,
        verbose = true,
        _extra = {"--bwlimit=2048"},  -- 대역폭 제한 (선택 사항)
        rsh = "ssh -i /home/user/.ssh/id_rsa -o StrictHostKeyChecking=no"
    }
}

source: 서버1에서 동기화할 디렉토리 경로.
targetdir: 서버2에서 데이터를 저장할 디렉토리 경로.
delay: 변경 사항을 감지하고 동기화하는 시간 간격(초 단위).
rsync 옵션에서 archive는 파일 속성을 유지하며, compress는 전송 중 데이터를 압축합니다.
4. Lsyncd 서비스 시작 및 자동 실행 설정
설정을 완료한 후 Lsyncd 서비스를 시작하고 부팅 시 자동으로 실행되도록 설정합니다.
bash
sudo systemctl start lsyncd
sudo systemctl enable lsyncd

5. 로그 확인 및 테스트
Lsyncd가 제대로 작동하는지 로그를 통해 확인할 수 있습니다.
bash
tail -f /var/log/lsyncd.log

서버1의 동기화 디렉토리에 파일을 추가하거나 수정한 후, 서버2에서 해당 파일이 제대로 동기화되었는지 확인해보세요.
요약
Rsync는 파일을 효율적으로 동기화하는 도구이며, Lsyncd는 Rsync를 실시간으로 실행하여 변경 사항을 자동으로 반영합니다.
SSH 키 인증을 설정하여 비밀번호 없이 원활하게 데이터 전송이 가능하도록 합니다.
Lsyncd 설정 파일을 통해 실시간 동기화를 구성한 후, 서비스를 시작하여 두 서버 간의 데이터를 실시간으로 백업할 수 있습니다.
이 방법은 간단하면서도 강력한 실시간 백업 솔루션입니다

관련자료

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