대역폭을 소비하지 않고 대용량 파일 전송(Linux에 해당하는 BITS가 있습니까?)

대역폭을 소비하지 않고 대용량 파일 전송(Linux에 해당하는 BITS가 있습니까?)

Microsoft의 BITS(Background Intelligent Transfer Services) 구현을 Linux 시스템에서 사용할 수 있습니까?

나는 인터넷을 통해 원격 Linux 서버로 대용량 파일을 전송하는 옵션을 고려하고 있는데, 이것이 내 (제한된!) 업스트림 대역폭을 모두 사용하는 것을 원하지 않습니다.

과거에는 Windows 시스템에서 BITS를 성공적으로 사용해 왔지만 이번에는 Linux 서버 간에 전송해야 했습니다.

이상적으로는 배포판 독립적인 솔루션을 원하지만 두 시스템 모두 아마도 Ubuntu 기반 시스템을 실행하고 있을 것입니다.

답변1

첫째, 쉬운 방법은 rsync하나의 --bwlimit매개변수를 갖는 것입니다. 이는 일정한 비율이지만 이를 사용하여 쉽게 줄일 수 있습니다.

이제 적응 속도를 원하면 다음이 있습니다.Linux 흐름 제어 프레임워크, 실제로는 매우 복잡합니다. 나는 몇 가지 참고 자료가 있다는 것을 알고 있습니다.

개인적으로 설정해야 할 때 다음을 사용합니다.tcng작업을 단순화하세요. 예는 다음과 같습니다.

dev office {
    egress {
        class ( <$ssh> ) 
            if ip_tos_delay == 1 && tcp_sport == PORT_SSH ;
        class ( <$kyon> )
            if ip_dst == 172.16.1.62; // monitoring host
        class ( <$fast> )
            if ip_tos_delay == 1;
        class ( <$default> )
            if 1;

        htb() {
            class ( rate 1440kbps, ceil 1440kbps ) {
                $ssh = class ( rate 720kbps, ceil 1440kbps ) { sfq; };
                $kyon = class ( rate 360kbps, ceil 1440kbps ) { sfq; };
                $fast = class ( rate 180kbps, ceil 1440kbps ) { sfq; };
                $default = class ( rate 180kbps, ceil 1440kbps ) { sfq; };
            }
        }
    }
}

이 예에서 사무실 인터페이스를 통해 전송된 트래픽은 ssh, kyon, fast 및 default 등 여러 범주로 나뉩니다. 링크(사용 시 T1)는 1440kbps로 제한됩니다. 이는 버퍼링이 라우터가 아닌 Linux 시스템에서 발생하도록 실제 링크 속도보다 약간 낮아야 합니다. SSH에는 720kbps, kyon 360 등이 할당된 것을 볼 수 있습니다. 둘 다 최대 속도(최고 속도)로 버스트할 수 있습니다. 경합이 있는 경우에는 "rate"가 비율로 작용하므로 ssh에는 1/2, kyon 1/4 등이 부여됩니다. "sfq"는 여러 SSH 세션을 처리하는 방법을 나타냅니다. sfq는 라운드 로빈 형식입니다.

관련 정보