대상을 조각화하지 않고 여러 소스에서 동시에 복제

대상을 조각화하지 않고 여러 소스에서 동시에 복제

여러 개의 작은 드라이브에서 큰 드라이브로 대용량 데이터 세트를 복사해야 하는 경우가 많습니다. 최근에는 WD Easystore 12TB 외장 USB 3.0 하드 드라이브를 대상으로 사용하고 있습니다. 시리즈의 모든 파일을 복사하는 데는 약 3일이 소요됩니다. 대상 드라이브는 소스가 읽을 때까지 기다리면서 대부분의 시간을 유휴 상태로 보냅니다. 각 소스에서 동시에 cp를 실행하여 복사 시간을 20시간 미만으로 유지할 수 있지만 이로 인해 대부분의 파일이 조각화됩니다.

사전 할당 옵션을 추가하는 cp 패치가 있지만 이는 ntfs-3g가 지원하지 않는 Fallocate 시스템 호출을 지원하는 파일 시스템에서만 작동합니다. Rsync에는 사전 할당 옵션이 있지만 아마도 같은 이유로 "rsync: do_fallocate" "작업이 지원되지 않음(95)"으로 실패합니다.

전체 파일이 이미 메모리에 있을 때까지 쓰기가 발생하지 않으면 할당은 연속되지만 파일은 여전히 ​​조각화되기를 바라면서 파일 크기보다 더 큰 블록 크기로 dd를 사용해 보았습니다. 모든 파일에 공간을 미리 할당하기 위해 ntfsfallocate를 사용해 보았지만(23k 파일은 약 12시간 소요) 파일을 덮어쓸 때 cp가 기존 할당을 사용하지 않는 것 같습니다.

Fallocate의 Linux NTFS 드라이버를 지원하는 배포판이 있습니까?

다른 제안?

관련 정보