Syncthing: 동기화는 복사 문제가 아니라 충돌 문제다
요약
Syncthing 은 여러 기계의 폴더를 같게 유지한다. 기계끼리 직접 대화하고 사이에 서버를 두지 않는다. 무료 오픈소스이고 기기 ID 로 연결하며 브라우저 화면에서 관리한다.
추천- 이름
- Syncthing
- 버전
- 2.1.5
- 요금
- 무료
- 오픈소스
- 오픈소스
- 운영체제
- WindowsmacOSLinuxAndroid
- 공식 사이트
- https://syncthing.net/
- 업데이트
- 2026-10-09 22:00
복사는 쉽고, 합의는 어렵다
한 폴더를 이 기계에서 저 기계로 복사하는 것은 작은 일이다. 두 기계가 한 폴더에 대해 몇 달 동안 같은 견해를 유지하는 것은 큰 일이다. 복사는 결과가 분명한 일회성 행위다. 합의는 연속적인 과정이고, 양쪽의 모든 변경이 전달되고 정렬되고 적용되어야 하며, 그 안에서 흥미로운 경우는 '복사가 성공한' 때가 아니라 '두 편집이 같은 순간에 도착한' 때다.
Syncthing 은 이 두 번째 문제를 중심으로 짜여 있고, 그래서 백업처럼도 클라우드 드라이브처럼도 보이지 않는다. 권위 있는 중앙 사본이 없고 모두가 말을 거는 서버도 없다. 각 기계가 이 프로그램을 돌리고, 각 기계가 식별자로 다른 기계를 알며, 변경은 그들 사이를 직접 오간다. 무료이고 소스가 공개되어 있으며, 일반 데스크톱은 물론 휴대폰에서도 돌아간다.

서버가 없다는 것의 의미
중개자가 없다는 것이 설계 전부이고, 양방향으로 결과가 있다. 누군가의 데이터 센터로 아무것도 올라가지 않는다. 발표 전 작업, 고객 자료, 개인 보관소에 대해 그것이 호스팅 드라이브 대신 이것을 고르는 이유다. 대역폭은 두 기계가 서로 합의해 낼 수 있는 만큼이고, 같은 근거리망에서는 어떤 온라인 서비스보다 훨씬 좋다.
대가는 문제를 풀어 줄 중개자가 없다는 것이다. 결코 동시에 깨어 있지 않은 두 기계는 동기화되지 않고, 평생 빡빡한 망 뒤에 있는 노트북은 중계의 도움이 필요하다. 논쟁할 결함이 아니라 분산 설계의 정직한 모양이며, 가정의 망에는 잘 맞고 늘 이동하는 사람에게는 조건부로 맞는 이유다.
연결, 그리고 식별자가 중요한 이유
한 기계는 식별자로 다른 기계에 소개되고, 상대가 그것을 받아들여야 한다. 이 두 단계 수락은 그냥 넘기지 말고 이해할 값어치가 있다. 실제 보안 경계이기 때문이다. 받아들인 기기의 식별자를 가진 사람은 공유 폴더에 변경을 제안할 수 있다. 열쇠 지문과 같은 생각이고 같은 진지함이 필요하다. 처음에는 다른 경로로 확인하고, 더 이상 통제하지 않는 기기는 목록에서 빼야 한다.
그 뒤의 모든 것은 프로그램이 직접 내주는 브라우저 화면에서 설정한다. 어떤 폴더를, 누구와, 어떤 규칙으로 공유할지. 화려하지 않은 화면이고 좋은 결정이다. 같은 관리가 망 안의 어느 기계에서든 되고 특정 데스크톱 도구에 매이지 않는다.

충돌, 그리고 프로그램이 하는 일
두 기계가 같은 파일을 따로 고치면 어딘가는 물러나야 한다. Syncthing 의 답은 둘 다 남기는 것이다. 한쪽은 파일 이름을 지키고 다른 쪽은 이름 옆에 표시를 붙여 보관한다. 어느 쪽이 맞는지에 대한 판단은 조용히 내려지지 않고 사람에게 남는다. 옳은 선택이면서 동시에 불편이다. 충돌이 마법처럼 해결되는 것이 아니라 어수선함으로 보인다는 뜻이기 때문이다.
그 빈도는 폴더를 어떻게 쓰는지에 달렸다. 두 사람이 두 기계에서 같은 문서를 편집하면 끊임없이 생기고, 그것은 어떤 동기화 도구도 고치지 못한다. 문제는 공유된 문서이고 동기화가 아니다. 한 사람이 데스크톱과 노트북 사이를 오가며 같은 파일을 양쪽에서 동시에 고치는 일이 거의 없다면 거의 생기지 않는다. 어느 상황인지가 이 도구가 '존재하지 않는' 느낌인지 '시끄러운' 느낌인지를 정한다.
버전 보관, 그리고 결정적인 한 문장
변경된 파일의 옛 버전을 남기는 것은 동기화 도구를 '구해 주는' 것으로 바꾸는 기능이다. 가장 아픈 두 가지 실패를 덮기 때문이다. 실수로 지운 파일, 잘못된 내용으로 덮어쓴 파일. 실수 이전의 버전으로 손을 뻗어 꺼낼 수 있다는 것은 실무에서 '번거로움'과 '손실'의 차이다.
그러나 그것이 백업이 되지는 않는다. 버전은 같은 폴더 구조, 같은 기계 위에 살고 운명을 함께한다. 기계를 잃거나 폴더를 통째로 지우면 버전도 같이 간다. 동기화는 설계상 삭제를 전파한다. 동기화에 바라는 바로 그것이고, 유일한 사본에 바라는 것은 아니다. 옳은 배치는 편의를 위한 동기화와 보험을 위한 별도 백업이다. 이 둘을 혼동하는 것이 이 분야 전체가 권하는 실수다.

어디에 놓이는가
세 가지 용도가 있고, 기계가 무엇을 위한 것인지로 구분된다. 가정 망에서의 개인 백업. 데스크톱과 노트북과 휴대폰이 같은 문서를 들고 어느 하나를 잃어도 견딜 수 있다. 작은 집단에서의 팀 공유. 자료를 남의 서비스로 통과시키고 싶지 않을 때. 그리고 여러 기기에서의 작업. 한 기계에서 읽은 파일이 다음 기계에서 이어 읽는 그 파일인 것.
큰 팀에는 맞지 않는다. 원래 기계가 없어도 어디서나 파일에 닿아야 하는 사람에게도, 기술적이지 않은 동료에게 건넬 화면이 필요한 사람에게도 맞지 않는다. 그것들은 호스팅 서비스의 일이고, 정직한 비교는 '어느 쪽이 나은가'가 아니라 '어느 실패를 고르겠는가'다.
결론
Syncthing 은 그 이름이 가리키는 문제를 그 이름이 암시하는 방식으로 푼다. 내가 통제하는 기계 사이에서, 직접, 누구의 허락도 구하지 않고 누구의 구독료도 내지 않고 동기화한다. 무료이고 오픈소스이며 화려하지 않고, 화면이 상을 받지는 않는다. 하는 일은 두 폴더를 데이터 센터 없이 몇 년씩 같게 유지하는 것이다. 다만 연결을 보안 결정으로 다루고, 충돌은 감춰지지 않고 보이는 것으로 예상하며, 동기화에 참여하지 않는 곳에 진짜 백업을 두어야 한다.