Rsync를 통해 72TB 이미지 시퀀스 이동

Rsync를 통해 72TB 이미지 시퀀스 이동

영화 프로젝트에서 72TB 이미지 시퀀스의 복사본을 생성해야 하는 과제가 있습니다. 나는 650만 개의 11MB 이미지를 가지고 있는 것으로 추산합니다.

소스 드라이브는 대상 RAID5 SAS와 마찬가지로 읽기 및 쓰기 속도가 1000MB/s인 RAID5 SAS입니다.

내 테스트 100GB 비디오 파일은 위에 나열된 속도로 소스에서 대상으로 이동했습니다.

-avb를 사용하는 RSYNC 3.2.6의 현재 최대 속도는 211MB/s입니다.

TAR에서 20GB(설명을 위해 무작위로 선택됨)의 비압축 zip을 만들고 RSYNC로 파이프하여 많은 작은 파일을 처리하는 오버헤드를 줄이는 것을 탐색하면 어떤 이점이 있습니까?

현재 과제는 4~5일 정도 걸릴 것으로 예상되는데, 단축하고 싶습니다.

어떤 의견이라도 환영합니다!

맥 OS 12.3 M1 스튜디오 울트라

답변1

현재는 여러 개의 작은 파일을 찾고 읽고 쓰는 것으로 제한되어 있습니다.가지다20GB .zip/.tar 파일이 도움이 될 것입니다.만들다zip동일한 작업을 수행해야 하기 때문에 rsync보다 느릴 수 있습니다 (임의 액세스 읽기). 하지만 내 말을 그대로 받아들이지는 마세요. rsync를 일시 중지하고 테스트하세요! 테스트는 거의 항상 정답입니다.

Linux에서는 이 도구를 사용하여 iostat디스크를 기다리는 데 소요되는 시간의 비율을 확인하는 것이 좋습니다. OS X를 사용하는 경우 OS X에 해당하는 것이 무엇인지 잘 모르겠습니다.

전체 소스 RAID와 대상 RAID를 결합하려는 경우정확히 똑같다마지막으로(옵션이 제공되었지만 -b그렇지 않음) dd1000MB/s로 실행되는 RAID 장치와 같은 것을 사용할 수 있습니다. 하지만 꼭 알아두세요정확히dd로 무엇을 하고 계시나요? 그렇지 않으면 데이터가 손상될 수 있습니다.

이것이 자주 수행되는 작업이라면 이미지를 생성하는 동안 rsync를 반복적으로 실행하여 4일을 기다리지 않도록 하는 것이 좋습니다.

답변2

rsync 스트림에 사용하는 주요 속도 향상은 다음과 같습니다.

  1. 파일 목록을 나누고 원본 컴퓨터와 대상 컴퓨터 간에 병렬 rsync 스트림을 실행합니다. 이는 일반적으로 상당한 처리량 증가를 가져옵니다.
  2. 전송 방법으로 SSH를 제거했습니다. 암호화/복호화 단계에는 약간의 오버헤드가 있습니다. 안전한 경우(요즘에는 일반적이지 않음) rsync 클라이언트를 (암호화되지 않은) rsync 데몬에 연결하면 처리량이 크게 향상될 수 있습니다.
  3. 귀하가 질문했고 다른 답변에서 해결되었습니다. 특히 데이터가 압축 가능하고 전송하기 전에 압축하고 전송 후에 압축을 풀 수 있는 경우 평균 파일 크기를 늘리는 것이 도움이 될 수 있습니다. (그리고 추가 저장 공간이 있습니다.) 압축/압축 해제 단계에 투자한 시간은 전송 단계의 시간을 줄일 수 있습니다.

단일 TCP 스트림(즉, 단일 rsync 전송)이 1Gbps 이상의 네트워크 링크를 통해 최대 처리량을 달성할 수 있는 경우는 매우 드뭅니다. 병렬 전송이 가장 큰 차이를 만들 가능성이 높습니다. 인터넷에는 병렬 rsync를 실행할 수 있다고 주장하는 몇 가지 프로그램이 있습니다. 나는 큰 성공을 거두지 못한 채 직접 작성해 보았습니다. 이것은 보기보다 더 복잡한 작업입니다.

관련 정보