Computer >> 컴퓨터 >  >> 네트워킹 >> 인터넷

BitTorrent으로 데이터를 백업한다고? BTSync vs Syncthing 솔직 비교 리뷰

백업은 가정이든 업무 환경이든 현대 컴퓨팅에서 가장 소홀히 다뤄지는 영역 중 하나입니다. 어떤 방식과 기술을 선택하든, 결국 관리 부담과 번거로움 때문에 방치되기 쉽고, 막상 복구가 필요할 때 제대로 되돌릴 수 없는 경우가 많죠. 근본적인 이유는 백업 관리 자체가 고통스러운 작업이며, 속도도 상당히 느리다는 점입니다.

대안으로 파일을 클라우드에 올려두는 방법이 있지만, 이 역시 만만치 않습니다. 개인 정보는 안전할까요? 업로드 속도는 충분히 빠를까요? 그렇다면 세 번째 선택지는 없을까요? 실제로 존재합니다. 바로 P2P 네트워크를 활용한 백업입니다.

P2P 백업이란 무엇인가

저는 늘 탈중앙화된 P2P 백업 모델의 조용한 지지자였습니다. 데이터를 클라우드 같은 외부 공간에 맡기는 것은 보안 측면에서 양날의 검이 될 수 있기 때문입니다. 하지만 실용적으로 활용할 수 있다면 어떨까요?

BTSync와 Syncthing 같은 프로그램은 바로 이 약속을 실현하려는 도구입니다. 요약하자면, 두 도구 모두 세련된 GUI를 갖춘 고급 비트토렌트 클라이언트라고 할 수 있습니다. 여기에 공개 키-개인 키 개념을 기반으로 한 보안 기능이 더해져, 자신의 파일을 안전하고 사적인 토렌트처럼 시딩(seeding)한 뒤 여러 클라이언트 간에 공유하고 데이터를 분산 저장할 수 있습니다. 원리적으로는 리눅스 배포판 이미지를 내려받는 것과 다르지 않으며, 단지 대상이 자신의 사진과 문서일 뿐입니다.

BTSync 사용 후기

BTSync는 Windows, Linux, Mac, 각종 모바일 OS 등 거의 모든 플랫폼에서 사용할 수 있습니다. Linux에서 설치는 아주 간단합니다. 원하는 위치에 압축 파일을 풀고 메인 프로그램을 실행한 뒤, 브라우저에서 localhost:8888로 접속해 웹 콘솔을 열면 끝입니다.

GUI에서 짧은 마법사를 진행하게 되는데, 먼저 로컬 계정을 설정해야 합니다. 이는 일종의 .htaccess 방식의 사용자명과 비밀번호로, 다른 사람이 동기화 인터페이스에 접근하지 못하도록 막아주는 역할을 합니다. 그다음 기기를 등록합니다.

이 시점에서 BTSync에는 무료 버전과 유료(Pro) 버전이 있으며, 30일 체험판을 이용할 수 있다는 안내가 은근히 계속 등장해 다소 신경을 거슬립니다.

다음 단계는 아이덴티티를 생성하고 첫 번째 기기를 설정하는 것입니다. 나중에 두 번째 기기를 풀(pool)에 추가할 때 어떻게 해야 하는지 알게 됩니다. 짐작하듯이, 이 기술은 기기가 하나뿐이라면 아무 의미가 없으며, 상호 연결된 노드가 늘어날수록 그 가치가 커집니다.

이제 폴더를 추가하고, 이름을 붙이고, 권한과 만료 기간을 설정한 뒤, 새 피어가 데이터에 접근하기 위해 명시적 승인을 받아야 하는지 여부를 결정하면 됩니다. 매우 직관적인 과정입니다.

폴더 생성이 완료되면 이메일, 수동 입력, QR 코드 스캔 등의 방식으로 링크를 공유할 수 있습니다. 마찬가지로 두 번째 호스트에서도 식별자 해시를 입력해야 동기화와 데이터 공유를 시작할 수 있습니다.

실제 테스트 결과

저는 처음에 Netrunner 15에 BTSync를 설치한 뒤, Kubuntu 15.04 베타 클라이언트를 네트워크에 추가했습니다. 클라이언트를 실행하고 웹 마법사를 열었지만, 새 기기를 설정하는 대신 이미 BTSync가 실행 중인 장치에 연결하는 방식을 택했는데, 문제는 두 기기가 페어링에 실패했다는 점입니다. 이 지점을 넘어 진전을 이룰 수 없어서 두 번째 도구로 눈을 돌렸습니다.

물론 한 가지 더 시도는 했습니다. iPhone에 BTSync를 설치해 보려 했지만, App Store가 신용카드 정보를 요구했고, 무료 버전과 체험판이 있는 앱인데도 설치를 허용하지 않았습니다. 어차피 모바일 버전은 설계 방식 자체가 다른 듯했습니다. 아니오, 필요 없습니다.

Syncthing 사용 후기

두 번째 클라이언트인 Syncthing은 완전히 무료입니다. BTSync와 마찬가지로 다양한 플랫폼에서 이용 가능하며, 도구를 내려받아 명령줄에서 실행한 뒤 브라우저로 포트 8080의 웹 인터페이스에 접속하면 됩니다.

Syncthing의 GUI는 더 단순하지만 다소 혼란스러울 수 있습니다. 먼저 공유할 새 폴더를 추가합니다. 옵션이 많지는 않지만, 기존 파일 권한을 처리하거나 무시할 수 있고, 동기화 확인 주기를 변경할 수 있으며, 나쁘지 않은 수준의 버전 관리 기능까지 갖춰져 있습니다. 동기화를 단방향으로 할지 양방향으로 할지도 결정할 수 있습니다.

주의할 점이 있습니다. 폴더를 직접 추가해야 하며 심볼릭 링크는 사용할 수 없습니다. Syncthing이 쓸 수 없는 위치를 지정하면 권한 오류를 내놓지만, 그것이 왜 문제가 되는지 즉시 파악하기는 어려울 수 있습니다.

사소한 변경마다 클라이언트 재시작이 필요하지만, 작업 자체는 몇 초 만에 끝나는 빠른 편입니다. 다만 모든 노드가 식별되어 GUI에 표시되기까지는 약간의 시간이 걸립니다.

노드 추가 및 동기화 테스트

클러스터에 새 노드를 추가하려면 톱니바퀴 아이콘을 클릭합니다. 그런 다음 각 노드마다 긴 해시(ID)를 서로 입력해야 합니다. 다행히 같은 네트워크에 여러 기기가 있다면 자동 검색 기능이 일부 작동하며, 기기를 승인하기만 하면 됩니다.

폴더 공유 설정이 성공적으로 완료되면 녹색으로 표시됩니다. 노란색이나 빨간색은 문제가 있다는 뜻입니다. 이후 Syncthing을 인터페이스를 통해 재시작하면 네트워크 스캔을 실행해 알려진 사용 가능한 호스트를 찾습니다. 이때 원격 노드와 폴더를 공유할지 묻는 프롬프트가 나타날 수 있습니다.

저는 'media'라는 파일을 공유해 보았습니다. 내용은 2GB짜리 0 데이터였지만, 전형적인 동기화가 어떤 모습인지 보여주기엔 충분했습니다. 파일 이름의 위트를 잠시 감상해 볼 만합니다.

동기화는 잘 작동했지만 속도가 빠르지는 않았습니다. 사실 꽤 느렸죠. 따라서 자신의 네트워크가 실제로 얼마나 빠른지, 혼잡하지 않은지가 중요한 변수입니다. P2P와 BitTorrent가 모든 문제를 해결해 주는 기적은 아닙니다. 또한 소스 호스트에서는 진행률이 표시되지 않았지만 대상 호스트에서는 표시되었습니다.

P2P 백업의 구조적 한계

앞서 언급했듯이, P2P의 진정한 힘은 숫자, 즉 탈중앙화된 노드의 수에 있습니다. 기기가 소수에 불과하다면 약속된 초고속 백업 속도는 기대하기 어렵고, Rsync나 단순 복사만으로도 충분합니다. 게다가 평균적인 가정에 컴퓨팅 기기가 몇 대나 있을까요? 한 대? 다섯 대? 그 이상은 드뭅니다.

또한 기기마다 저장 용량이 크게 다릅니다. 스마트폰은 겨우 15~30GB 정도의 데이터를 담을 수 있는 반면, 데스크톱은 TB 단위를 거뜬히 소화합니다. 따라서 모든 데이터를 어디에나 백업할 수는 없습니다. 더욱이 토렌트 방식은 다중 하드 디스크 개념과 맞지 않습니다. 내부에 몇 개의 스토리지 계층과 이중화 구성이 있든, 각 기기는 하나의 개체로 취급되기 때문입니다.

세 번째 문제는 대역폭입니다. 업로드가 빠른 회선이 없다면 느린 속도와 혼잡에 시달리고, 시딩 중에는 네트워크 전체가 질식할 수 있습니다. 데이터 사용량 제한(쿼터)이 있는 경우라면 잦은 토렌트 업데이트만으로도 금방 초과될 수 있습니다.

수백 대의 동일한 서버와 10Gb급 초고속 내부망을 갖춘 기업 환경이라면 이상적인 개념일 것입니다. 하지만 가정 사용자 입장에서는, 보안과 데이터 다중 위치 저장에 초점을 맞추는 것이 아니라면 클라우드와 무엇이 다를까요? 설령 그렇다 해도, 대부분의 클라우드 제공업체는 여러분의 소규모 스웜(swarm)으로는 도달하기 어려운 가동률과 지리적 분산을 갖추고 있습니다.

방화벽도 문제입니다. 토렌트 포트를 차단하거나 uPnP를 허용하지 않으면, 토렌트가 네트워크를 기적으로 빠르게 만들어 주지 않습니다. 속도 면에서 TCP가 UDP보다 약간 느릴 수 있지만, 전반적으로 가정 사용자에게는 클래식한 HTTP 요청과 토렌트 사이에 체감 차이가 없습니다. 특히 시드 수가 매우 적은 경우—대부분의 사람들에게 이것이 일반적인 시나리오입니다—에는 더욱 그렇습니다.

마지막으로 프라이버시 문제입니다. 클라우드 제공업체가 내 데이터를 보는 것은 원치 않지만, 가족이나 친구는 어떻습니까? 그들의 기기와 내 데이터를 공유할 생각입니까? 그들이 무엇을 해야 하는지 알고, 함부로 들여다보지 않으며, 더 나쁜 경우 그들의 호스트가 해킹당해 완전한 낯선 이가 내 파일에 접근하지 않으리라 믿을 수 있습니까? 개인 정보를 남의 손에 맡기려는 순간, 클라우드가 부적합하다는 전제 자체가 무의미해지는 셈입니다.

함께 읽으면 좋은 글

관심이 있다면 다음 글도 참고해 보세요:

  • Grsync 개요와 활용법
  • 여러 Rsync 프론트엔드 비교 및 리뷰

결론: 과연 실용적인가?

반나절의 좌절과 씨름 끝에 내린 결론은, 이 개념에는 아직 많은 개선이 필요하다는 것입니다. 대규모, 고속, 저지연, 무제한 네트워크라면 이상적이지만, 인터넷을 통해 성격이 판이한 여러 기기를 동기화하는 상황에서는 탈중앙화 스토리지의 이점을 누리기 어렵습니다. 굳이 이런 방식을 써야 한다면 클라우드가 더 나은 선택입니다. 반대로 프라이버시나 보안이 걱정된다면 로컬 백업이 더 빠르고 실용적입니다.

현실의 높은 장벽을 감안하더라도, BTSync는 전혀 인상적이지 못했습니다. Syncthing이 상대적으로 더 나은 해결책이지만 여전히 다소 투박하고, 클러스터 구성에 시간이 걸릴 수 있습니다. 그럼에도 잠재력은 충분하며, 암호화와 공개 공유를 활용하는 방식이 오히려 더 나은 선택일 수 있습니다. 누구와 공유할지 고민하는 대신, 그냥 데이터 조각들을 곳곳에 흩뿌리는 것이죠. 다른 모든 토렌트들이 그렇게 작동하니까요. 어쨌든 이 추천을 해준 Floris에게 감사를 전합니다. 모두 건강하세요.