intermezzo 파일시스템을 이용한 웹서버 파일 동기화 하기

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Synchronization for InterMezzo distributed filesystems

http://www.inter-mezzo.org/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

파일을 동기화 시킬 목적으로 사용할 수 있습니다. rsync처럼 수동으로 하는것이 아니라 파일이 생성되면 다른쪽 서버에 실시간으로 업데이트 됩니다.

서버에 생성이 되든 클라이언트에 파일이 삭제가 되든 간에 모든 서버에 실시간으로 동기화가 이루어 집니다. 실제 사용하는데는 문제가 있어 탈이지만…

다른분은은 업로드가 있을때 서버를 어떤 방법으로 동기화를 시키는 지요?

1) 모듈이 올라와 있지 않으면 올리도록 한다.

/sbin/modprobe -a intermezzo

2) InterMezzo는 그룹이 필요하다. 이것은 만들어 주지 않으면 make install 할때 생성 되므로 신경 쓰지 않아도 된다.

/usr/sbin/groupadd -g 4711 intermezzo

/usr/sbin/adduser intermezzo -u 4711 -g intermezzo

3) 적당한 디렉토리에 압축을 푼후 아래와 같이 실행한다.

tar xvfz intersync-0.9.5-3.tar.gz

cd intersync-0.9.5

./configure

make && make install

4) 마운트 되어 있지 아니한 파티션을 아래와 같이 수행을 한다. mount는 server,client 모두 다 해준다. 포맷이 되어 있지 않으면 반드시 -j 옵션을 주어 포맷한다.

intermezzo는 기존의 ext3 파일 시스템을 이용하는 방식 입니다.

/sbin/mke2fs -j /dev/sda3

mount -o rw -t intermezzo /dev/sda3 /intersync

5) 위는 서버 설정 아래는 클라이언트 설정 지정하는 디렉토리는 위에서 마운트 시킨 디렉토리.설정을 하고 나면 클라이언트와 서버가 포트가 다르게 뜬다.

InterSync 서버에서의 명령 :

/sbin/intersync –daemon /intersync

InterSync 클라이언트에서의 명령 :

Client: /sbin/intersync –daemon –server=123.123.123.123 /intersync/

문제점)

1) 파일이 많을 경우 아래와 같이 에러가 발생한다. 그럼 intermezzo를 사용하지 못한다.

아래는 클라이언트에서 내 밷은 메세지 이다. 테스트 한것은 30만개 정도 된다.

GLib-ERROR **: gmem.c:140: failed to allocate 1693633532 bytes

2) rsync로 intermezzo 파일시스템으로 복사 하는데 서버가 죽었다.

-> 이것은 서버가 다운 된것입니다.

참고 : intersync가 실행되지 않은 상태에서 intermezzo 마운트 시킨 디렉토리는 읽기 전용이 됩니다. intersync가 실행이 된 후에야 쓰기가 가능 합니다.

 

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.