Lsyncd 양방향 동기화
NFS 서버를 이용하지 않고, Lsync를 이용하여 각자의 서버에 data를 저장하고 동기화 할 수 있습니다.
각각의 서버가 로컬에 있는 데이터를 바라보기 때문에, 어떤 면에서는 조금 더 안전할 수도 있겠네요.
NFS 서버가 죽어버리면 모든 client 서버들이 바라보는 공유 디렉토리가 umount 되게 되니까요.
그렇다고 lsync가 모든 면에서 더 좋은 것은 아닙니다.
두 개의 차이를 확인하시고 맞는 방법으로 운영 하시면 됩니다.
서버1 (IP : 000.000.000.000 )
서버2 (IP : 111.111.111.111 )
1. 설치
서버1, 서버2
#yum install epel-release –y
#yum install lsyncd lua rsync
동기화 할 양 서버 간 ssh 접속이 패스워드 없이 가능해야 하기 때문에 아래 작업을 진행합니다.
서버1
#ssh-keygen
모두 enter
#ssh-copy-id –p 22 root@111.111.111.111
#ssh root@111.111.111.111 ( ssh 접속 확인 )
서버2
#ssh-keygen
모두 enter
#cat ./.ssh/id_rsa.pub | ssh –p 22 root@000.000.000.000 “mkdir –p ~/.ssh && cat >> ~/.ssh/authorized_keys”
#ssh root@000.000.000.000. ( ssh 접속 확인 )
서버1
#vi /etc/lsyncd.conf
( default로 들어가 있는 설정은 삭제 )
settings {
logfile=”/var/log/lsyncd.log”,
statusFile=”/var/log/lsyncd-status.log”
}
sync {
default.rsyncssh,
source=”/data”,
host=”서버2 IP”,
targetdir=”/data”,
delay=1,
delete=true
}
:wq
source : 서버1의 공유 할 디렉토리
targetdir : 서버2의 공유 할 디렉토리
deley : 동기화 딜레이 시간
delete : 삭제 공유
서버2
#vi /etc/lsyncd.conf
( default로 들어가 있는 설정은 삭제 )
settings {
logfile=”/var/log/lsyncd.log”,
statusFile=”/var/log/lsyncd-status.log”
}
sync {
default.rsyncssh,
source=”/data”,
host=”서버1 IP”,
targetdir=”/data”,
delay=1,
delete=true
}
:wq
서버1, 서버2
#systemctl start lsyncd
#systemctl enable lsyncd
각각의 서버의 /data 에 파일 생성 및 삭제해보면서 동기화가 정상적으로 이루어지는지 테스트해봅니다.
그 외에 여러 가지 옵션들이 있는데, 옵션은 상황에 맞게 설정 하시면 됩니다.
exclude , ssh, rsync(archive, compress, verbose) 등..
sync { } 안쪽에 작성해주시면 됩니다.
옵션 예제
exclude = {
‘/디렉토리’,
‘/디렉토리1’
},
제외 할 디렉토리를 넣는 설정입니다.
ssh = {
port = xxxx
},
포트를 변경 할 때 사용합니다.
rsync = {
archive= true,
compress= false,
verbose= false
}
archive 는 소유권까지 동일하게 동기화 되는 것이고, compress는 압축 실행 여부, verbose는 로그를 상세히 기록하는 옵션입니다.
'System engineer' 카테고리의 다른 글
Apache 웹 서버 설치와 기본설정. php 사용 (0) | 2019.06.11 |
---|---|
Megaraid_Raid 구성 확인 기본 커맨드( Rhel 리눅스 Cli 환경 ) (0) | 2019.06.11 |
CentOS7 NFS 서버 마운트, 데이터 동기화 (0) | 2019.06.03 |
리눅스 파일 소유권 및 파일 권한 간단하게 정리!! (0) | 2019.05.31 |
CentOS script 기초_계산하기 (0) | 2019.05.27 |