진정한 P2P를 달성하기 위해 Unison을 구성하는 방법은 무엇입니까?

진정한 P2P를 달성하기 위해 Unison을 구성하는 방법은 무엇입니까?

나는 몇 가지 장치를 가지고 있고 그것들을 작동시킬 생각을 하고 있습니다.조화.

이러한 장치는 항상 실행되는 것은 아니며 매일 몇 시간 동안 종료되지만 반드시 동시에 종료될 필요는 없습니다. 24시간 가동되는 장비는 없습니다. 그래서 난 필요해진정한 P2P*예를 들어 동기화가 전혀 실행되지 않은 경우에도 변경 사항( 으로 표시됨)이 A에서 B, C, D로 전파되는 방식을 확인하려면 다음을 수행하세요 .

A-on*   B-on    C-off   D-off
A-on*   B-on*   C-off   D-off
A-off*  B-on*   C-off   D-off
A-off*  B-on*   C-on    D-off
A-off*  B-on*   C-on*   D-off
A-off*  B-off*  C-on*   D-off
A-off*  B-off*  C-on*   D-on
A-off*  B-off*  C-on*   D-on*

아쉽게도 통일사용자 매뉴얼하나를 추천스타 토폴로지2대 이상의 머신의 경우:

Unison을 사용하여 두 대 이상의 컴퓨터 동기화

Unison은 복제본 쌍을 동기화하도록 설계되었습니다. 그러나 여러 쌍별 동기화를 수행하여 더 큰 규모의 컴퓨터 그룹을 동기화하는 데 사용할 수 있습니다.

이 작업을 수행해야 하는 경우 가장 신뢰할 수 있는 설정 방법은 시스템을 "스타 토폴로지", 한 머신은 "허브"로 지정되고 나머지 머신은 "스포크"로 지정되며, 각 스포크 머신은 허브하고만 동기화됩니다. 스타 토폴로지의 가장 큰 장점 중 하나는 "가능성"을 제거한다는 것입니다. 혼란스러워"거짓 갈등이는 Unison이 동기화하는 각 호스트 쌍에 대해 별도의 아카이브를 유지하기 때문입니다.

그런데 Unison으로 진정한 P2P를 달성할 수 있는 방법이 있을까요?

답변1

나는 네 대의 컴퓨터를 동기화하기 위해 스타 토폴로지에서 Unison을 사용해 왔습니다. 그 이유는 버전 관리 파일 시스템(git 등)이 아니라 동기화 도구이기 때문이다.

분산 토폴로지를 선택하면(각 장치에 대한 구성 파일을 생성하고 모든 장치를 동기화하여 설정해야 함) 의심할 여지 없이 수동으로 충돌을 해결해야 하며 이는 심각할 것입니다. 시스템의 파일을 한 번에 하나의 장치에서만 매우 기본적인 변경만 수행하지 않는 한 확실히 그렇습니다.

따라서 다음을 권장합니다.

  1. 동기화하려는 데이터를 위한 충분한 저장 공간을 갖춘 저렴한 가상 서버를 임대하세요.
  2. 분산 토폴로지를 시도해 보고 그것이 유용하기에는 너무 많은 문제를 일으키는지 확인하십시오.

답변2

Unison은 본질적으로 P2P 방식입니다. 이것이 바로 스타 토폴로지가 권장되는 이유입니다. 이 도구에는 중앙 서버 개념이 없으므로 사용자가 적용합니다.

물론 P2P 방식으로 Unison을 사용할 수 있지만 이는 놀라운 일이 아닙니다. 각 컴퓨터 쌍(A, B)에 대해 컴퓨터 중 하나(예: A)를 선택하고 B와 동기화할 프로필을 만들어야 합니다. . 따라서 n개의 시스템이 있는 경우 n*(n-1)/2개의 구성 파일이 필요합니다.

많은 수의 구성 파일이 필요할 뿐만 아니라 변경 사항이 충돌할 수도 있습니다. 이는 귀하의 요청에 내재된 문제입니다. 특히 네트워크는 분할될 수 있습니다. 결국 D1 = D2 ≠ D3 = D4이면 {D1, D2}와 {D3, D4} 사이에 충돌이 발생합니다. D1과 D3을 동기화하여 해당 충돌을 조정하면 결국 D1과 D3에는 새 버전이 나오고 D2와 D4에는 다른 이전 버전이 나오므로 혼란이 생기기 쉽습니다.

정말로 순수한 P2P를 원한다면 git처럼 기록을 유지하고 병합에 능숙한 도구를 사용하는 것이 좋습니다. 심지어 스타 토폴로지(예: 중앙 저장소)는 권위 있는 최신 버전을 한 곳에서 보유할 수 있으므로 가장 좋습니다. 그러나 중앙 저장소가 없어서 기록이 충돌하기 쉬운 경우 적어도 git은 충돌하는 부분을 확인할 수 있도록 병합 기록을 기록하는 더 나은 도구를 제공합니다(해결하려고 할 때). 갈등).

관련 정보