메뉴 건너뛰기

Karma's Place

로그인하지 않고 댓글을 달 수 있습니다. 하지만 본사이트의 취지에 맞지않는 댓글은 예고없이 삭제될 수 있습니다.
조회 수 346 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

홈페이지 트래픽을 분산시키기위해서 이미지서버들을 많이 설치한다.

https://blog.lael.be/post/7605

라엘님의 블로그에 보면 자세히 설명되어있고 설치도 가능하다.

이 방법은 캐시를 사용하기 때문에 요청이 들어오면 화일을 서버로부터 넘겨받아서 캐시서버에 저장하고 뿌려주는 기능을 한다.

이경우는 요청이 없으면 저장이 되지 않기 때문에 백업의 기능을 수행하는데는 무리가 있다.

내가 사용하는 lsyncd의 경우에는 실시간으로 데이터를 복사하기 때문에 서버의 원본과 동일본을 유지하기 때문에 백업기능까지 수행할 수 있다.

다만 대량의 이미지와 화일을 저장해야하기 때문에 디스크 공간이 넉넉한 서버가 하나 있어야한다. 유료서버를 사용하는 경우 디스크용량과 트래픽의 이중부담이 있으니 쉬운 선택은 아니다.

내경우 버리는 노트북에 리눅스를 깔고 가정용 인터넷의 공유기 뒤에 물려서 도메인을 걸어서 사용하고 있다.

https://soonj.net/relfeed/369359 참조

 

실제 이방법은 네트워크 비용도 추가로 들지 않고 관리도 용이하다.

일반 HDD를 사용해도 되지만 반응속도를 빠르게 하기 위해서는 SSD를 추천하다.

버리는 노트북을 당근에서 5만원에 구입해서 놀고 있던 500G SSD를 장착해서 수년째 아무런 문제 없이 사용하고 있다. 

 

기존의 rsync는 클라이언트에서 서버에 화일을 요청해서 가져가는 방식이라면

lsyncd는 서버에서 클라이언트인 백업서버로 화일을 보내는 것이 큰 차이점이라 할 수 있다.

 

서버설정부터 시작하자.

sudo dnf install -y lsyncd

sudo systemctl --now enable lsyncd.service

 

설치가 끝나면 sudo vi /etc/lsyncd.conf 로 설정을 잡아주면 된다.

하지만 설정을 시작하기 전에 먼저 해결해야하는 문제가 하나있다.

key를 이용한 SSH로그인이다.


먼저 ssh key를 생성하자.

roort# ssh-keygen -t rsa

실행되면 엔터만 3번 쳐주면 된다.

/root/.ssh//id_rsa.pub 에 보면 키가 생성되어 있을 것이다.

이키를 복사해서 백업서버의 /root/.ssh/authorized_keys 에 입력해주면 된다.

 

더 간단한 방법은

ssh-copy-id -i ~/.ssh/id_rsa.pub root@백업서버주소 -p 22

로 입력이 가능하다.

이경우 서버에 root 로그인이 가능해야하고 처음 접속인 만큼 비밀번호를 입력해주면

/root/.ssh/authorized_keys 에 생성된 키가 자동으로 입력된다.

 

먼저 ssh로 백업서버에 key접속이 잘 되는지 확인하자

ssh root@서버 -p 22
패스워드를 물어보지 않고 바로 로그인이 된다면 성공!!

 

 

클라이언트인 백업서버로 가서 설정을 하자.

클라이언트에는 rsyncd가 동작하고 있어야한다.

sudo dnf install rsync-daemon

sudo systemctl start rsyncd

sudo systemctl enable rsyncd.service

 

별도로 /etc/rsyncd.conf는 건드릴 필요 없다.

다만 데이터를 저장할 폴더를 만들로 퍼미션을 조정해줘야하고 key를 생성해서 패스워드 없이 접속이 가능하게 만들어줘야한다.

특정폴더에 권한을 가진 사용자로 해도 되지만

내경우 워낙 많은 여러종류의 데이터들을 바로바로 이용하게 하기 위해서 root 권한으로 실행을 했다.

 

다시 서버로 돌아와서

 

 

이제 본격적으로 서버의 lsyncd를 설정해보자

sudo vi /etc/lsyncd.conf

----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
-- For more examples, see /usr/share/doc/lsyncd*/examples/
--
-- sync{default.rsyncssh, source="/var/www/html", host="localhost", targetdir="/tmp/htmlcopy/"}

settings {
        logfile = "/var/log/lsyncd/lsyncd.log",
        statusFile = "/var/log/lsyncd/lsyncd-status.log",
        statusInterval = 20
    }

sync {
    default.rsync,
    source="/home/workingfiles/ServerWorkingfile/attach",
    target="1번백업서버주소:/var/backup/ServerWorkingfile/attach",
    delay = 1,
    rsync = {
        compress = true,
        acls = true,
        verbose = true,
        rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no" }
}
sync {
    default.rsync,
    source="/home/workingfiles/ServerWorkingfile/attach",
    target="2번백업서버주소:/var/backup/ServerWorkingfile/attach",
    delay = 1,
    rsync = {
        compress = true,
        acls = true,
        verbose = true,
        rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no" }
}

 

위의 내용처럼 여러개의 서버에 동시로 데이터를 보낼수 있다.

ssh를 이용한 rsync로 거의 동시에 화일을 복사해서 동기화가 가능하다.

 

서버의 데이터폴더인 /home/workingfiles/ServerWorkingfile/attach 에 화일을 생성해보자

touch test

ls 

binaries  chunks  filebox  images  menu_button  site_image  test  textyle  xeicon

 

설정이 정상적으로 동작하고 있다면 백업서버의 데이터폴더에도

binaries  chunks  filebox  images  menu_button  site_image  test  textyle  xeicon

처럼 test라는 화일이 생겨날 것이다.

 

만약 정상적으로 동작하지 않는다면 로그화일을 잘 뒤져보고 원인을 찾는 것이 좋다.

tail -f /var/log/lsyncd/lsyncd.log

어지간한 에러는 쉽게 찾을 수 있다.

경험상 대개의 경우 ssh key나 rsync 퍼미션과 관련이 있거나 폴더를 잘못 입력한 경우가 대부분 이었다.

 

정성적으로 동작한다면 서버에서 이미지가 업로드되거나 변경되면 백업서버에도 거의 실시간으로 변경된다.

 

그럼 행운을!!!!!

?

List of Articles
번호 분류 제목 날짜 조회 수
53 Rhymix & XE XE 속도 개선을 위한 위젯 수정법 1 2011.03.15 50094
52 Rhymix & XE 이미지프로세스 모듈 (매직버전) 111 file 2010.03.01 45878
51 Rhymix & XE 이미지 자동출력 애드온 58 file 2010.04.09 35571
50 애드온 및 모듈 제작 초간단 애드온 제작법 2 file 2011.03.25 32495
49 기타등등 루씬, 큐브리드그리고 XE 3 file 2010.10.07 30685
48 Rhymix & XE 구글 웹앨범 연동모듈 설정 58 file 2010.03.31 30180
47 Rhymix & XE JPG 축소 및 워터마크 애드온 ver 0.7 21 file 2010.02.18 27040
46 기타등등 큐브리드 변환후 index 재설정 2 file 2010.10.22 26553
45 기타등등 윈도우즈에서 ImageMgick을 이용한 imageprocess 사용 2 file 2011.03.10 24081
44 기타등등 malware에 의한 해킹 사이트 대처 순서 2011.04.01 24039
43 Rhymix & XE 한국우편번호 확장모듈 file 2011.03.10 23701
42 Rhymix & XE picasa_upload component 34 file 2010.04.05 23129
41 Rhymix & XE 자동 그룹변경 애드온 17 file 2010.02.18 22510
40 Rhymix & XE 구글 웹앨범 최근사진 위젯 file 2010.04.05 22314
39 Rhymix & XE 비회원에게 다른 메뉴보이게하기 2012.03.15 21928
38 Rhymix & XE reCaptcha를 이용한 새로운 캡차애드온 file 2011.04.01 21866
37 Rhymix & XE 모바일에서의 통합검색기능 6 file 2011.05.17 21279
36 Rhymix & XE 이미지 포맷 변환테스트 27 file 2012.02.01 19580
35 Rhymix & XE 이미지프로세스 모듈 설정방법 24 file 2010.02.25 19242
34 Rhymix & XE 이미지프로세스 모듈의 설정 및 사용방법(new version) file 2012.02.08 15843
계속 검색
Board Pagination Prev 1 2 3 Next
/ 3
위로