많은 파일을 전송하는 가장 빠르고 안정적인 방법은 무엇입니까?

많은 파일을 전송하는 가장 빠르고 안정적인 방법은 무엇입니까?

총 90GB에 달하는 약 100,000개의 파일을 전송하려고 합니다. 지금은 rsync 데몬을 사용하고 있지만 속도가 3.4mb/s로 느려서 이 작업을 여러 번 수행해야 합니다. 인터넷을 통해 100mbit 연결을 최대화하고 매우 안정적으로 사용할 수 있는 옵션이 무엇인지 궁금합니다.

답변1

고려해 보셨나요?스니커넷? 대용량 데이터 세트의 경우 익일 배송이 인터넷을 통해 전송하는 것보다 더 빠르고 저렴할 수 있습니다.

답변2

어떻게? 아니면 TL;DR

tar내가 찾은 가장 빠른 방법은 , mbuffer및 의 조합입니다 ssh.

예:

tar zcf - bigfile.m4p | mbuffer -s 1K -m 512 | ssh otherhost "tar zxf -"

이를 사용하여 1Gb 링크에서 950Mb/s 이상의 지속적인 로컬 네트워크 전송을 달성했습니다. 전송하려는 항목에 맞게 각 tar 명령의 경로를 바꾸십시오.

왜? 버퍼!

네트워크를 통해 대용량 파일을 전송할 때 가장 큰 병목 현상은 단연 디스크 I/O입니다. 이에 대한 대답은 mbuffer또는 입니다 buffer. 그것들은 대체로 유사하지만 mbuffer몇 가지 장점이 있습니다. 기본 버퍼 크기는 2MB mbuffer, 1MB 입니다 buffer. 버퍼가 클수록 비어 있을 가능성이 더 높습니다. 대상 파일 시스템과 대상 파일 시스템 모두에서 기본 블록 크기의 가장 낮은 공배수인 블록 크기를 선택하면 최상의 성능을 얻을 수 있습니다.

버퍼링은모두차이점!있으면 활용해보세요! 없으시면 받으세요! 플러스를 사용하는 (m}?buffer것은 그 자체보다 낫습니다. 이것은 말 그대로 느린 네트워크 파일 전송에 대한 만병통치약입니다.

여러 파일을 전송하는 경우 tar해당 파일을 단일 데이터 스트림으로 "덩어리"로 묶는 데 사용하세요. 단일 파일인 경우 catI/O 리디렉션을 사용할 수 있습니다. tarvs. 의 오버헤드 cat는 통계적으로 중요하지 않으므로 이미 사용하지 않는 한 항상 사용합니다 tar(또는 zfs -send가능한 경우).타르볼. 이들 중 어느 것도 메타데이터 제공을 보장하지 않습니다(특히 cat제공하지 않을 것입니다). 메타데이터를 원하시면 연습용으로 남겨두겠습니다.

마지막으로 ssh전송 메커니즘에 사용하는 것은 안전하고 오버헤드가 거의 없습니다. 다시 말하지만 sshvs. 의 오버헤드 nc는 통계적으로 중요하지 않습니다.

답변3

"rsync"를 언급했으므로 Linux를 사용하고 있다고 가정합니다.

tar 또는 tar.gz 파일을 생성해 보는 것은 어떨까요? 하나의 큰 파일의 네트워크 전송 시간은 여러 개의 작은 파일보다 빠릅니다. 원한다면 압축할 수도 있습니다...

압축되지 않은 Tar:

원본 서버에서:

tar -cf file.tar /path/to/files/

그런 다음 수신 측에서 다음을 수행하십시오.

cd /path/to/files/
tar -xf /path/to/file.tar

압축된 타르:

원본 서버에서:

tar -czf file.tar.gz /path/to/files/

그런 다음 수신 측에서 다음을 수행하십시오.

cd /path/to/files/
tar -xzf /path/to/file.tar.gz

(tar|tar.gz) 파일의 실제 전송을 수행하려면 rsync를 사용하기만 하면 됩니다.

답변4

rsync의 다양한 압축 옵션을 사용할 수 있습니다.

-z, --compress              compress file data during the transfer
     --compress-level=NUM    explicitly set compression level
     --skip-compress=LIST    skip compressing files with suffix in LIST

바이너리 파일의 압축 비율은 매우 낮으므로 --skip-compress를 사용하여 해당 파일을 건너뛸 수 있습니다(예: iso, 이미 보관되고 압축된 tarball 등).

관련 정보