GDFS를 백업 저장소로 쓰기

  • Post author:
  • Post category:
  • Post comments:0 Comments
  • Post last modified:February 8, 2020

출처: https://unsplash.com/photos/1p99o5sVm3s

Google Drive File Stream은 원격 저장소를 로컬 스토리지처럼 제공하니 백업 저장소로 사용하기가 쉽다. 단, 파일 숫자가 적다면.

4기가짜리 동영상 파일을 GDFS에 복사하기는 쉽지만 4바이트짜리 텍스트 파일 10만개를 복사하기는 어렵다. 그래서 여러 번 시행착오를 거쳐 나만의 최적화된 백업 스크립트를 작성했다. 백업은 크게 세 가지 방식을 동원하는데 자신에게 맞춰 수정해 사용하면 된다.

  1. rsync -av -delete – backup: rsync를 이용하여 로컬 폴더를 GDFS에 그대로 동기화한다. 삭제된 파일 등이 발견되면 별도의 백업 폴더에 해당 파일을 백업한다. 이 방법은 파일이 많지 않고 데이터를 복원할 때 사람이 개입해도 무방할 때 이용한다.
  2. rsync_tmbackup.sh: rsync를 이용하되 Timemachine 스타일로 백업한다. laurent22/rsync-time-backup는 hardlink를 활용하는데 Google File Stream에선 하드링크된 파일을 복사본으로 취급하기 때문에 사실상 매번 모든 파일을 복사하는 단점이 있다. 다만 백업 스냅샷이 완벽하게 구성되므로 원하는 날짜의 내용물로 복원하기는 매우 쉽다.
  3. pigz: 용량이 작은 텍스트 파일이 많은 경우에는 작업 폴더 전체를 압축해서 백업하는 편이 시간이 덜 걸린다. 병렬 압축을 지원하는 pigz 같은 도구를 이용하면 파일 숫자가 많아도 걱정할 필요가 없다.

https://gist.github.com/02c6473b61c60b2c30367b4f52cfa07e

마지막으로 Dropbox 같은 클라우드 스토리지는 굳이 따로 백업하지 않아도 되므로 예외처리한다 rsync-exclude-patterns.txt.

- *.pvm
- *.torrent
- Dropbox/

Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
follow me
  • 혼자만의 장난감이 아닌 이상 한줄 한단어의 차이도 잘 확인하고 배포하는 게 당연하지
    11 hours ago
  • 나중에 읽으려 했는데 helm 같은 템플릿 엔진을 쓰라고 권장한다면 그다지 읽을 가치가 없어보이네. 사고날 때마다 엄청난 돈이 날아가봐야… https://t.co/9Wb8MAHUHd
    11 hours ago
  • 결정 한번 전광석화네 https://t.co/nujVeCRdMT
    21 hours ago
Buy me a coffeeBuy me a coffee
×
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
Latest Posts