lsync와 rsync의 원리를 알고 싶습니다..

MADENG의 이미지

개념이 안잡히는거 같아서 질문해 봅니다.

lsync같은 경우는

리눅스 커널의 inotify로 파일시스템의 변경사항을 체크한다.
inotify는 리눅스 커널에 포함된 기능으로, 파일시스템에 변경사항이 발생할 때 이벤트를 통보해준다.라고 되어 있는데

원본 서버에 파일이 바뀌거나 수정됨 -> inotify 가 수정되거나 파일이 바뀐것을 확인 통보한다

-> lsync 가 뭐가 바뀌었으니 (백업서버들)너희들이 rsync를 써서 동기화 갱신시켜라....이건가요? 아니면

-> lsync 가 뭐가 바뀌었으니(자기자신)에 설치 되어 있는 rsync 에게 바뀐거나 갱신된거 (백업서버)들에게 때려박아 동기화시켜라 이런건가요?

아니면 lsync가 (자기자신)에 설치 되어 있는 rsync 에게 난 rsync 널 호출만 할테니 너는 내가 호출 할때 마다(백업서버들)에게 바뀐내용을 알아서 보 내줘 이런건가요?

rsync는 모르겠어요 ;ㅅ;

백연구원의 이미지

rsync는 client mode와 server mode (데몬 형태)로 제공됩니다.

마스터 - 슬레이브 구조로 운영 될 때
마스터에 파일 변경이 발생하면 lsync는 로컬에 있는 rsync를 실행(client mnode)해서 슬레이브의 rsync(server mode)와 연동되도록 동작됩니다.

결국 마스터에서 슬레이브로 파일을 밀어주는 구조입니다.


소곤소곤

MADENG의 이미지

2일동안 그리고 지금까지 헛발짓하면 내가 정말 머리를 쓰고있나 하는 생각이 들정도로 멘붕이었는데 답변주셔서 감사합니다 ;ㅅ;

lsync가 yum으로 안깔려서 해매다가 어찌어찌 깔았는데 start는 안되고 journalctl -xe 를 들어가 봣는데 뭐가 뭔지 모르겠고...(centos 7)

원본파일은 lsync고 백업은 rsync다 머다해서 따라는 해봣는데 뭔지조차 모른체 계속 멘붕상태네요..

(centos6)

vim /etc/lsyncd.conf

settings = {
2 logfile = "/var/log/lsyncd.log",
3 statusFile = "/var/log/lsyncd-status.log",
4 }
5
6 sync{
7 default.rsync,
8 source= "/var/www/html/",
9 rsyncOpts="-av",
10 target= "192.168.11.211::webserver2",
11 }
12
13 sync{
14 default.rsync,
15 source= "/var/www/html/",
16 rsyncOpts="-av",
17 target= "192.168.11.212::webserver3",
18 }

(centos7)

vi /etc/rsyncd.conf

# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

[webserver2]
path = /var/www/html
host allow = 192.168.11.210,192.168.11.212
uid = 0
gid = 0
use chroot = yes
read only = no
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

# [ftp]
# path = /home/ftp
# comment = ftp export area

따라는 하고는 있지만 지금 뇌가 백지상태인데 머리는 아픈거 같고 허허허허허

김정균의 이미지

lsyncd는 커널의 inotify 정로를 이용하여 실시간으로 변경된 파일을 감지하여 slave server로 전송을 하는 데몬 입니다.
이 lsyncd를 사용할 때, slave server에서는 lsyncd가 아니라 rsyncd 가 떠 있으면 된다는 의미 입니다.

즉, 원본 서버 쪽에서는 lsyncd가 떠 있으면 되고, 복제 서버 쪽에서는 rsyncd 가 떠 있으면 된다는 의미입니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.