Новый Dell 7090 Tower - Установлен Ubuntu 20.10, 21.04 и 21.10 - Потеря сетевых пакетов до тех пор, пока не будет подключен флэш-накопитель USB

Недавно я получил новую машину Dell Optiplex 7090, i9-10900, 64 ГБ RAM

. Я попытался установить Ubuntu 20.04 (сервер, не использующий графический интерфейс, поэтому только серверную версию), но после первого экрана, где вы выбираете установку Ubuntu дисплей гаснет / теряет сигнал. Я предполагаю, что оборудование слишком новое для 20.04.

Я установил 20.10 (или, может быть, 21.04), и он установился нормально, без проблем, плавно, как и ожидалось. Однако после выполнения базовой настройки в течение 15 минут или около того мое SSH-соединение стало медленным / оборвалось. Во время расследования я заметил значительную потерю пакетов - это выглядело как конфликт IP-адресов в сети. Я проверил и изменил IP, но без разницы.

Он использует бортовую локальную сеть Гбит, подключенную непосредственно к маршрутизатору. Я поменял местами сетевой кабель с другим моим компьютером рядом с ним, и у него не было проблем (это означало, что он также использовал другой порт на маршрутизаторе) ). Я попытался установить статический IP-адрес Я попытался переустановить с нуля, пробовал разные версии Ubuntu 20.04 / 21.04 / 21.10 (где я сейчас использую). Я пробовал CentOS 8 - все работало нормально, без потери сетевых пакетов, но я предпочитаю использовать Ubuntu, поэтому хочу, чтобы он работал.

В конце концов, я понял, что если я вставлю определенную карту памяти USB в передний порт USB3, потеря пакетов прекратится и сетевое соединение станет стабильным. На вашем месте я бы тоже не поверил, но обещаю, что это сделает сетевое соединение стабильным. Я даже не могу понять, как это может иметь значение. Но это сохранялось при различных переустановках. Я устанавливаю Ubuntu с USB-накопителя, удаляю его, использую около 15 минут, а затем начинается потеря пакетов. Затем я подключаю USB-накопитель, и теперь он на 100% стабилен (включая пинг в течение ночи).

Так что я в недоумении, хотел бы я это выяснить, если у кого-нибудь есть идеи / советы, которые стоит попробовать?

lspci -v
00:00.0 Host bridge: Intel Corporation Device 9b33 (rev 05)
    Subsystem: Dell Device 0a52
    Flags: bus master, fast devsel, latency 0
    Capabilities: <access denied>
    Kernel driver in use: skl_uncore

00:02.0 VGA compatible controller: Intel Corporation CometLake-S GT2 [UHD Graphics 630] (rev 05) (prog-if 00 [VGA controller])
    Subsystem: Dell CometLake-S GT2 [UHD Graphics 630]
    Flags: bus master, fast devsel, latency 0, IRQ 148
    Memory at 6000000000 (64-bit, non-prefetchable) [size=16M]
    Memory at 4000000000 (64-bit, prefetchable) [size=256M]
    I/O ports at 3000 [size=64]
    Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: i915
    Kernel modules: i915

00:14.0 USB controller: Intel Corporation Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller (rev 11) (prog-if 30 [XHCI])
    Subsystem: Dell Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller
    Flags: bus master, medium devsel, latency 0, IRQ 125
    Memory at 6001100000 (64-bit, non-prefetchable) [size=64K]
    Capabilities: <access denied>
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci_pci

00:14.2 RAM memory: Intel Corporation Tiger Lake-H Shared SRAM (rev 11)
    Subsystem: Dell Tiger Lake-H Shared SRAM
    Flags: fast devsel
    Memory at 6001114000 (64-bit, non-prefetchable) [disabled] [size=16K]
    Memory at 600111b000 (64-bit, non-prefetchable) [disabled] [size=4K]
    Capabilities: <access denied>

00:15.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-H Serial IO I2C Controller #0 (rev 11)
    Subsystem: Dell Tiger Lake-H Serial IO I2C Controller
    Flags: bus master, fast devsel, latency 0, IRQ 27
    Memory at 4010000000 (64-bit, non-prefetchable) [virtual] [size=4K]
    Capabilities: <access denied>
    Kernel driver in use: intel-lpss
    Kernel modules: intel_lpss_pci

00:16.0 Communication controller: Intel Corporation Tiger Lake-H Management Engine Interface (rev 11)
    Subsystem: Dell Tiger Lake-H Management Engine Interface
    Flags: bus master, fast devsel, latency 0, IRQ 149
    Memory at 6001119000 (64-bit, non-prefetchable) [size=4K]
    Capabilities: <access denied>
    Kernel driver in use: mei_me
    Kernel modules: mei_me

00:17.0 SATA controller: Intel Corporation Device 43d2 (rev 11) (prog-if 01 [AHCI 1.0])
    Subsystem: Dell Device 0a52
    Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 127
    Memory at 6e920000 (32-bit, non-prefetchable) [size=8K]
    Memory at 6e924000 (32-bit, non-prefetchable) [size=256]
    I/O ports at 3080 [size=8]
    I/O ports at 3088 [size=4]
    I/O ports at 3060 [size=32]
    Memory at 6e923000 (32-bit, non-prefetchable) [size=2K]
    Capabilities: <access denied>
    Kernel driver in use: ahci
    Kernel modules: ahci

00:1b.0 PCI bridge: Intel Corporation Device 43c4 (rev 11) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 122
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    I/O behind bridge: [disabled]
    Memory behind bridge: 6e800000-6e8fffff [size=1M]
    Prefetchable memory behind bridge: [disabled]
    Capabilities: <access denied>
    Kernel driver in use: pcieport

00:1c.0 PCI bridge: Intel Corporation Device 43bd (rev 11) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0, IRQ 123
    Bus: primary=00, secondary=02, subordinate=03, sec-latency=0
    I/O behind bridge: [disabled]
    Memory behind bridge: [disabled]
    Prefetchable memory behind bridge: [disabled]
    Capabilities: <access denied>
    Kernel driver in use: pcieport

00:1f.0 ISA bridge: Intel Corporation Device 4384 (rev 11)
    Subsystem: Dell Device 0a52
    Flags: bus master, fast devsel, latency 0

00:1f.3 Audio device: Intel Corporation Device f0c8 (rev 11)
    Subsystem: Dell Device 0a52
    Flags: bus master, fast devsel, latency 64, IRQ 150
    Memory at 6001110000 (64-bit, non-prefetchable) [size=16K]
    Memory at 6001000000 (64-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel

00:1f.4 SMBus: Intel Corporation Tiger Lake-H SMBus Controller (rev 11)
    Subsystem: Dell Tiger Lake-H SMBus Controller
    Flags: medium devsel, IRQ 16
    Memory at 6001118000 (64-bit, non-prefetchable) [size=256]
    I/O ports at efa0 [size=32]
    Kernel driver in use: i801_smbus
    Kernel modules: i2c_i801

00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-H SPI Controller (rev 11)
    Subsystem: Dell Tiger Lake-H SPI Controller
    Flags: fast devsel
    Memory at 6e922000 (32-bit, non-prefetchable) [size=4K]

00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (14) I219-LM (rev 11)
    Subsystem: Dell Ethernet Connection (14) I219-LM
    Flags: bus master, fast devsel, latency 0, IRQ 124
    Memory at 6e900000 (32-bit, non-prefetchable) [size=128K]
    Capabilities: <access denied>
    Kernel driver in use: e1000e
    Kernel modules: e1000e

01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/980PRO (prog-if 02 [NVM Express])
    Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/980PRO
    Flags: bus master, fast devsel, latency 0, IRQ 16, NUMA node 0
    Memory at 6e800000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: <access denied>
    Kernel driver in use: nvme
    Kernel modules: nvme

02:00.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=02, secondary=03, subordinate=03, sec-latency=0
    I/O behind bridge: [disabled]
    Memory behind bridge: [disabled]
    Prefetchable memory behind bridge: [disabled]
    Capabilities: <access denied>
0
задан 21 June 2021 в 01:43

1 ответ

По умолчанию установлено значение MTU, равное 1500, и его можно использовать в большинстве ситуаций. Тем не менее, некоторым сетям требуется что-то меньшее, например 1492, и они не сообщают об этом в рамках первоначального согласования. Было бы неплохо провести некоторое тестирование, чтобы увидеть, является ли установка MTU причиной чрезмерной потери пакетов.

Вот как:

  1. Если вы внесли какие-либо изменения в файл /etc/dhcp/dhclient.conf , удалите их и перезагрузите сервер.

  2. Используйте ping для проверки потери пакетов при изменении настройки MTU:

     ping -c 4 -M do -s 1472 151.101.193.69 
     

    Определения:

    Параметр Определение
    -c 4 Счетчик ⇢ Количество итераций
    -M do Установить стратегию обнаружения MTU пути ⇢ do не допускает фрагментацию ни на каком уровне
    -s 1472 Размер пакета в битах (1472 + 28 служебных данных = 1500)
    151.101.193.69 IP-адрес для AskUbuntu. Не стесняйтесь использовать любой адрес, но избегайте сервисов, принадлежащих Google, поскольку они не всегда будут отвечать на запросы ping.

    Вы можете увидеть следующий вывод:

     ping -c 4 -M do -s 1472 151.101.193.69 
    PING 151.101.193.69 (151.101.193.69) 1472 (1500) байтов данных. {{ 1}} Начиная с 192.168.0.1 icmp_seq = 1 Требуется фрагмент и установлен DF (mtu = 1454) 
    ping: local error: message too long, mtu = 1454 
    ping: local error: message too long, mtu = 1454 {{ 1}} ping: local error: message too long, mtu = 1454 
     
     --- 151.101.193.69 статистика ping --- 
    4 пакета передано, 0 получено, +4 ошибки, 100% потеря пакетов, время 3074 мс 
     
  3. Поиграйте со значением -s , пока не обнаружите отсутствие фрагментации и слишком длинное сообщение . Например:

     ping -c 4 -M do -s 1200 151.101.193.69 
    PING 151.101.193.69 (151.101.193.69) 1200 (1228) байт данных. 
    1208 байт из 151.101 .193.69: icmp_seq = 1 ttl = 59 time = 5.52 ms 
    1208 байтов из 151.101.193.69: icmp_seq = 2 ttl = 59 time = 5.72 ms 
    1208 байтов из 151.101.193.69: icmp_seq = 3 ttl = 59 time = 5,64 мс 
    1208 байт из 151.101.193.69: icmp_seq = 4 ttl = 59 time = 5,68 мс 
     
     --- 151.101.193.69 статистика пинга --- 
    4 пакета передано, 4 получено, потеря пакетов 0%, время 3005 мс 
    rtt min / avg / max / mdev = 5,517 / 5,640 / 5,720 / 0,076 мс 
     

    Для В этом примере я обнаружил, что 1200 , что составляет MTU 1228 , приводит к нулевой потере пакетов.

    Примечание: В идеале вы должны начать с 1472 и постепенно спускаться вниз с шагом 10 или около того. Если значение MTU слишком низкое, ваша скорость передачи данных пострадает.

  4. Установите соответствующее значение MTU для вашей сети в файле /etc/dhcp/dhclient.conf :

     default interface-mtu 1228; 
    supersede interface-mtu 1228; { {1}} 

    Примечание. Не забудьте изменить 1228 на соответствующий размер MTU для вашей сети.

    Если у вас несколько интерфейсов, вы можете указать, какие из них должны иметь какое значение MTU:

     interface "enp0s31f6" {
    default interface-mtu 1228; 
    заменить interface- mtu 1228; 
    } 
     
  5. Перезапустите сеть и убедитесь, что интерфейс включен:

     sudo service network restart 
    sudo ifup enp0s31f6 
     
  6. Verify значение MTU:

     sudo ifconfig | grep mtu 
     

    Что может дать вам что-то вроде:

     docker0: flags = 4163  mtu 1500 
    enp0s31f6: flags = 4163  mtu 1228 
    lo: flags = 73  mtu 65536 
    veth43316c1: flags = 4163  mtu 1500 {{1 }} veth80786dc: flags = 4163  mtu 1500 
    vethf40bd74: flags = 4163  mtu 1500 
     

С этим, надеюсь, потеря пакетов останется в прошлом

0
ответ дан 28 July 2021 в 11:26

Другие вопросы по тегам:

Похожие вопросы: