(Это начало становиться довольно длинным, но, надеюсь, предоставит краткое изложение того, что можно попробовать для всех, кто столкнулся с этой проблемой - это не простое универсальное решение, судя по внешнему виду; другие решения или возможности исследования также можно найти в ответах).
У меня возникают проблемы с получением надежного общего ресурса на сервере x64 Server 2008 R1 SP1.
Все работает нормально после перезагрузки, но через некоторое время (в течение суток) общие ресурсы становятся недоступными для серверов XP и Server 2003. Что интересно, они остаются доступными для других серверов Server 2008.
При попытке получить доступ \\server\share
, Server 2003 немедленно возвращается и просто выдает мне сообщение «Указанное сетевое имя больше не доступно», XP занимает минуту или две до истечения времени ожидания, прежде чем выдает такое же сообщение. Похоже, что в журналах событий нет ничего, что указывает на проблему.
Пользуясь поиском в Google за последние день или два, я увидел, что виноваты следующие:
netsh int tcp set global autotuninglevel=disabled
и netsh int tcp set global rss=disabled
(см. ссылку 4)Ни один из них не подействовал. Брандмауэр Windows в настоящее время отключен.
Поскольку другие устройства Server 2008 (как x32, так и x64) могут подключаться, я могу только предположить, что есть какая-то новая конфигурация безопасности, которая не совсем правильная - или есть проблема с AD, которую мне нужно отследить, но я не знаю, с чего начать. Даже если кто-то не знает, как решить эту проблему, если кто-то знает, что мне нужно искать с Wireshark, это было бы помощью.
РЕДАКТИРОВАТЬ ... Я включил трассировку Wireshark (фильтруется только по целевому хосту), и я вижу, что клиент (в данном случае Server 2003) отправляет сообщение SMB «Запрос протокола согласования» на сервер 2008, однако нет «Ответ протокола согласования» получен от сервера. Клиент повторяет попытку, пока не истечет время ожидания. Однако обратите внимание, что сервер положительно отвечает на запрос сеанса. Это полная последовательность событий:
C -> S NBSS Session Request
S -> C NBSS Positive Session Response
C -> S SMB Negotiate Protocol Request
[no response; time passes].
C -> S NBSS Session Request
S -> C NBSS Positive Session Response
C -> S SMB Negotiate Protocol Request
[no response; time passes].
[repeat]
РЕДАКТИРОВАТЬ2... Wiresharking SMB-соединения от клиента Server 2008 показывает, что ответ протокола согласования отправляется, но с SMBv2:
C -> S NBSS Session Request
S -> C NBSS Positive Session Response
C -> S SMB Negotiate Protocol Request
S -> C SMB2 NegotiateProtocol Response
C -> S SMB2 SessionSetup Request
S -> C SMB2 SessionSetup Response
[then the conversation contines, bringing the share back]
Я собираюсь попробовать отключить SMBv2 на сервере 2k8 (согласно эти инструкции на сайте petri.co.il) и посмотрите, поможет ли это - тогда сервер должен везде использовать SMB1.
РЕДАКТИРОВАТЬ3... я также нашел эта статья на форумах Microsoft Technet («Windows 2008 продолжает отключать общие ресурсы + Outlook 2007 сохраняет связь с обменом 2007» [sic]), для чего другие предложили проверить конфигурацию TCP Offload Chimney. Однако в настоящий момент после отключения SMB2 (см. EDIT2, выше) все в порядке - общие ресурсы еще не исчезли после отключения SMB2 в прошлую пятницу. Быстрый поиск Google кто-то еще (Форум MS Technet «Проблема открытия файлов на общем ресурсе сервера 2008»), который обнаружил, что отключение SMB2 также является решением. Я оставлю эту галочку еще на пару дней, прежде чем сам отвечу и закрою этот вопрос.
Ссылки...
(1) Сетевая группа Microsoft - Периодическое подключение к совместному использованию файлов от различных клиентов к серверу Windows Server 2008
(2) 424help.com - Проблема с сетевым подключением Windows 2008 Server
(3) Symantec AVForums - MR3 блокирует общие файловые ресурсы Server 2008
(4) Usenet - Доступ к файловому ресурсу Server 2008 R2 не работает при большой нагрузке (также отражено на различных веб-форумах, таких как techarena, eggheadcafe и т. д.)
Прошла почти неделя с тех пор, как SMB2 был отключен (см. EDIT2 в вопросе), и с тех пор совместное использование было стабильным. Для справки, сервер настроен с:
Я, вероятно, мог бы снова включить автонастройку окна приема, однако, поскольку это активная система, это, вероятно, не произойдет быстро: я оставлю ее сейчас на том основании, что если не сломано, не чини.
Если у кого-то еще есть аналогичная проблема, решение может быть другим (см. Остальную часть этого вопроса), однако отключение SMB2 в конечном итоге было исправлением моей ситуации.
В стороне, быстрый гугл, кажется, указывает на другие проблемы, которые можно обойти, отключив SMB2, в том числе (счастливые быстрые короткие заголовки прямо из базы знаний MSDN):
Надеюсь, это все поможет кому-то другому :-)
РЕДАКТИРОВАТЬ - май 2014 г. ... много лет спустя. Microsoft недавно выпустила статью в базе знаний Windows перестает отвечать, если для доступа к общим файлам используется протокол SMB v1 это нацелено на Server 2008, в котором указано, что проблема может возникнуть «из-за тупиковой ситуации в драйвере Mrxsmb10.sys.», и предоставляется исправление. Проблема здесь не материализовалась, поэтому я не буду подавать заявку, однако детали звучат как опыт, который у меня был выше. Я включаю его в ответ, если он будет полезен кому-то еще.
В вашем захвате добавьте длину пакета в отображаемые столбцы и выполните сортировку по этому столбцу. Есть ли у вас какие-либо фреймы, которые больше обычного фрейма Ethernet? (Думаю, 1514). Если возможно, вы должны взять этот захват с сервера. Или на порте коммутатора, который отражает порт коммутатора сервера.