나는 현재 달리고 있다 rsync --remove-source-files -P
. 약 5TB의 파일을 전송하고 있습니다. 이는 복사 중인 서버가 끝까지 5TB 전체를 유지하기 때문에 전송 후반부에 많은 저장 공간이 낭비된다는 것을 의미합니다. 이런 일이 발생하지 않도록 하고 전송 중에 공간을 확보할 수 있는 방법을 찾고 있습니다. 가능합니까?
답변1
나는 이것을 촉진할 수 있는 rsync에 대해 아무것도 모릅니다. 또한 파일 시작 부분에서 할당된 공간을 해제하는 일반적인 작업은 보편적으로 지원되지 않습니다. 운영 체제와 파일 시스템의 일부 조합에서는 이를 허용할 수 있습니다. 그렇지 않으면 파일의 끝 부분만 잘릴 수 있습니다. (대부분의 Linux 시스템에서는 를 사용하여 작동할 수 있습니다 fallocate -p
)
가능한 옵션:
- 파일을 분할합니다. 삭제할 수 있으므로 원본 머신에서 사용하면 안 됩니다. 이를 더 작은 부분으로 나눈 다음 rsync는 전송이 완료된 후 각 개별 부분을 삭제할 수 있습니다. 처음이 아닌 끝부터 이 작업을 수행하면
truncate
소스 파일을 보편적으로 사용할 수 있으므로 이를 지원할 수 있는 운영 체제의 범위가 더 넓어집니다 . - 수동으로 파일을 지웁니다. 이를 위해서는 파일의 전송량(대상에서 대역 외 또는 출력 구문 분석)을 감지한 다음 복사된 부분을
--progress
호출하는 메커니즘이 필요합니다.fallocate -p
또한 복제본이 중간에 종료되면--partial
(및를 사용하여--inplace
)--append
적절하게 다시 시작할 수 있는지 테스트하고 싶습니다.