Есть ли команда для проверки, действительно ли работают jumbo-кадры? то есть своего рода "пинг", который сообщает, был ли пакет разбит по пути.
У меня есть хост ESXi с виртуальной машиной Ubuntu, которая монтирует Dell MD3000i через iSCSI. Я подозреваю, что большие кадры не включены на коммутаторе и не могут легко получить к нему доступ администратора. У меня есть возможность подключить дисковый массив напрямую к хосту ESXi, но я хотел бы сначала каким-то образом подтвердить, что большие кадры являются проблемой.
Включение Jumbo Frames означает разрешение большего максимального блока передачи (MTU), обычно путем установки MTU на 9000.
Чтобы убедиться, что это сработало, вы можете использовать пинг в окнах с флагом -l, чтобы установить размер пакета, и флагом -f, чтобы установить флаг Не фрагментировать в пакете.
ping my.test.host -f -l 8972
Если пакет фрагментирован, вы увидите
Packet needs to be fragmented by DF set
вместо того, что вы обычно видите.
Для Linux команда ping использует разные флаги. -s
устанавливает размер пакета и -M do
устанавливает "Не фрагментировать". Таким образом, приведенная выше команда будет:
ping my.test.host -M do -s 8972
Регулируя размер пакета, вы можете определить mtu для ссылки. Это будет самый низкий mtu, допустимый для любого устройства в пути, которым может быть ваш коммутатор, ваш компьютер, цель или что-то еще между ними.
Само по себе это не скажет вам, где самый низкий MTU - вы можете решить это, запустив тест на разные устройства на пути, но всегда могут быть прозрачные маршрутизаторы, которые ограничивают MTU, но не отображаются для traceroute
.
Заметка для заголовков ICMP накладные расходы составляют 28 байтов, поэтому MTU на 28 байтов больше, чем значение, которое вы установили с помощью описанного выше метода. Итак, чтобы проверить MTU, равное 9000, вам действительно нужно установить размер пакета ping на 9000-28 = 8972.
Обновить Я нашел несколько ресурсов, которые специально определяют MTU на пути между хостом и целью:
В ESXi вам нужно указать, какой интерфейс вы бы использовали, иначе ping будет маршрутизироваться через интерфейс mgmt, плюс в -d для установки DF (не фрагментировать):
vmkping -I vmkX -s 8972 -d x.x.x.x
Я не уверен, что это сработает, но вы можете попробовать:
На компьютере, на котором установлен клиент MDSM, убедитесь, что Jumbo Frames поддерживаются и включены, затем перейдите на вкладку поддержки в клиенте MDSM и выберите ссылку «Сбор информации о поддержке», выберите место на клиенте MDSM для загрузки файла, запустите захват пакета на клиенте MDSM и нажмите кнопку «Пуск», чтобы начать сбор и загрузку информации поддержки (zip-файл). Когда сбор / загрузка завершена, посмотрите на захват и посмотрите, насколько велики кадры Ethernet от MD3000i к клиенту MDSM. Если коммутатор, MD300i и клиент MDSM настроены для Jumbo Frames, вы должны увидеть это в размере кадра Ethernet в захвате.
Вы также можете проверить это с консоли ESXi через SSH: включите Security-> Firewall-> Remote Tech.support (SSH) и после входа в систему ssh выполните «vmkping -s 8000» или что-то в этом роде (точно не помню его параметры)