리눅스 서버 양방향 동기화 질문드립니다.
글쓴이: qwepoi123 / 작성시간: 월, 2009/06/08 - 11:21오후
웹서버 두대로 로드밸런싱 작업을 할려고합니다.
이미지나 파일 등록시 각각의 서버에서 업로드가 되는데... 이경우 rsync로는 동기화가 불가능한가요?
A서버에서 업로드 되는 파일과, B서버에서 업로드 되는 파일을 서로 양방향으로 동기화 시켜 줘야 될것 같은데...
만약 이 경우 양방향 동기화가 필요 하다면, 최근파일을 우선으로 A서버에서 B서버로 rsync 동기화 또 B서버에서 A서버로 rsync 동기화
가능 한가요?
아니면, 양방향 동기화 프로그램을 설치 해야되나요?
찾아봐도 rsync이외에 unison인가? 양방향 동기화 프로그램이 있다고는 하는데 자료도 없고, 사용해봤다는 사람들도 없는데...
보통 어떻게 동기화 작업을 해주시나요?
Forums:
업로드 경로를 nfs로
업로드 경로를 nfs로 마운트 해서 쓰면 안될까요...?
양방향 동기화는
양방향 동기화는 힘듭니다. -_-;;
업로드시 복사를 해주거나 nfs 를 쓰시거나 배포써버에 밀어넣어버리는 식으로 해야합니다.
------------------------------------------------------------------------------------------------
Life is in 다즐링
------------------------------------------------------------------------------------------------
Life is in 다즐링
rsync + ssh 접속 기능을 이용해서.. 하면 될거 같기도 한데요..
# ssh-kegen
으로 상대방의 서버에 로그인 작업 필요 없이 접속가능하게 해놓고 한쪽 서버에서
# rsync -e "ssh -l logon_ip -p 22" -rlptDv --progress /tmp/aa serv_ip:/tmp/bb
# rsync -e "ssh -l logon_ip -p 22" -rlptDv --progress serv_ip:/tmp/bb /tmp/aa
위 두 커맨드로 해당 서버의 IP로 접속을 해서 서로 동기화를 시키면 안될까요..???
한번은 내 폴드를 serv_ip의 폴드로 동기화, 다시 반대로 서버의 폴드를 내 폴드로 동기화..
cron 같은데 등록해서 사용해도 되구요..
PS: rsync에 사용되는 옵션은 확인해보고 하세요.. -> -rlptDv
결론부터
결론부터 말씀드리자면 '현실적으로 불가능하다'라고 말씀드리고 싶습니다.
rsync를 쓴다면 시간 단위로 동기화를 시도하게 되는데 첫번째 동기화 시도가 끝나기도 전에 재차 동기화를 시도하게 되는 엉뚱한 시츄에이션이 생길 수 있기 때문이죠. 시스템 부하 엄청나게 올라갈 겁니다.
3대의 웹서버로 부하분산 시스템을 구축한다고 하겠습니다. 이 중 하나의 서버를 웹서버 뿐만 아니라 NFS서버로도 구축해서 다른 2개의 서버는 NFS 클라이언트가 되어 NFS서버의 데이터 저장 영역을 마운트로 불러들여와 세팅합니다. 이렇게 하면 DNS 라운드로빈 등으로 부하분산 시스템을 구축했을 경우 유저들이 어떤 서버로 접속하든 간에 데이터는 NFS서버에 저장된 데이터영역을 보게 되는 겁니다.
그만큼 NFS서버로 돌아가는 웹서버는 장애에 철저히 대비한 세팅이 이루어져야 하죠. 하드웨어 레이드5 정도는 기본으로 세팅되어야 할 것입니다.
MySQL의 경우는 리플리케이션을 쓰면 되겠습니다. 반드시 최신버전에 가까운 버전을 써야 보다 더 안정적인 리플리케이션을 기대할 수 있겠습니다. 마스터에서 DB 데이터 갱신이 일어나면 슬레이브에서 자동 감지하고 실시간으로 반영하니 일반 데이터보단 동기화가 한결 더 수월합니다.
unison 쓰면 잘 되네요
unison 쓰면 잘 되네요
댓글 달기