ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 배포서버 구축 (1)
    Linux 2020. 9. 5. 20:53

    Lsync, Rsync를 이용한 실시간 동기화 서버 구축

     

    Sync

    Lsync (Live Syncing Deamon)은 Master서버에서 파일 또는 디렉토리가 변경 사항이 있으면 Slave 서버로 파일 또는 디렉토리가 동기화 되며, 이때 rsync와 ssh를 사용한다.

     

    Rsync (Remote Synchronization)은 Local과 Remote의 데이터 동기화를 위한 유틸리티이며, 장점으로 네트워크 대역폭을 최소화하는 델타 인코딩 알고리즘을 사용하여 변경이 일어난 부분만 전송하므로 빠르고 효율적으로 데이터를 동기화 및 복제 가능하다.

     

     

    테스트 환경

    • 서버 구성: MasterA, SlaveB, SlaveC
    • 동기화 방향: A -> B,C (일방향 동기화)

    요구 사항

    • rsync libxml2 libxml2-devel (rsync와 libxml2는 기본적으로 설치 되어 있음, libxml2-devel는 설치가 안되어 있으므로 설치 진행한다.)

    설치 과정

    Step1: 설치 및 확인

    Master A서버, Slave B C 서버에서 아래 명령어로 설치

    (rsync, libxml2는 기본 설치 되어 있으므로 업데이트 혹은 latest version라고 출력된다)

    # yum -y install libxml2 libxml2-devel rsync

    Master A서버에 아래 명령어로 설치

    # yum -y install epel-release –y (기본 저장소에서 lsyncd 패키지를 사용 할 수 없으므로 epel repo를 추가하여 활성화 한다)
    # yum install lua lua-devel pkgconfig gcc asciidoc (종속 패키지)
    # yum -y install lsyncd

    설치 확인

    # rpm -qa | grep "rsync\|libxml2\|libxml2-*"
    # rpm -qa | grep "lua\|lua-devel\|pkgconfig\|gcc\|asciidoc\|lsyncd"

     

    Step2: ssh keygen 작업 (생성 및 복제)

    Master Slave 서버 간의 기반 인증을 사용하기 위하여 Master서버에 로그인 ssh-keygen 사용하여 공개 키와 개인 키를 생성한다.

    이후 ssh-copy-id 명령을 사용하여 공개 Slave 서버로 복사한다. 복사를 하게 되면 Master에서 Slave 서버로ㄴㄴ 암호 없이 shell상에서 ssh접근이 가능하다.

    (방화벽에서 포트 오픈해야함)
    (Slave1로 복제)
    (Slave2로 복제)
    (접속 테스트)

     

    Step3: Lsyncd configuration 파일 설정

    샘플 파일을 /etc/lsyncd.conf 복사한다.

    # cp /usr/share/doc/lsyncd-2.2.2/examples/lrsync.lua /etc/lsyncd.conf

     

    설정을 위해 수정한다.

    # vi /etc/lsyncd.conf

    (source위치를 /data가 아닌 /var/www/html/data로 수정하자)

     

    Step4: 서비스 시작

    설정이 완료 되었다면, 시스템이 재부팅(reboot) 사용하도록 설정을 하고 서비스를 시작한다.

    # systemctl start lsyncd
    # systemctl status lsyncd
    # systemctl enable lsyncd

     

    Step5: 로그 확인

    # cat /var/log/lsyncd.log

     

    Step6: 동기화 확인

    Slave B, C /data 디렉토리로 동기화 되는지 확인

    Master 서버의 동기화 디렉토리와 용량이 일치하는지 여부도 확인

    # du -sch /data
    

    'Linux' 카테고리의 다른 글

    ubuntu mirror server 구축  (1) 2020.09.16
    배포서버 구축 (2)  (0) 2020.09.05
    기존 디스크 확장하여 LVM 구성 (2)  (0) 2020.09.05
    디스크 추가하여 LVM 구성 (1)  (0) 2020.09.05
    SVN, HTTP, LDAP 모두 연동  (0) 2020.04.16

    댓글

Designed by Tistory.