Мынедавно была небольшая проблемас сетевым взаимодействием, когда несколько серверов периодически теряли сетевое соединение довольно болезненным для решения способом (требовалась жесткая перезагрузка). Это продолжалось около двух недель, по-видимому, случайным образом, на разных серверах. Никакой конкретной закономерности, которую мы могли бы различить.
Немного поразмыслив, мы увидели, что коммутатор сообщает о скорости 100 Мбит/с для проблемного порта:
Это очень похоже на то, что произошло в статье Джоэла Спольски.Пять «почему»
Майкл потратил некоторое время на вскрытие и обнаружил, что проблема была в простой конфигурации коммутатора. Существует несколько возможных скоростей, которые коммутатор может использовать для связи (10, 100 или 1000 мегабит в секунду). Вы можете либо установить скорость вручную, либо позволить коммутатору автоматически согласовывать максимальную скорость, с которой могут работать обе стороны.Вышедший из строя коммутатор был настроен на автосогласование. Обычно это работает, но не всегда, и утром 10 января этого не произошло.
У нас сейчас естьотключено автосогласованиена нашем сетевом оборудовании и устанавливаем фиксированную скорость 1000 Мбит/с (гигабит).
Мои вопросы тем, кто имеет больше опыта в области серверного сетевого оборудования:
- Насколько распространены проблемы автоматического согласования в современном сетевом оборудовании?
- Считается ли хорошей стандартной сетевой практикой отключение автосогласования и установка фиксированных скоростей при настройке сети?
решение1
Я еще не видел проблем с автоматическим согласованием скоростей сети, которые не были бы вызваны либо (a) несоответствием ручного режима на одном конце соединения и автоматического на другом, либо (b) неисправным компонентом соединения (кабелем, портом и т. д.).
Это зависит от администратора, но мой опыт показал мне, что если вы вручную указываете скорости соединения и настройки дуплекса, то вы обязательно столкнетесь с несоответствиями скорости. Почему? Потому что практически невозможно документировать различные соединения между коммутаторами и серверами, а затем следовать этой документации при внесении изменений. Большинство сбоев, которые я видел, происходят из-за 1(a), и вы попадаете в такую ситуацию только тогда, когда начинаете вручную устанавливать настройки скорости/дуплекса.
Как упоминается вДокументация Cisco:
Если вы отключите автосогласование, оно скроет обрывы связи и другие проблемы физического уровня. Отключайте автосогласование только для конечных устройств, таких как старые гигабитные сетевые карты, которые не поддерживают автосогласование Gigabit. Не отключайте автосогласование между коммутаторами, если это не является абсолютно необходимым, так как проблемы физического уровня могут остаться незамеченными и привести к образованию петель связующего дерева.
Если вы не готовы настроить систему управления изменениями для сетевых изменений, требующую проверки скорости/дуплекса (и не забудьте про управление потоком), или не готовы иметь дело с периодическими несоответствиями, возникающими из-за ручного указания этих настроек на всех сетевых устройствах, то придерживайтесь конфигурации по умолчанию auto/auto.
В будущем рассмотрите возможность мониторинга ошибок на портах коммутатора с помощьюМРТГчтобы вы могли обнаружить эти проблемы до того, как они возникнут.
Редактировать:Я вижу, как многие люди ссылаются на сбои в согласовании на старом оборудовании. Да, это было проблемой давно, когда создавались стандарты, и не все устройства им следовали. Вашим сетевым картам и коммутаторам меньше 10 лет? Если да, то это не будет проблемой.
решение2
Очень часто, за эти годы у меня было много проблем с различными типами оборудования.
По моему мнению, если настройка статична (т. е. серверная стойка) и вы не думаете, что будут изменения, то хорошей идеей будет настроить скорости и дуплексы вручную. Главное, чтобы это было хорошо документировано, чтобы можно было избежать будущих проблем.
РЕДАКТИРОВАТЬ:
Просто для ясности, я не пропагандирую использование ручных скоростей во всей вашей сети, я бы сказал, что в 95% случаев auto/auto — это правильный путь. Я просто говорю, что у меня были проблемы с дуплексом/скоростью, и есть небольшие части моей сети (например, одна из наших серверных стоек), которые в основном имеют ручные настройки. Мы работаем в очень жестко контролируемой локальной сети с отключенными неиспользуемыми портами и MAC-фильтрами на большинстве портов, поэтому отслеживать скорости не очень сложно.
решение3
Я считаю, что если автосогласование работало час в день или месяц, а затем по какой-то причине "что-то происходит", и настройка ссылки на фиксированную скорость "исправляет это", то проблема не решается, а обходит. Думаю, я рассматриваю настройку ссылки на фиксированную как временное решение, пока не будет исправлена настоящая проблема.
решение4
Сеть, за которую я отвечаю (вместе с несколькими другими ребятами), состоит из примерно 40 серверов, более 1000 рабочих станций (разбросанных по довольно большому кампусу) и примерно 1000 точек беспроводного доступа, также разбросанных по большой территории с сетевым оборудованием разных типов и возрастов.
Как сказал dimitri.p, когда что-то внезапно не может остановить автосогласование, это обычно указывает на другую проблему. Настройка порта вручную похожа на наложение пластыря на человека, получившего ножевое ранение в живот — это может остановить кровотечение, но под ним наверняка будут повреждения.
Мой обычный контрольный список:
- что-нибудь изменилось на машине? драйверы? настройки на уровне ОС или BIOS? Возможно, в ОС был отключен autoneg?
- вы поменяли соединительные кабели, ипроверенокабельные трассы (если это более длинная трасса, чем одна стойка?)
- Вы проверили порт коммутатора на предмет неисправности или сбоя?
- может ли быть, что сетевой адаптер вышел из строя?
Мы, как правило,никогдаотключите autoneg на серверах (или где-либо еще в центре обработки данных), если только это не ситуация, когда все другие возможные причины были устранены, мы переместили порты коммутатора, поменяли кабели, протестировали NIC и т. д. и нет другого выбора. В этом случае это документируется до смерти. Это случается очень редко, и обычно с устройствами, к которым мы не можем получить доступ, чтобы проверить настройки BIOS и ОС.
С другой стороны, рабочие станции и точки доступа — это совсем другая история. Неудачный автоотрицательный ответ — классический признак плохой прокладки кабеля, и нам часто приходится вручную устанавливать скорость и дуплекс, пока не наступит летний сезон прокладки новых кабелей в стенах.