좋아, 제목이 의미하는 것보다 이야기에 조금 더 있습니다.
배경 및 환경 : 이전 Ubuntu 서버에서 SMB를 통해 최신 Windows 2012 서버로 몇 TB를 복사하고 있습니다. (기술적으로는 상용 하드웨어이지만 여기에는 서버가 있습니다.) 모두가 기가비트 LAN에 있고 구형 Ubuntu 상자에는 본드 된 인터페이스가 있습니다. 우분투 서버에는 2 개의 Rosewill PCI-e 1x 이더넷 카드가 있고 Windows 서버에는 1 개의 합리적인 PCI Intel 이더넷 카드가 있다고 생각합니다.
대상 컴퓨터 (Windows 서버)가 4x 2TB 드라이브 이상의 패리티를 가진 저장 영역 풀을 실행 중입니다. Microsoft의 새로운 ReFS를 실행 중입니다. 소스 컴퓨터 (우분투 서버)가 소프트웨어 RAID 미러를 실행하고 있습니다. EXT4가 양호합니다.
두 서버는 단일 기가비트 스위치를 통해 실행됩니다. 나는 아무런 개선없이 소스 (우분투) 컴퓨터에서 본딩을 끊는 실험을 해왔다.
문제 : 다른 컴퓨터에서 Windows 서버로 적당한 속도로 전송하는 데 문제가 없습니다. 다른 컴퓨터는 별 어려움없이 50-80MB / s를 저장할 수 있지만 해당 Ubuntu 서버에서 전송하는 속도는 20MB / s를 넘지 않습니다. 20MB / s의 4 + TB는 시간이 오래 걸리며 (2.3 일 정도) 병목 현상이 발생하는 위치를 파악하기 위해 어떻게해야하는지 궁금합니다.
증상 : 두 컴퓨터의 CPU가 매우 적으며 확실히 사용량이 많지 않습니다. 두 컴퓨터의 하드 드라이브는 활성화되어 있지만 늪지대가 아니며 적어도 Ubuntu 서버에서 CPU IOwait는 거의 0 %입니다.
나는 35 초 동안 Wireshark 추적을 수행했으며 (아마도 모든 ACK가 새 패킷에 대한 것인지 확인하기에 충분히 길었습니다) 예상하지 못한 것이 몇 가지 있음을 알았습니다. (1) Windows에서 Ubuntu 로의 ACK (및 일부 SMB 패킷)에 대한 체크섬이 없습니다. 그러나 Wireshark는 이것이 "IP 체크섬 오프로드"때문일 수 있다고 주장합니다. 좋아, 나는 거기에 꽤 좋은 카드가 있습니다. 네트워크 카드가 체크섬 계산을 수행 할 수 있다고 가정합니다. 좋아. (2) "TCP가 보이지 않는 세그먼트를 ACK했습니다." 이것은 내가 문제가 있습니다. ACK 번호는 내가 말할 수있는 범위에서 허용 가능한 범위 내에 있으며 종종 이러한 메시지의 거대한 블록이 있습니다. 아마도 Wireshark가 너무 느릴까요?
요약 : 전송 속도가 빠르며 (기가비트 이더넷에서 20MB / s) 이유를 모르겠습니다. Wireshark는 Windows가 Ubuntu에서 보내지 않은 것을 ACK하고 있다고 주장합니다.
Guesses : 나의 초기 추측은 더 싼 Rosewill 카드가 늪에 빠지고있는 것이다. 두 번째 추측은 소프트웨어 RAID와 같은 것이 다른 쪽 끝에 있거나 다른쪽에해야 할 일이 많아지고 있다는 것입니다.
sshd
Knoppix 측에서 한 프로세서의 60 %를 차지하고 있습니다. 어쨌든 제 송금이 거의 완료되었습니다. @Dom : 이제 언급했듯이, 처음에는 30MBps보다 훨씬 빠른 속도로 모든 데이터를 저장하는 것을 기억하지 않습니다.