Мы недавно была небольшая проблема с сетью, где несколько серверов будут периодически терять подключение к сети, что довольно болезненно (требуется жесткая перезагрузка). Это продолжалось около двух недель, казалось бы, случайным образом на разных серверах. Никакой особой закономерности, которую мы могли бы различить.
Покопавшись в нем, мы увидели, что коммутатор сообщает о 100 Мбит / с для проблемного порта:
Это удивительно похоже на то, что произошло в статье Джоэла Спольски. Пять почему
Майкл провел некоторое время, проводя вскрытие, и обнаружил, что проблема заключалась в простой конфигурации коммутатора. Существует несколько возможных скоростей, которые коммутатор может использовать для связи (10, 100 или 1000 мегабит в секунду). Вы можете установить скорость вручную или позволить коммутатору автоматически устанавливать максимальную скорость, с которой могут работать обе стороны. Переключатель, который вышел из строя, был настроен на автосогласование. Обычно это работает, но не всегда, и утром 10 января этого не произошло.
У нас есть сейчас отключено автосогласование на нашем сетевом оборудовании и установите для него фиксированную скорость 1000 Мбит / с (гигабит).
Мои вопросы тем, у кого есть опыт работы с серверным оборудованием в сети:
Мне еще предстоит увидеть проблему с автоматическим согласованием скоростей сети, которая не вызвана либо (а) несоответствием ручного управления на одном конце ссылки и автоматического на другом, либо (б) неисправным компонентом ссылки ( кабель, порт и т. д.).
Это зависит от администратора, но мой опыт показал мне, что если вы вручную укажете скорость соединения и настройки дуплекса, вы обязательно столкнетесь с несоответствием скорости. Зачем? Потому что практически невозможно задокументировать различные соединения между коммутаторами и серверами, а затем следовать этой документации при внесении изменений. Большинство сбоев, которые я видел, связаны с 1 (a), и вы попадаете в эту ситуацию только тогда, когда начинаете вручную устанавливать настройки скорости / дуплекса.
Как упоминается в Документация Cisco:
Если вы отключите автосогласование, оно скроет обрывы соединения и другие проблемы физического уровня. Отключите автосогласование только для конечных устройств, таких как старые гигабитные сетевые карты, которые не поддерживают гигабитное автосогласование. Не отключайте автосогласование между коммутаторами без крайней необходимости, поскольку проблемы физического уровня могут остаться незамеченными и привести к возникновению петель связующего дерева.
Если вы не готовы настроить систему управления изменениями для сетевых изменений, которая требует проверки скорости / дуплекса (и не забывайте об управлении потоком), или не хотите иметь дело со случайными несоответствиями, возникающими из-за ручного указания этих настроек на всех сетевых устройствах, затем придерживайтесь конфигурации по умолчанию auto / auto.
В будущем рассмотрите возможность отслеживания ошибок на портах коммутатора с помощью MRTG чтобы вы могли обнаружить эти проблемы до того, как у вас возникнет проблема.
Редактировать: Я действительно вижу, как многие люди ссылаются на неудачи переговоров по старому оборудованию. Да, это было проблемой давно, когда создавались стандарты, и не все устройства им следовали. Вашим сетевым адаптерам и коммутаторам менее 10 лет? Если так, то это не будет проблемой.
Очень часто, у меня было множество проблем с разными типами оборудования на протяжении многих лет.
На мой взгляд, если установка статическая (например, серверная стойка), и вы не думаете, что будут изменения, рекомендуется вручную настроить скорость и дуплекс. При условии, что это хорошо задокументировано, чтобы можно было предотвратить будущие проблемы.
РЕДАКТИРОВАТЬ:
Просто чтобы прояснить, я не защищаю использование ручных скоростей во всей вашей сети, я бы сказал, что 95% времени автоматический / автоматический - это лучший способ. Я просто говорю, что у меня были проблемы с дуплексом / скоростью, и есть небольшие участки моей сети (например, одна из наших серверных стоек), которые в основном настраиваются вручную. У нас очень жестко контролируемая локальная сеть с отключением неиспользуемых портов и MAC-фильтрами на большинстве портов, поэтому отслеживать скорость не так сложно.
Итак, шаги по устранению неполадок (предположим, что вы останавливаетесь после каждого и ждете, пока проблема не появится снова):
На этом этапе вы устранили конфигурацию, физические порты, к которым вы подключены, и кабели между ними. Если это по-прежнему происходит, могут быть другие причины:
Предыстория / почему мой ответ самый потрясающий: я работаю сетевым / системным инженером в финансовой индустрии, и вот мой опыт работы с нашей небольшой глобальной сетью (15 филиалов, 8 центров обработки данных):
Все наши порты LAN являются автономными, потому что мы контролируем оборудование на обоих концах и имеем какой-то доступ к обеим сторонам, что может быть так же просто, как позвонить кому-нибудь и попросить его проверить настройки. За три года у меня только один из наших внутренних портов выходил из строя из-за сбоя автонегирования, и это было из-за плохого кабеля - он исчез после замены кабеля.
У нас было гораздо больше проблем, когда предшественники жестко запрограммировали 100 / full на своих сетевых адаптерах и не документировали этот факт. Сбросьте все на auto / auto в следующем главном окне, и с тех пор проблем с ними не было.
В нескольких местах, где у нас есть передача меди от оператора для нашей WAN? Вы должны в значительной степени ожидать, что медное соединение WAN / Internet будет все время отстойным - отчасти потому, что вы понятия не имеете, что на другой стороне. Какой-то древний коммутатор Extreme, у которого есть глючная прошивка для autoneg, но есть ли теги MPLS? Какой-то медиаконвертер за 5 долларов, потому что периферийное устройство Ciena за 200 тысяч долларов вашего интернет-провайдера слишком круто, чтобы обеспечить Ethernet по витой паре? Заранее решите, как это будет обрабатываться, и придерживайтесь его, а затем ожидайте, что какой-то дурачок внутри оператора связи изменит его в 22:00 в субботу, потому что согласованная конфигурация никогда не была документирована, и у них есть некоторая политика, которой нужно следовать.
А если серьезно, попросите своего провайдера передать оптоволокно.
Я считаю, что если автосогласование работало в течение часа в день или месяц, а затем по какой-то причине «что-то происходит», установка связи на фиксированную скорость «исправляет это», возникает проблема, которая не решается, а вместо этого обходится. Полагаю, я вижу установку ссылки на «Исправлено» как временное решение, пока не будет исправлена реальная проблема.
Сеть, за которую я отвечаю (вместе с несколькими другими ребятами), состоит из ~ 40 серверов, 1000+ рабочих станций (разбросанных по довольно большому кампусу) и ~ 1000 WAP, также разбросанных по большой территории разного типа и возраста. сетевого оборудования.
Как сказал dimitri.p, когда что-то внезапно не может остановить автосогласование, это обычно указывает на другую проблему. Установка порта вручную сродни наложению повязки на кого-то, кто получил ножевое ранение в кишечнике - это может остановить кровотечение, но под ним обязательно будет повреждение.
Мой обычный контрольный список:
Мы, как правило, никогда отключите autoneg на серверах (или что-либо еще в центре обработки данных), если это не ситуация, когда все другие возможные причины были устранены, мы переместили порты коммутатора, заменили кабели, протестировали сетевую карту и т. д., и другого выбора нет. В этом случае это документируется до смерти. Это случается очень редко и обычно с устройствами, к которым мы не можем получить доступ для проверки настроек BIOS и ОС.
С другой стороны, рабочие станции и точки доступа - это совсем другая история. Неисправный autoneg - классический признак плохой работы кабеля, и нам часто приходится вручную устанавливать скорость и дуплекс, пока не наступит летний сезон прокладки новых кабелей в стене.
Вы должны вести переговоры автоматически. Если у вас есть коммутатор, который не поддерживает надежное автоматическое согласование, купите коммутатор получше.
Гигабит - это предполагаемый для автоматического согласования, включая обнаружение автоматического кроссовера (MDI-X).
100baseT - это гарантированный сбой, если один конец установлен на автоматический, а другой - на ручной, и это в соответствии со спецификациями. Если вы установите один конец на 100 / полный, то другой конец воля автосогласование до 100 / половина, что дает вам дуплексное несоответствие.
Это сетевой миф. Наши сетевые парни клянутся этой чепухой, потому что еще в 1998 году коммутаторы Bay не могли вести переговоры с Cisco или чем-то подобным. Таким образом, вместо использования по умолчанию для 99,999% оборудования на Земле у нас есть это нелепое упражнение по управлению конфигурацией и отличный козел отпущения для тех случаев, когда обновление драйвера сетевой карты сбрасывает настройки на автосогласование, и все происходит.
Это стало еще более забавным, потому что многие из наших серверов используют сомнительные функции, такие как объединение сетевых адаптеров, которые предотвращают потерю доступа к сети в маловероятном случае отказа коммутатора, в то же время подвергая вас гораздо более вероятному отказу программного обеспечения. (Водители всегда отстой)
В защиту сетевых специалистов, многие серверы работают с драйверами сетевых адаптеров Windows по умолчанию, что обычно отстой. Если у вас есть проблемы с автосогласованием, и ваше оборудование не относится к администрации Клинтона, обновите эти драйверы сетевой карты.
Обычно я устанавливаю серверы на фиксированные, поскольку я видел, как сетевое оборудование согласовывалось с 10 / половиной вместо 1000 / заполнено.
Также некоторые CoLos устанавливают свои переключатели не на согласование, а только на установление связи 1000 / full.
Отключение автосогласования в непроверенной начальной конфигурации похоже на программирование вуду - вы что-то меняете без уважительной причины. Если после тестирования вы обнаружите несоответствие дуплекса или скорости, либо чрезмерное количество ошибок на порту, займитесь поиском других неисправностей и, наконец, исправьте конфигурацию, если необходимо.
Когда вы обновляете драйвер или заменяете оборудование, нет никаких гарантий, что ваши настройки будут сохранены на стороне сервера.
Настройте обе стороны ссылки на согласование или исправьте обе стороны. Когда вы исправляете настройки скорости и дуплексного режима на некоторых устройствах, они больше не объявляют о своих возможностях своим коллегам. Я не знаю, что стандарт Ethernet говорит о том, что делать, когда одна сторона объявляет о возможностях, а другая - нет, и это, вероятно, означает, что многие разработчики тоже не знают. Некоторые выберут наименьший общий знаменатель, равный 10-ти половинному, а другие будут считать, что все в порядке, и выберут максимально возможную скорость.
Есть некоторые современные части оборудования, которые не поддерживают автосогласование на гигабитном медном Ethernet, например (по крайней мере, некоторые) коммутаторы Cisco с медными SFP.
Много лет назад я некоторое время работал в 3com, оказывая техническую поддержку практически всему их сетевому оборудованию. Удивительно, как часто возникала эта проблема, и это была стандартная процедура, чтобы настроить все вручную.
Грубый. Я видел сетевые карты 3com на 100 Мбайт, которые не смогли бы подключиться ни на что выше 10 Мбайт, если бы вы установили скорость или дуплекс. Вы могли получить полную скорость, только разрешив им автоматическое согласование, даже если у драйвера были настройки 100 МБ Full и 100Mb Half.
Многие драйверы NIC не позволяют указать 1000 МБ. Единственный выбор: 10, 100, Авто. Снова заставляю вас использовать Авто, если вы хотите полную скорость. например, драйвер Broadcom netXtreme 57xx Gigabit ведет себя так.
Вы можете легко включить Gigabit на коммутаторе, но я думаю, вам придется позволить большинству сетевых адаптеров автоматически согласовывать свои параметры.
У меня было много проблем с автосогласованием. Многие, конечно, означает один раз в несколько месяцев, но в моей книге это одна проблема.
Проблемы с автосогласованием трудно найти, особенно когда люди, управляющие сетью, серверами, приложениями и базами данных, представляют собой четыре разные команды. Обычно последние двое тратят много времени на то, чтобы ходить туда-сюда, обвиняя друг друга в плохой работе и лжи об измерениях, а иногда и пинают это серверным людям, которые должным образом смотрят на результат "top" и говорят, что все в порядке. с сервером нормально.
Это продолжается до тех пор, пока проблема не перерастет в точку, когда «эксперт» (фактически, тот, кто является универсальным специалистом и, следовательно, разбирается в сетях, оборудовании, операционных системах, базах данных, фреймворках и приложениях), назначается для решения проблемы и находит проблему. в течение пяти или десяти минут.
Итак, мое собственное практическое правило, когда у меня есть возможность что-то с этим сделать, - ВСЕГДА устанавливать фиксированные скорости на производственных серверах, коммутаторах и маршрутизаторах. Также непроизводственные серверы, если они достаточно изолированы, чтобы люди, которые их используют, не имели к ним корневого доступа.
Коммутаторы, управляющие доступом к настольному компьютеру / ноутбуку, можно оставить для автоматического согласования, и из этого правила есть исключения. Просто упомяну одно: если в сети происходит много изменений, лучше оставить его в автоматическом режиме и следить за происходящим.
Еще один момент, который может быть полезен, какой бы выбор вы ни сделали в отношении автосогласования, это к монитор вещь. Просто настройте Nagios или что-нибудь, чтобы следить за состоянием любого важного порта. Вы ведь уже следите за этим сетевым оборудованием, не так ли?
У меня были некоторые проблемы с автосогласованием в домашних условиях, и проблема заключалась в проводке, в частности, сетевые кабели свернуты в петлю со слишком маленьким диаметром или слишком близко к кабелям питания.
Но я полагаю, что эти предложения слишком тривиальны для вашей установки. ;)
По моему опыту (в основном оборудование 3Com и HP, а не Cisco), автосогласование не вызывает особых проблем.
Как и в случае с mrdenny, я обычно настраиваю серверы на максимальную скорость (у нас все еще есть 100), полный дуплекс, а затем оставьте переключатель в положении «Авто». Поскольку у нас есть разные скорости как на серверах, так и на рабочих станциях, я предпочитаю оставить переключатели в автоматическом положении и позволить им адаптироваться к конечной точке.
Я недавно читал об этом в «Сетевом воине» Гэри Донахью. Основываясь на этой книге, для правильной работы автосогласования ОБЕИ коммутатор и сетевая карта должны быть настроены на автосогласование. Установка сетевой карты на определенную скорость и дуплексный режим и оставление сервера в режиме автосогласования не будет работать правильно - автосогласование - это протокол, и обе стороны должны говорить по нему, чтобы настройки работали правильно.
Если вы хотите явно установить скорость и дуплексный режим, вам нужно сделать это на обоих концах соединения.
Cisco обсуждает некоторые случаи, когда вы можете вручную настроить скорость порта и дуплекс, а не использовать автосогласование при использовании устройств безопасности PIX / ASA: http://www.cisco.com/en/US/products/hw/vpndevc/ps2030/products_tech_note09186a008009491c.shtml#troubleshoot
Мое практическое правило - использовать автосогласование для всего, кроме каналов маршрутизатора, если только у вас нет особых проблем (например, недавние карты Broadcom ... БАХ!)
Если у вас есть два маршрутизатора, связанных, например, через Ethernet, вручную установите скорость на обоих концах.