Протокол сетевое хранилище smb

Протокол SMB для расширенного устранения неполадок

Попробуйте наш виртуальный агент . Он поможет вам быстро определить и устранить распространенные проблемы SMB.

Серверный блок сообщений (SMB) — это протокол сетевого транспорта для операций файловой системы, позволяющий клиенту получать доступ к ресурсам на сервере. Основной целью протокола SMB является обеспечение удаленного доступа к файловой системе между двумя системами по протоколу TCP/IP.

Устранение неполадок SMB может быть чрезвычайно сложным. Эта статья не является исчерпывающим руководством по устранению неполадок. Вместо этого это краткое руководство, чтобы понять основы эффективного устранения неполадок SMB.

Средства и сбор данных

Одним из ключевых аспектов качественного устранения неполадок SMB является передача правильной терминологии. Поэтому в этой статье представлена базовая терминология SMB для обеспечения точности сбора и анализа данных.

SMB Server (SRV) относится к системе, в которую размещается файловая система, также называемая файловым сервером. Клиент SMB (CLI) относится к системе, которая пытается получить доступ к файловой системе, независимо от версии ОС или выпуска.

Например, если вы используете Windows Server 2016 для доступа к общей папке SMB, размещенной на Windows 10, Windows Server 2016 является клиентом SMB и Windows 10 сервером SMB.

Сбор данных

Перед устранением неполадок SMB рекомендуется сначала собрать трассировку сети как на стороне клиента, так и на стороне сервера. Применяются следующие правила.

  • В системах Windows для сбора трассировки сети можно использовать netshell (netsh), сетевой монитор, анализатор сообщений или Wireshark .
  • Сторонние устройства обычно имеют встроенное средство для записи пакетов, например tcpdump (Linux/FreeBSD/Unix) или pktt (NetApp). Например, если клиент SMB или SMB-сервер является узлом Unix, вы можете собирать данные, выполнив следующую команду:
# tcpdump -s0 -n -i any -w /tmp/$(hostname)-smbtrace.pcap 

Чтобы узнать источник проблемы, можно проверить двусторонние трассировки: CLI, SRV или где-то между ними.

Использование netshell для сбора данных

В этом разделе приведены инструкции по использованию netshell для сбора данных трассировки сети.

Средство анализатора сообщений Майкрософт прекращено, и мы рекомендуем Wireshark анализировать ETL-файлы. Для тех, кто ранее скачал средство и ищет дополнительные сведения, см. статью Установка и обновление анализатора сообщений.

Трассировка Netsh создает ETL-файл. ETL-файлы можно открывать в анализаторе сообщений (MA), сетевом мониторе 3.4 (для средства синтаксического анализа задайте значение Средства синтаксического анализа > сетевого монитора Windows) и Wireshark.

  1. На сервере SMB и клиенте SMB создайте папку Temp на диске C. Затем выполните следующую команду:
netsh trace start capture=yes report=yes scenario=NetConnection level=5 maxsize=1024 tracefile=c:\\Temp\\%computername%\_nettrace.etl** 
New-NetEventSession -Name trace -LocalFilePath "C:\Temp\$env:computername`_netCap.etl" -MaxFileSize 1024 Add-NetEventPacketCaptureProvider -SessionName trace -TruncationLength 1500 Start-NetEventSession trace 
Stop-NetEventSession trace Remove-NetEventSession trace 

Необходимо отслеживать только минимальный объем передаваемых данных. Для проблем с производительностью всегда следует выполнять как хорошую, так и плохую трассировку, если это позволяет ситуация.

Анализ трафика

SMB — это протокол уровня приложения, который использует TCP/IP в качестве протокола сетевого транспорта. Таким образом, проблема SMB также может быть вызвана проблемами TCP/IP.

Проверьте, возникают ли в TCP/IP какие-либо из следующих проблем:

  1. Трехстороннее подтверждение TCP не завершается. Обычно это означает, что существует блок брандмауэра или что служба сервера не запущена.
  2. Происходят повторные передачи. Это может привести к медленной передаче файлов из-за сложного регулирования перегрузки TCP.
  3. Пять повторных передач, за которыми следует сброс TCP, могут означать, что подключение между системами было потеряно или что одна из служб SMB аварийно или перестала отвечать на запросы.
  4. Окно получения TCP уменьшается. Это может быть вызвано медленным хранением или другой проблемой, которая препятствует получению данных из буфера Winsock драйвера вспомогательных функций (AFD).

Если нет заметной проблемы с TCP/IP, найдите ошибки SMB. Для этого выполните следующие действия.

  1. Всегда проверяйте ошибки SMB в спецификации протокола MS-SMB2. Многие ошибки SMB являются безвредными (не вредными). Ознакомьтесь со следующими сведениями, чтобы определить, почему SMB вернул ошибку, прежде чем прийти к выводу, что ошибка связана с любой из следующих проблем:
    • В статье Синтаксис сообщений MS-SMB2 подробно описаны каждая команда SMB и ее параметры.
    • В статье Обработка клиента MS-SMB2 подробно описано, как клиент SMB создает запросы и отвечает на сообщения сервера.
    • В статье Обработка сервера MS-SMB2 подробно описано, как сервер SMB создает запросы и отвечает на запросы клиентов.
  2. Проверьте, отправляется ли команда сброса TCP сразу после команды FSCTL_VALIDATE_NEGOTIATE_INFO (проверить согласование). Если да, обратитесь к следующим сведениям:
    • Сеанс SMB должен быть завершен (сброс TCP) при сбое процесса проверки согласования на клиенте или сервере.
    • Этот процесс может завершиться ошибкой, так как оптимизатор глобальной сети изменяет пакет SMB Negotiate.
    • Если подключение завершилось преждевременно, определите последний обмен данными между клиентом и сервером.

Анализ протокола

Просмотрите фактические сведения о протоколе SMB в трассировке сети, чтобы понять, какие именно команды и параметры используются.

  • Помните, что SMB делает только то, что ему говорят.
  • Вы можете многое узнать о том, что приложение пытается сделать, изучив команды SMB.

Сравните команды и операции со спецификацией протокола, чтобы убедиться, что все работает правильно. Если это не так, соберите данные, которые ближе или на более низком уровне, чтобы найти дополнительные сведения о первопричине. Для этого выполните следующие действия.

  1. Сбор стандартной записи пакетов.
  2. Выполните команду netsh для трассировки и сбора сведений о том, есть ли проблемы в сетевом стеке или падениях в приложениях платформы фильтрации Windows (WFP), таких как брандмауэр или антивирусная программа.
  3. Если все остальные параметры завершаются ошибкой, соберите t.cmd, если вы подозреваете, что проблема возникла в самом SMB, или если ни одного из других данных достаточно для определения первопричины.
  • Происходит медленная передача файлов на один файловый сервер.
  • Двусторонние трассировки показывают, что SRV медленно реагирует на запрос READ.
  • Удаление антивирусной программы разрешает медленную передачу файлов.
  • Чтобы устранить проблему, обратитесь к антивирусной программе.

При необходимости можно также временно удалить антивирусную программу во время устранения неполадок.

Журналы событий

Клиент SMB и SMB Server имеют подробную структуру журнала событий, как показано на следующем снимке экрана. Соберите журналы событий, чтобы найти первопричину проблемы.

Журналы событий

Системные файлы, связанные с SMB

В этом разделе перечислены системные файлы, связанные с SMB. Чтобы обновлять системные файлы, убедитесь, что установлен последний накопительный пакет обновления .

Двоичные файлы клиента SMB, перечисленные в разделе %windir%\system32\Drivers:

  • RDBSS.sys;
  • MRXSMB.sys;
  • MRXSMB10.sys;
  • MRXSMB20.sys;
  • MUP.sys;
  • SMBdirect.sys.

Двоичные файлы сервера SMB, перечисленные в разделе %windir%\system32\Drivers:

  • SRVNET.sys;
  • SRV.sys;
  • SRV2.sys;
  • SMBdirect.sys.
  • В разделе %windir%\system32
  • srvsvc.dll.

Компоненты SMB

Предложения по обновлению

Перед устранением проблем с SMB рекомендуем обновить следующие компоненты:

  • Для файлового сервера требуется хранилище файлов. Если в хранилище есть компонент iSCSI, обновите эти компоненты.
  • Обновите сетевые компоненты.
  • Для повышения производительности и стабильности обновите Windows Core.

Источник

Читайте также:  Сетевой график по модели вершина работа
Оцените статью
Adblock
detector