更新1

更新1

相關話題

我的問題類似但不完全相同SSH破管,訊息認證碼不正確對此沒有答案。

任務

將大檔案從一個 Linux 複製到另一個 Linux。兩者均位於同一 ISP 位置。

設定

源和目標都是:Ubuntu 16.04.3 LTS

兩者的 SSH 版本:OpenSSH_7.2p2 Ubuntu-4ubuntu2.2、OpenSSL 1.0.2g 2016 年 3 月 1 日

源機已使用一年,沒有任何問題。目標電腦是新設定的專用伺服器(1 天)。

scp指令:

scp -P [customport] /some/large/file user@targetmachine:/target/folder/

該檔案大小約為 20 GB。

問題描述

它通常會在大約 3-4% 後中止。全速約112MB/s。當我使用例如 scp -l 16384 進行節流時,它的速度約為 2MB/s,中止時間要晚得多,但百分比相似。

中止總是以完全相同的方式進行。客戶得到:

Write failed: Broken pipe 
lost connection

雖然伺服器在 /var/log/auth.log 中有此內容

Nov 24 13:04:54 Ubuntu-1604-xenial-64-minimal-no-hwe sshd[1900]: Corrupted MAC on input.
Nov 24 13:04:54 Ubuntu-1604-xenial-64-minimal-no-hwe sshd[1900]: fatal: ssh_dispatch_run_fatal: Connection from [client-ip] port 54050: message authentication code incorrect

調查

我已經嘗試過啟用和停用 iptables,沒有任何變化。

在大約 10 次嘗試中,有 1 次成功完成,然後下一個檔案再次中止。

看來重啟目標機器後,可以寫入更多位元組。

SSH沒問題。我可以將空閒的 ssh 連線保持開啟狀態數小時,或者在命令top運行且不會中斷的情況下保持連線。

問題

這是一個攔截器。首先,複製 200GB 的檔案似乎是不可能的。其次,我不希望生產中的機器出現網路問題。

我可以做什麼來進一步調查此事?

我在其他地方讀到這可能是網卡/硬體問題,我如何向我的提供者證明這一點以獲得更換?

更新1

10 分鐘的結果mtr看起來不錯:

└─(~)─(49 files, 12Gb)─> mtr -r -c 600 -rw [targetserver]
Start: Fri Nov 24 18:36:21 2017
HOST: Ubuntu-1404-trusty-64-minimal             Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- static.XX.XX.XX.XX.clients.your-server.de  0.0%   600    0.5   0.3   0.2  24.5   1.3
  2.|-- core24.fsn1.hetzner.com                    0.0%   600    0.3   0.3   0.2   6.8   0.4
  3.|-- core22.fsn1.hetzner.com                    0.0%   600    0.4   0.4   0.3   9.7   0.8
  4.|-- ex9k2.dc1.fsn1.hetzner.com                 0.0%   600    0.4   0.5   0.3   6.8   0.8
  5.|-- my.target.hostname                         0.0%   600    0.4   0.3   0.3   0.4   0.0
┌(myuser@Ubuntu-1404-trusty-64-minimal)─(✓)─(06:46 PM Fri Nov 24)

之後我又嘗試了另一個 scp,7.5GB 後失敗率為 44%,速率為 111MB/秒。失敗再次立即來臨,在此之前沒有任何停滯。

關於可能的重複:我總是得到“破損的管道”,而不是“套接字的協議類型錯誤”。不使用 Mac,都是 Linux(以上版本)。不使用rsync。據我了解,答案是用戶將另一塊網卡插入伺服器,但沒有弄清楚實際原因是什麼。我沒有這個選項(遠端主機中心的專用伺服器)。

以下是有關網卡的 lshw 輸出:

myuser@Ubuntu-1604-xenial-64-minimal-no-hwe /home/myuser # lshw -class network
  *-network:0 DISABLED
       description: Ethernet interface
       product: NetXtreme II BCM57810 10 Gigabit Ethernet
       vendor: Broadcom Corporation
       physical id: 0
       bus info: pci@0000:61:00.0
       logical name: eth0
       version: 10
       serial: e0:d5:5e:1e:73:18
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm vpd msix pciexpress bus_master cap_list rom ethernet physical fibre 1000bt-fd
       configuration: autonegotiation=off broadcast=yes driver=bnx2x driverversion=1.712.30-0 firmware=bc 7.14.2 latency=0 link=no multicast=yes port=fibre
       resources: iomemory:14c0-14bf iomemory:14c0-14bf iomemory:14c0-14bf irq:81 memory:14c0b000000-14c0b7fffff memory:14c0a800000-14c0affffff memory:14c0b810000-14c0b81ffff memory:e5f80000-e5ffffff memory:14c0ba20000-14c0bc1ffff memory:14c0bca0000-14c0bd1ffff
  *-network:1 DISABLED
       description: Ethernet interface
       product: NetXtreme II BCM57810 10 Gigabit Ethernet
       vendor: Broadcom Corporation
       physical id: 0.1
       bus info: pci@0000:61:00.1
       logical name: eth1
       version: 10
       serial: e0:d5:5e:1e:73:1a
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm vpd msix pciexpress bus_master cap_list rom ethernet physical fibre 1000bt-fd
       configuration: autonegotiation=off broadcast=yes driver=bnx2x driverversion=1.712.30-0 firmware=bc 7.14.2 latency=0 link=no multicast=yes port=fibre
       resources: iomemory:14c0-14bf iomemory:14c0-14bf iomemory:14c0-14bf irq:102 memory:14c0a000000-14c0a7fffff memory:14c09800000-14c09ffffff memory:14c0b800000-14c0b80ffff memory:e5f00000-e5f7ffff memory:14c0b820000-14c0ba1ffff memory:14c0bc20000-14c0bc9ffff
  *-network:0
       description: Ethernet interface
       product: I350 Gigabit Network Connection
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:62:00.0
       logical name: eth2
       version: 01
       serial: 6c:b3:11:23:32:18
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.3.0-k duplex=full firmware=1.63, 0x80000cbb ip=94.130.51.145 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:71 memory:e5900000-e59fffff memory:e5a84000-e5a87fff memory:e5a00000-e5a7ffff memory:14c0bf60000-14c0bf7ffff memory:14c0bf40000-14c0bf5ffff
  *-network:1 DISABLED
       description: Ethernet interface
       product: I350 Gigabit Network Connection
       vendor: Intel Corporation
       physical id: 0.1
       bus info: pci@0000:62:00.1
       logical name: eth3
       version: 01
       serial: 6c:b3:11:23:32:19
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi msix pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.3.0-k firmware=1.63, 0x80000cbb latency=0 link=no multicast=yes port=twisted pair
       resources: irq:82 memory:e5800000-e58fffff memory:e5a80000-e5a83fff memory:14c0bf20000-14c0bf3ffff memory:14c0bf00000-14c0bf1ffff
  *-network DISABLED
       description: Ethernet interface
       physical id: 1
       logical name: virbr0-nic
       serial: 52:54:00:80:b4:28
       size: 10Mbit/s
       capabilities: ethernet physical
       configuration: autonegotiation=off broadcast=yes driver=tun driverversion=1.6 duplex=full link=no multicast=yes port=twisted pair speed=10Mbit/s

這提醒我,我確實安裝了KVM

apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

但還沒有虛擬機器啟動。

答案1

scp我在使用或rsync+ samba/時遇到了類似的問題cifs

透過在客戶端上安裝伺服器時繞過寫入緩存,該問題在rsync+ samba/方面得到了解決(另請參閱cifs--cache=nonersync 不斷斷開連接:管道損壞)。關於此問題的根本原因的深入解釋位於讓 Linux 在本機磁碟讀取的同時寫入網路檔案系統

scp可以考慮限制傳輸速率,以避免在磁碟能夠跟上之前填充頁面緩存,請參閱範例https://stackoverflow.com/questions/30020519/broken-pipe-error-on-scp

答案2

這是一個“minimal-no-hwe”安裝。 Ubuntu 的「最小」版本很可能從一開始就可以運作。

這些命令用於將 hwe 安裝到此故障的 no-hwe 版本中(因此無需完全重新安裝):

apt-get install --install-recommends linux-generic-hwe-16.04
shutdown -r now

此後,所有 scp 副本都可以工作,不會中止。

附註,終端中的問候語仍然顯示

"myuser@Ubuntu-1604-xenial-64-minimal-no-hwe"

即使現在 hwe 已開啟。

我再次澄清了此修復之前的行為:從不同位置到這台電腦的所有大型 scp 都中止,而從這台電腦到不同位置的所有大型 scp 都成功。

這是伺服器規格https://www.hetzner.de/epyc-server儘管主機沒有指定主機板/網路的型號。

相關內容