리눅스 서버 양방향 동기화 질문드립니다.

qwepoi123의 이미지

웹서버 두대로 로드밸런싱 작업을 할려고합니다.

이미지나 파일 등록시 각각의 서버에서 업로드가 되는데... 이경우 rsync로는 동기화가 불가능한가요?

A서버에서 업로드 되는 파일과, B서버에서 업로드 되는 파일을 서로 양방향으로 동기화 시켜 줘야 될것 같은데...
만약 이 경우 양방향 동기화가 필요 하다면, 최근파일을 우선으로 A서버에서 B서버로 rsync 동기화 또 B서버에서 A서버로 rsync 동기화
가능 한가요?

아니면, 양방향 동기화 프로그램을 설치 해야되나요?
찾아봐도 rsync이외에 unison인가? 양방향 동기화 프로그램이 있다고는 하는데 자료도 없고, 사용해봤다는 사람들도 없는데...

보통 어떻게 동기화 작업을 해주시나요?

junilove의 이미지

업로드 경로를 nfs로 마운트 해서 쓰면 안될까요...?

다즐링의 이미지

양방향 동기화는 힘듭니다. -_-;;

업로드시 복사를 해주거나 nfs 를 쓰시거나 배포써버에 밀어넣어버리는 식으로 해야합니다.

------------------------------------------------------------------------------------------------
Life is in 다즐링

------------------------------------------------------------------------------------------------
Life is in 다즐링

seotk79의 이미지

# 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

trim703의 이미지

결론부터 말씀드리자면 '현실적으로 불가능하다'라고 말씀드리고 싶습니다.

rsync를 쓴다면 시간 단위로 동기화를 시도하게 되는데 첫번째 동기화 시도가 끝나기도 전에 재차 동기화를 시도하게 되는 엉뚱한 시츄에이션이 생길 수 있기 때문이죠. 시스템 부하 엄청나게 올라갈 겁니다.

3대의 웹서버로 부하분산 시스템을 구축한다고 하겠습니다. 이 중 하나의 서버를 웹서버 뿐만 아니라 NFS서버로도 구축해서 다른 2개의 서버는 NFS 클라이언트가 되어 NFS서버의 데이터 저장 영역을 마운트로 불러들여와 세팅합니다. 이렇게 하면 DNS 라운드로빈 등으로 부하분산 시스템을 구축했을 경우 유저들이 어떤 서버로 접속하든 간에 데이터는 NFS서버에 저장된 데이터영역을 보게 되는 겁니다.

그만큼 NFS서버로 돌아가는 웹서버는 장애에 철저히 대비한 세팅이 이루어져야 하죠. 하드웨어 레이드5 정도는 기본으로 세팅되어야 할 것입니다.

MySQL의 경우는 리플리케이션을 쓰면 되겠습니다. 반드시 최신버전에 가까운 버전을 써야 보다 더 안정적인 리플리케이션을 기대할 수 있겠습니다. 마스터에서 DB 데이터 갱신이 일어나면 슬레이브에서 자동 감지하고 실시간으로 반영하니 일반 데이터보단 동기화가 한결 더 수월합니다.

익명 사용자의 이미지

unison 쓰면 잘 되네요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.