Table of Contents |
---|
...
동작 단계에서는 제일 먼저 동기화(검사)에 따른 소요 예상시간을 계산합니다. 파일 목록 비교 단계에서 생성해 둔 차이점 목록을 순환하고 각 파일의 용량을 전부 합산하여 최대치를 도출합니다. 단 각 파일의 로컬/원격지 용량이 서로 다른 경우 큰 용량을 기준으로 합산합니다.
계산이 끝나면 파일 블럭들을 순차적으로 비교하면서 블럭별 데이터를 다운로드하여 적용하거나 속성의 차이점들을 일치시켜 나갑니다. 동작모드가 정합성 검사일 경우에는 파일 블럭들을 비교하는 절차만 수행합니다.
정합성 검사의 advanced-verify 모드는 리소스가 온라인 된 상태에서 정합성 검사를 할 경우에 사용할 수 있는 옵션입니다. 이 동작 모드에선 정합성 검사를 수행하는 동안 도중 동시에 복제가 발생하는 검사 대상 파일에 대해선 복제 블럭이 완료될 때 까지 대기 한 후 검사가 진행됩니다.
복제와 동기화
동기화를 수행하는 도중에 소스 측 데이터에 변경 분 I/O 가 발생하면 동기화와 복제를 동시에 처리해야 합니다.
동기화 진행 중 복제가 발생하면 해당 정보는 큐에 추가되고 이 데이터는 로컬/원격의 해시 또는 데이터를 요청하여 기다릴 때 같이 처리하여 파일 블럭에 대한 접근이 동시에 발생하지 않도록 합니다. 단, Syncer에서 데이터 대기 중 먼저 전달된 복제 데이터보다 파일 데이터가 먼저 처리되는 경우가 발생하면 정합성이 깨질 수 있다. 이런 경우를 대비하여 복제 데이터가 동기화에서 처리 된 후 파일에 쓸 수 있도록 지연하여 처리합니다. 동기화 블럭 보다는 복제 데이터가 항상 최신이기 때문에 복제를 나중에 처리합니다.