질문/조언질답게시판

보통 백업 서비스가 1일 백업 서비스(유료 또는 무료)를 하고 있는데요,

실시간 백업 아니면 1시간 간격 백업이 가능한

백업 플러그인 판매(위젯, 애드온...) 업체

또는

백업 서비스 업체가 있을까요?

 

  • profile
    실시간 백업이면 파일이 수정될 때 마다 백업을 생성하는걸까요?
    안정성은 엄청날 것 같은데, 백업 속도나 롤백 편의성은 다른 의미로 엄청날 것 같네요ㅋㅋㅋ

    기*곰님 서비스 중에 원격백업 서비스가 있는걸로 압니다.
    백업 인터벌이 어느 정도까지 지원하는지는 모르겠습니다만,
    1시간이 필요하다면 추가 비용 지불하여 처리가 가능하지 않을까 추측해봅니다.
  • profile

    백업은 애드온이나 위젯 따위로 구현할 수 있는 것이 아니고, 만약 서버단의 어떤 명령과 연동해서 구현한다 해도 웹에서 실행하는 것을 신뢰할 수 있을지는 미지수입니다. 타임아웃 걸려서 중간에 끊긴다거나...

     

    실시간 백업은 백업으로서의 가치가 전혀 없습니다. 해커가 침투해서 중요한 파일을 마구 삭제하거나, 관리자가 실수로 뭔가를 잘못 수정하더라도 실시간으로 백업이 삭제될 테니까요. DB를 이중화하더라도 마찬가지로, 원본에서 쿼리를 날려 데이터를 삭제하면 사본 역시 실시간으로 삭제되어 복구가 불가능하게 됩니다. (바이너리 로그를 별도로 백업하는 등 보완책이 있으나, 복원이 까다롭습니다.) 백업 시점과 사고 발생 시점 사이에 시간차가 거의 없는 이런 방식은 인간의 의도적인 행위에는 속수무책이고, 서버 디스크 오류 등 기술적인 결함에만 대응할 수 있습니다.

     

    백업이 백업으로서의 가치를 갖기 위해서는 일정한 간격으로 사본(스냅샷)을 만든 후, 원본이 수정 또는 삭제되더라도 사본에 영향을 미치지 않도록 격리시켜야 합니다. 사이트 용량이 작다면 백업 간격을 짧게 유지할 수 있겠지만, 큰 사이트는 증분백업 한 번 돌리는 데도 몇 시간씩 소요되기 때문에 하루 한 번도 버거운 경우가 많습니다.

  • profile ?
    백업 데이터가 1테라 이상 된다면요,
    증분백업도 오래걸리고,
    스냅샷도 온라인 풀백업이라서, 서버무리, 큰 트래픽 발생이라면,
    어떤 방식으로 백업을 하는게 효율적인가요?
  • ? profile

    1. DB는 그냥 덤프떠서 압축하여 백업하면 (mysqldump --single-transaction | gzip -c > dbname.sql.gz) 그것이 곧 스냅샷이 됩니다. 물론 InnoDB여야 합니다. MyISAM은 백업 도중 테이블 락이 걸려서 못써요.

    2. files/attach, files/cache, files/thumbnails, files/member_extra_info 폴더 내의 포인트, 쪽지알림, 경험치 캐시파일 등 용량이 크거나 쉽게 재생성할 수 있는 것은 제외하고 나머지를 rsync로 증분백업 및 스냅샷 처리

    3. 첨부파일은 xe_files 테이블을 참조하여, 지난번 백업 후 새로 업로드된 파일들만 콕 찝어서 백업 (변경된 파일이 있는지 모든 디렉토리를 스캐닝하는 것만으로도 HDD에 어마어마하게 부담이 갑니다.)

    DB 백업이 얼마나 오래 걸리는지에 따라 다르지만, 이렇게 하면 1테라짜리 사이트라도 30분 안에 백업할 수 있습니다. 반면, 3번에 rsync를 사용하면 두세 시간이 걸릴 수도 있고요. 통째로 압축하면 24시간 안에 안 끝납니다. 그저께 백업과 어제 백업, 오늘 백업이 동시에 돌아가고 있는 막장서버도 본 적이 있어요. ㄷㄷㄷ

  • profile
    풀백업 무조건 (X) : 서버에 무리를 주고 불필요한 트래픽만 무지하게 발생합니다.
    로컬백업 (X) : 로컬의 데이터 유실에 대비하기 위함이니 로컬에 백업하지 마세요.


    증분백업 : 변경된 데이터만 백업하는 방식

    서버에 무리를 많이 주지 않으면서 네트워크백업(원격지에 보관) 하기 위해서는 변경된 데이터만 조금씩 전송해서 백업하는 방식이 최선입니다.

    백업할 데이터가 커지면 물론 백업 서버도 스토리지도 커져야 하지만 일단 작은규모라면
    아마존 라이트세일의 저렴한 서버를 사용해서 백업서버로 만들고 백업을 원하시는 시간마다 변경된 데이터만 받아올 수 있습니다. (원본서버가 ssh 사용이 가능한 상황이어야 할 것이구요)

    백업서버를 가지신 컴퓨터에 구성하시고 하실 수 있지만 컴이 항상 켜져 있거나 백업을 위해 켜야 한다는 불편이 있습니다.

    저희는 어차피 이미지를 캐시할 트래픽이 필요해 아마존의 라이트세일 서버를 구입한 김에 거기에 추가로 백업서버까지 구현해서 자동으로 2개의 사이트의 백업을 자동으로 매일 새벽에 진행하고 있습니다. 스토리지는 백업서버용으로 그리고 남는 대부분의 트래픽은 이미지캐시용 트래픽으로 사용됩니다.라이트세일의 요금 구조가 인스턴트(서버)간 남는 트래픽이 공유하듯 과금이 되는 방식이라 이렇게 쓰면 효율이 굉장히 높아집니다.

    물론 백업서버구성 캐시서버 구성 모두 기진곰님께 의뢰해서 구축하고 사용합니다.
  • ?
    증분백업 최초에

    filezilla ftp로

    모든 파일들 다 다운로드 받은 뒤
    (외장하드 4TB에)

    filezilla 변경된 값만 다운로드 하는 것으로 증분 백업 합니다~

    한번 받으면 그 이후 부터 큰 부담이 없어요~