Общие сведения о совместном использовании файлов с помощью протокола SMB 3 в Windows Server
- Статья
- Чтение занимает 11 мин
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
В этой статье описывается функция SMB 3 в Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012, а также практическое применение совершенно новой или обновленной функциональной возможности этой версии по сравнению с предыдущими, а также требования к оборудованию. SMB также является протоколом структуры для решений программно-определяемого центра обработки данных (SDDC), например для Локальных дисковых пространств, реплик хранилища и др.
Описание компонента
Протокол SMB — это сетевой протокол для общего доступа к файлам, который позволяет приложениям компьютера читать и записывать файлы, а также запрашивать службы серверных программ в компьютерной сети. Протокол SMB может использоваться поверх протокола TCP/IP или других сетевых протоколов. С помощью протокола SMB приложение (или использующий его пользователь) может получать доступ к файлам и другим ресурсам удаленного сервера. Это позволяет приложениям читать, создавать и обновлять файлы на удаленном сервере. SMB может также обмениваться данными с любой серверной программой, которая настроена на получение клиентских запросов SMB. SMB — это протокол структуры, который используется вычислительными технологиями программно-определяемых центров обработки данных (SDDC), такими как Локальные дисковые пространства и реплики хранилища. Дополнительные сведения см. в статье Windows Server software-defined datacenter (Программно-определяемый центр обработки данных Windows Server).
Практическое применение
В этом подразделе описан ряд способов использования нового протокола SMB 3.0.
- Хранилище файлов для виртуализации (Hyper-V™ через SMB) . С помощью протокола SMB 3.0 Hyper-V может хранить в файловых ресурсах общего доступа файлы виртуального компьютера, например файлы конфигурации, файлы виртуального жесткого диска (VHD) и снимки. Этот способ может использоваться как для изолированных файловых серверов, так и для кластерных файловых серверов, которые используют Hyper-V вместе с общедоступным хранилищем файлов для кластера.
- Microsoft SQL Server через SMB. SQL Server может хранить файлы базы данных пользователей в файловых ресурсах SMB. Сейчас эта возможность поддерживается SQL Server 2008 R2 для изолированных серверов SQL. В будущих версиях SQL Server будет добавлена поддержка кластерных серверов SQL и системных баз данных.
- Традиционное хранение данных пользователя. Протокол SMB 3.
0 предоставляет дополнительные возможности для рабочих нагрузок клиентов или сотрудников, работающих с информацией. Эти возможности включают сокращение задержек приложений при получении пользователями филиала доступа к данным через глобальную сеть и защиту данных от перехвата злоумышленниками.
Примечание
Если вам нужно сэкономить дисковое пространство в общем файловом ресурсе SMB, рассмотрите возможность использования Синхронизации файлов Azure с включенным распределением по уровням облака. Благодаря этому вы сможете кэшировать часто используемые файлы локально и распределять редко используемые файлы по уровням облака, сохраняя пространство в локальном хранилище и поддерживая производительность. Дополнительные сведения см. в статье Планирование развертывания Синхронизации файлов Azure.
Новые и измененные функции
В следующих разделах описываются функциональные возможности, добавленные в SMB 3, и последующие обновления.
Функции, добавленные в Windows Server 2019 и Windows 10 версии 1809
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Возможность требовать сквозную запись на диск в общих папках, которые не постоянно доступны | Создать | Чтобы гарантировать запись в общую папку через стек программного и аппаратного обеспечения на физический диск до получения сообщения о завершении операции записи, можно включить сквозную запись в общую папку с помощью команды NET USE /WRITETHROUGH или командлета PowerShell New-SMBMapping -UseWriteThrough .![]() |
Функции, добавленные в Windows Server версии 1709 и Windows 10 версии 1709
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Гостевой доступ к общим папкам отключен | Создать | Клиент SMB больше не разрешает следующие действия: доступ учетной записи гостя к удаленному серверу; откат к учетной записи гостя после ввода недопустимых учетных данных. Дополнительные сведения см. в статье Гостевой доступ в SMB2 отключен по умолчанию в Windows. |
Глобальное сопоставление SMB | Создать | Сопоставляет удаленную общую папку SMB с буквой диска, доступного всем пользователям на локальном узле, включая контейнеры. Это необходимо, чтобы включить операции ввода-вывода для контейнера в томе данных для прохода через удаленную точку подключения.![]() |
Управление диалектом SMB | Создать | Теперь можно задать значения реестра, чтобы управлять минимальной (диалектом) и максимальной версией SMB. Дополнительные сведения см. в статье Controlling SMB Dialects (Управление диалектами SMB). |
Функции, добавленные в SMB 3.1.1 с Windows Server 2016 и Windows 10 версии 1607
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Шифрование SMB | Обновлено | Шифрование SMB 3.![]() |
Кэширование каталогов | Создать | SMB 3.1.1 включает дополнительные возможности для кэширования каталогов. Клиенты Windows теперь могут кэшировать каталоги гораздо большего размера (приблизительно с 500 000 записей). Клиенты Windows могут выполнять запросы к каталогу, используя буферы размером в 1 МБ, чтобы сократить круговые пути и увеличить производительность. |
Целостность предварительной проверки подлинности | Создать | В SMB 3.1.1 целостность предварительной проверки подлинности обеспечивает улучшенную защиту от атак типа «злоумышленник в середине», при которых несанкционировано изменяются подключения SMB и сообщения проверки подлинности. Дополнительные сведения см. в статье SMB 3.1.1 Pre-authentication integrity in Windows 10 (Целостность предварительной проверки подлинности с SMB 3.1.1 в Windows 10).![]() |
Улучшения в шифровании SMB | Создать | SMB 3.1.1 предоставляет механизм для согласования алгоритма шифрования при каждом соединении с вариантами для AES-128-CCM и AES-128-GCM. AES-128-GCM используется по умолчанию для новых версий Windows, в то время как для более старых версий продолжается использование AES-128-CCM. |
Поддержка последовательного обновления кластера | Создать | Позволяет последовательно обновлять кластер, используя SMB для поддержки различных максимальных версий SMB для кластеров в процессе обновления. Дополнительные сведения об обмене данными SMB с помощью различных версий (диалектов) протокола см. в статье Controlling SMB Dialects (Управление диалектами SMB). |
Поддержка клиентов SMB Direct в Windows 10 | Создать | Windows 10 Корпоративная, Windows 10 для образовательных учреждений и Windows 10 Pro для рабочих станций теперь предусматривают поддержку клиентов SMB Direct. |
Встроенная поддержка вызовов API FileNormalizedNameInformation | Создать | Добавлена встроенная поддержка для запросов нормализованного имени файла.![]() |
Дополнительные сведения см. в статье What’s new in SMB 3.1.1 in the Windows Server 2016 Technical Preview 2 (Новые возможности SMB 3.1.1 в Windows Server 2016 (техническая версия 2)).
Возможности, добавленные в SMB 3.02 с Windows Server 2012 R2 и Windows 8.1
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Автоматическая повторная балансировка клиентов масштабируемого файлового сервера | Создать | Увеличивает масштабируемость и управляемость масштабируемых файловых серверов. Клиентские подключения SMB отслеживаются для каждого общего файлового ресурса (а не для каждого сервера), после чего клиенты перенаправляются в узел кластера с оптимальным доступом к тому, используемому общим файловым ресурсом. Это повышает производительность, снижая трафик перенаправления между узлами файлового сервера.![]() |
Производительность в глобальной сети | Обновлено | В Windows 8.1 и Windows 10 улучшена работа CopyFile SRV_COPYCHUNK благодаря поддержке SMB при использовании проводника для удаленного копирования из одного расположения на удаленном компьютере в другую копию на том же сервере. Вы скопируете только небольшой объем метаданных через сеть (передается 1/2 КиБ на 16 МиБ данных файла). Это приводит к значительному увеличению производительности. Для SMB — это различие на уровне операционной системы и проводника. |
SMB Direct | Обновлено | Улучшает производительность нагрузок малого ввода-вывода, повышая эффективность при размещении нагрузок с малыми вводами-выводами (например, база данных оперативной обработки транзакций (OLTP) в виртуальной машине). Эти улучшения заметны при использовании более быстрых сетевых интерфейсов, таких как Ethernet 40 Гбит/с и InfiniBand 56 Гбит/с.![]() |
Ограничения пропускной способности SMB | Создать | Теперь можно использовать Set-SmbBandwidthLimit, чтобы задать ограничения пропускной способности в трех категориях: VirtualMachine (трафик Hyper-V по протоколу SMB), LiveMigration (трафик динамической миграции Hyper-V по протоколу SMB) или по умолчанию (все остальные типы трафика SMB). |
Дополнительные сведения о новых и измененных функциях SMB в Windows Server 2012 R2 см. в статье What’s New in SMB in Windows Server (Новые возможности SMB в Windows Server).
Функции, добавленные в SMB 3.0 с Windows Server 2012 и Windows 8
Компонент или функция | Новинка или обновление | Сводка |
---|---|---|
Прозрачная отказоустойчивость SMB | Создать | Позволяет администраторам обслуживать аппаратное и программное обеспечение узлов кластерного файлового сервера, не прерывая работу приложений сервера, хранящих данные в этих файловых ресурсах.![]() |
Масштабирование SMB | Создать | Поддержка нескольких экземпляров SMB на масштабируемом файловом сервере. С помощью версии 2 общих томов кластера (CSV) администраторы могут создавать файловые ресурсы, предоставляющие одновременный доступ к файлам данных с прямыми операциями ввода-вывода через все узлы кластера файлового сервера. Это улучшает использование пропускной способности сети и балансировку нагрузки клиентов файлового сервера, а также оптимизирует производительность серверных приложений. |
Технология SMB Multichannel | Создать | Обеспечивает агрегирование пропускной способности и отказоустойчивости сети, если доступно несколько путей между клиентом SMB и сервером. Это позволяет приложениям сервера использовать всю доступную пропускную способность сети и быть устойчивыми к сетевым сбоям.![]() SMB Multichannel в SMB 3 вносит значительные улучшения в производительность по сравнению с предыдущими версиями SMB. |
SMB Direct | Создать | Поддерживает использование сетевых адаптеров, которые поддерживают RDMA и могут работать на полной скорости с очень низкой задержкой, используя очень малую часть ЦП. При использовании этой функции для таких рабочих нагрузок, как Hyper-V и Microsoft SQL Server, работа с удаленным файловым сервером будет похожа на работу с локальным хранилищем. SMB Direct в SMB 3 вносит значительные улучшения в производительность по сравнению с предыдущими версиями SMB. |
Счетчики производительности для серверных приложений | Создать | Новые счетчики производительности SMB предоставляют подробную информацию о пропускной способности, задержке и числе операций ввода-вывода в секунду для каждой общей папки, что позволяет администраторам анализировать производительность общих папок SMB, в которых они хранят данные.![]() |
Оптимизация производительности | Обновлено | Клиент SMB и сервер оптимизированы с целью уменьшения числа случайных операций ввода-вывода для чтения и записи, которые часто происходят в таких серверных приложениях, как SQL Server OLTP (оперативная обработка транзакций). Помимо этого, большое значение для наибольшего размера передаваемых данных (MTU) теперь включено по умолчанию, что значительно повышает производительность больших последовательных передач, таких как работа с хранилищем данных SQL Server, архивация и восстановление базы данных, развертывание и копирование виртуальных жестких дисков. |
Командлеты Windows PowerShell для SMB | Создать | С помощью командлетов Windows PowerShell для SMB администраторы могут полностью управлять файловыми ресурсами файлового сервера из командной строки.![]() |
Шифрование SMB | Создать | Обеспечивает непрерывное шифрование данных SMB и защищает их от перехвата в недоверенных сетях. Не нуждается в новых затратах на развертывание, протоколе IPsec, специализированном оборудовании и ускорителях WAN. Шифрование SMB может быть настроено для отдельных ресурсов или всего файлового сервера и может быть включено для ряда сценариев, при которых данные проходят через недоверенные сети. |
Аренда каталогов SMB | Создать | Сокращает время ответа приложений в филиалах При использовании аренды каталогов число передач пакетов от клиента к серверу и обратно сокращается, так как метаданные извлекаются из кэша каталога с большим временем хранения. Обеспечивается согласованность кэша, так как клиенты извещаются об изменениях информации о каталоге на сервере. Аренда каталогов работает со сценариями для HomeFolder (Домашняя папка: чтение и запись без общего доступа) и Публикации (только для чтения с общим доступом).![]() |
Производительность в глобальной сети | Создать | С SMB 3.0 теперь доступны уступающие блокировки каталогов и аренда уступающих блокировок. Для типичных рабочих нагрузок типа «офис — клиент» уступающие блокировки и аренда показаны для уменьшения кругового пути по сети примерно на 15 %. В SMB 3 реализация SMB в Windows изменена для улучшения поведения кэширования на клиенте, а также увеличения пропускной способности. SMB 3 предусматривает улучшения для API CopyFile (), а также для связанных инструментов, таких как Robocopy, позволяя отправлять значительно больше данных через сеть. |
Безопасное согласование диалектов | Создать | Помогает защититься от атак типа «злоумышленник в середине», которые могут понизить уровень согласования диалектов. Идея состоит в том, чтобы не допустить понижение злоумышленником уровня изначально согласованного диалекта и возможностей между клиентом и сервером. Дополнительные сведения см.![]() |
Требования к оборудованию
Для обеспечения прозрачной отказоустойчивости SMB необходимо соблюдать следующие требования.
- Отказоустойчивый кластер под управлением Windows Server 2012 или Windows Server 2016 по крайней мере с двумя настроенными узлами. Кластер должен пройти проверочный тест для кластеров, входящий в состав мастера проверки.
- Файловые ресурсы должны быть созданы со свойством «Постоянная доступность» (CA), что является настройкой по умолчанию.
- Файловые ресурсы нужно создавать на путях к тому CSV, чтобы обеспечить масштабирование SMB.
- Клиентские компьютеры должны работать под управлением Windows® 8 или Windows Server 2012, которые содержат обновленный клиент SMB, поддерживающий постоянную доступность.
Примечание
Клиенты нижнего уровня могут подключаться к общим папкам со свойством «Постоянная доступность», но для таких клиентов прозрачная отказоустойчивость не поддерживается.
Для поддержки многоканальности SMB необходимо соблюдать следующие требования.
- Требуются по меньшей мере два компьютера под управлением Windows Server 2012. Установки дополнительных компонентов не требуется — эта технология включена по умолчанию.
- Сведения о рекомендуемых сетевых настройках см. в подразделе «Дополнительные сведения» в конце этого раздела.
Для поддержки прямой технологии SMB необходимо соблюдать следующие требования.
- Требуются по меньшей мере два компьютера под управлением Windows Server 2012. Установки дополнительных компонентов не требуется — эта технология включена по умолчанию.
- Сетевые адаптеры с поддержкой RDMA. На данный момент существует три типа таких адаптеров: iWARP, Infiniband и RoCE (RDMA over Converged Ethernet).
Следующий список содержит дополнительные ресурсы со сведениями о работе в сети по протоколу SMB и связанным технологиям в Windows Server 2012 R2, Windows Server 2012 и Windows Server 2016.
- Хранилище в Windows Server
- Scale-Out File Server for Application Data (Масштабируемый файловый сервер для данных приложений)
- Увеличение производительности файлового сервера с помощью SMB Direct
- Deploy Hyper-V over SMB (Развертывание Hyper-V поверх SMB)
- Deploy SMB Multichannel (Развертывание SMB Multichannel)
- Deploying Fast and Efficient File Servers for Server Applications (Развертывание быстрых и производительных файловых серверов для серверных приложений)
- SMB: Troubleshooting Guide (Руководство по устранению проблем: SMB)
Боремся с вирусами и инфраструктурой, или отключение SMB v1 / Хабр
В связи с недавной эпидемией шифровальщика WannaCry, эксплуатирующим уязвимость SMB v1, в сети снова появились советы по отключению этого протокола. Более того, Microsoft настоятельно рекомендовала отключить первую версию SMB еще в сентябре 2016 года. Но такое отключение может привести к неожиданным последствиям, вплоть до курьезов: лично сталкивался с компанией, где после борьбы с SMB перестали играть беспроводные колонки Sonos.
Специально для минимизации вероятности «выстрела в ногу» я хочу напомнить об особенностях SMB и подробно рассмотреть, чем грозит непродуманное отключение его старых версий.
SMB (Server Message Block) – сетевой протокол для удаленного доступа к файлам и принтерам. Именно он используется при подключении ресурсов через \servername\sharename. Протокол изначально работал поверх NetBIOS, используя порты UDP 137, 138 и TCP 137, 139. С выходом Windows 2000 стал работать напрямую, используя порт TCP 445. SMB используется также для входа в домен Active Directory и работы в нем.
Помимо удаленного доступа к ресурсам протокол используется еще и для межпроцессорного взаимодействия через «именованные потоки» – named pipes.Обращение к процессу производится по пути \.\pipe\name.
Первая версия протокола, также известная как CIFS (Common Internet File System), была создана еще в 1980-х годах, а вот вторая версия появилась только с Windows Vista, в 2006. Третья версия протокола вышла с Windows 8. Параллельно с Microsoft протокол создавался и обновлялся в его открытой имплементации Samba.
В каждой новой версии протокола добавлялись разного рода улучшения, направленные на увеличение быстродействия, безопасности и поддержки новых функций. Но при этом оставалась поддержка старых протоколов для совместимости. Разумеется, в старых версиях было и есть достаточно уязвимостей, одной из которых и пользуется WannaCry.
Под спойлером вы найдете сводную таблицу изменений в версиях SMB.
Версия | Операционная система | Добавлено, по сравнению с предыдущей версией |
SMB 2.0 | Windows Vista/2008 | Изменилось количество команд протокола со 100+ до 19 |
Возможность «конвейерной» работы – отправки дополнительных запросов до получения ответа на предыдущий | ||
Поддержка символьных ссылок | ||
Подпись сообщений HMAC SHA256 вместо MD5 | ||
Увеличение кэша и блоков записи\чтения | ||
SMB 2.![]() |
Windows 7/2008R2 | Улучшение производительности |
Поддержка большего значения MTU | ||
Поддержка службы BranchCache – механизм, кэширующий запросы в глобальную сеть в локальной сети | ||
SMB 3.0 | Windows 8/2012 | Возможность построения прозрачного отказоустойчивого кластера с распределением нагрузки |
Поддержка прямого доступа к памяти (RDMA) | ||
Управление посредством командлетов Powershell | ||
Поддержка VSS | ||
Подпись AES–CMAC | ||
Шифрование AES–CCM | ||
Возможность использовать сетевые папки для хранения виртуальных машин HyperV | ||
Возможность использовать сетевые папки для хранения баз Microsoft SQL | ||
SMB 3.![]() |
Windows 8.1/2012R2 | Улучшения безопасности и быстродействия |
Автоматическая балансировка в кластере | ||
SMB 3.1.1 | Windows 10/2016 | Поддержка шифрования AES–GCM |
Проверка целостности до аутентификации с использованием хеша SHA512 | ||
Обязательные безопасные «переговоры» при работе с клиентами SMB 2.x и выше |
Посмотреть используемую в текущий момент версию протокола довольно просто, используем для этого командлет Get–SmbConnection:
Вывод командлета при открытых сетевых ресурсах на серверах с разной версией Windows.
Из вывода видно, что клиент, поддерживающий все версии протокола, использует для подключения максимально возможную версию из поддерживаемых сервером. Разумеется, если клиент поддерживает только старую версию протокола, а на сервере она будет отключена – соединение установлено не будет. Включить или выключить поддержку старых версий в современных системах Windows можно при помощи командлета Set–SmbServerConfiguration, а посмотреть состояние так:
Get–SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
Выключаем SMBv1 на сервере с Windows 2012 R2.
Результат при подключении с Windows 2003.
Таким образом, при отключении старого, уязвимого протокола можно лишиться работоспособности сети со старыми клиентами. При этом помимо Windows XP и 2003 SMB v1 используется и в ряде программных и аппаратных решений (например NAS на GNU\Linux, использующий старую версию samba).
Под спойлером приведу список производителей и продуктов, которые полностью или частично перестанут работать при отключении SMB v1.
Производитель | Продукт | Комментарий |
Barracuda | SSL VPN | |
Web Security Gateway backups | ||
Canon | Сканирование на сетевой ресурс | |
Cisco | WSA/WSAv | |
WAAS | Версии 5.![]() |
|
F5 | RDP client gateway | |
Microsoft Exchange Proxy | ||
Forcepoint (Raytheon) | «Некоторые продукты» | |
HPE | ArcSight Legacy Unified Connector | Старые версии |
IBM | NetServer | Версия V7R2 и старше |
QRadar Vulnerability Manager | Версии 7.2.x и старше | |
Lexmark | МФУ, сканирование на сетевой ресурс | Прошивки Firmware eSF 2.x и eSF 3.x |
Linux Kernel | Клиент CIFS | С 2.5.42 до 3.5.x |
McAfee | Web Gateway | |
Microsoft | Windows | XP/2003 и старше |
MYOB | Accountants | |
NetApp | ONTAP | Версии до 9.![]() |
NetGear | ReadyNAS | |
Oracle | Solaris | 11.3 и старше |
Pulse Secure | PCS | 8.1R9/8.2R4 и старше |
PPS | 5.1R9/5.3R4 и старше | |
QNAP | Все устройства хранения | Прошивка старше 4.1 |
RedHat | RHEL | Версии до 7.2 |
Ricoh | МФУ, сканирование на сетевой ресурс | Кроме ряда моделей |
RSA | Authentication Manager Server | |
Samba | Samba | Старше 3.5 |
Sonos | Беспроводные колонки | |
Sophos | Sophos UTM | |
Sophos XG firewall | ||
Sophos Web Appliance | ||
SUSE | SLES | 11 и старше |
Synology | Diskstation Manager | Только управление |
Thomson Reuters | CS Professional Suite | |
Tintri | Tintri OS, Tintri Global Center | |
VMware | Vcenter | |
ESXi | Старше 6.![]() |
|
Worldox | GX3 DMS | |
Xerox | МФУ, сканирование на сетевой ресурс | Прошивки без ConnectKey Firmware |
Список взят с сайта Microsoft, где он регулярно пополняется.
Перечень продуктов, использующих старую версию протокола, достаточно велик – перед отключением SMB v1 обязательно нужно подумать о последствиях.
Если программ и устройств, использующих SMB v1 в сети нет, то, конечно, старый протокол лучше отключить. При этом если выключение на SMB сервере Windows 8/2012 производится при помощи командлета Powershell, то для Windows 7/2008 понадобится правка реестра. Это можно сделать тоже при помощи Powershell:
Set–ItemProperty –Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 –Type DWORD –Value 0 –Force
Или любым другим удобным способом. При этом для применения изменений понадобится перезагрузка.
Для отключения поддержки SMB v1 на клиенте достаточно остановить отвечающую за его работу службу и поправить зависимости службы lanmanworkstation. Это можно сделать следующими командами:
sc.exe config lanmanworkstation depend=bowser/mrxsmb20/nsi sc.exe config mrxsmb10 start=disabled
Для удобства отключения протокола по всей сети удобно использовать групповые политики, в частности Group Policy Preferences. С помощью них можно удобно работать с реестром.
Создание элемента реестра через групповые политики.
Чтобы отключить протокол на сервере, достаточно создать следующий параметр:
Создание параметра реестра для отключения SMB v1 на сервере через групповые политики.
Для отключения поддержки SMB v1 на клиентах понадобится изменить значение двух параметров.
Сначала отключим службу протокола SMB v1:
Обновляем один из параметров.
Потом поправим зависимость службы LanmanWorkstation, чтоб она не зависела от SMB v1:
И заменяем другой.
После применения групповой политики необходимо перезагрузить компьютеры организации. После перезагрузки SMB v1 перестанет использоваться.
Как ни странно, эта старая заповедь не всегда полезна – в редко обновляемой инфраструктуре могут завестись шифровальщики и трояны. Тем не менее, неаккуратное отключение и обновление служб могут парализовать работу организации не хуже вирусов.
Расскажите, а вы уже отключили у себя SMB первой версии? Много было жертв?
Обзор общего доступа к файлам с использованием протокола SMB 3 в Windows Server
- Статья
- 11 минут на чтение
Применяется к: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
В этом разделе описывается функция SMB 3 в Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012 — практическое использование этой функции, наиболее важные новые или обновленные функции в этой версии по сравнению с предыдущими версиями, а также аппаратные требования. SMB также является протоколом структуры, используемым программно-определяемыми центрами обработки данных (SDDC), такими как Storage Spaces Direct, Storage Replica и другими. SMB версии 3.0 был представлен в Windows Server 2012 и постепенно улучшался в последующих выпусках.
Описание функции
Протокол Server Message Block (SMB) — это сетевой протокол обмена файлами, который позволяет приложениям на компьютере читать и записывать файлы, а также запрашивать службы у серверных программ в компьютерной сети. Протокол SMB можно использовать поверх протокола TCP/IP или других сетевых протоколов. Используя протокол SMB, приложение (или пользователь приложения) может получить доступ к файлам или другим ресурсам на удаленном сервере. Это позволяет приложениям читать, создавать и обновлять файлы на удаленном сервере. SMB также может взаимодействовать с любой серверной программой, которая настроена на получение клиентского запроса SMB. SMB — это протокол структуры, который используется вычислительными технологиями программно-определяемого центра обработки данных (SDDC), такими как Storage Spaces Direct, Storage Replica. Дополнительные сведения см. в статье Программно-определяемый центр обработки данных Windows Server.
Практические приложения
В этом разделе обсуждаются некоторые новые практические способы использования нового протокола SMB 3.0.
- Хранилище файлов для виртуализации (Hyper-V™ через SMB) . Hyper-V может хранить файлы виртуальной машины, такие как конфигурация, файлы виртуального жесткого диска (VHD) и моментальные снимки, в общих папках по протоколу SMB 3.0. Это можно использовать как для автономных файловых серверов, так и для кластерных файловых серверов, которые используют Hyper-V вместе с общим хранилищем файлов для кластера.
- Microsoft SQL Server через SMB . SQL Server может хранить файлы базы данных пользователей в файловых ресурсах SMB. В настоящее время это поддерживается SQL Server 2008 R2 для автономных серверов SQL. В следующих версиях SQL Server будет добавлена поддержка кластерных серверов SQL и системных баз данных.
- Традиционное хранилище для данных конечного пользователя . Протокол SMB 3.0 предоставляет усовершенствования для рабочих нагрузок информационного работника (или клиента). Эти усовершенствования включают сокращение задержек приложений, с которыми сталкиваются пользователи филиалов при доступе к данным через глобальные сети (WAN), и защиту данных от атак с прослушиванием.
Примечание
Если вам нужно сэкономить место для хранения в общем файловом ресурсе SMB, рассмотрите возможность использования Azure File Sync с включенным облачным многоуровневым хранением. Это позволяет кэшировать наиболее часто используемые файлы локально и размещать наименее часто используемые файлы в облаке, экономя место в локальном хранилище при сохранении производительности. Дополнительные сведения см. в разделе Планирование развертывания службы синхронизации файлов Azure.
Новые и измененные функции
В следующих разделах описываются функции, добавленные в SMB 3 и последующих обновлениях.
Функции, добавленные в Windows Server 2019 и Windows 10 версии 1809
Функция/функции | Новый или обновленный | Резюме |
---|---|---|
Возможность требовать сквозной записи на диск для файловых ресурсов, которые не доступны постоянно | Новый | Чтобы обеспечить некоторую дополнительную гарантию того, что запись в общий файловый ресурс проходит через стек программного и аппаратного обеспечения на физический диск до того, как операция записи будет завершена, вы можете включить сквозную запись в общий файловый ресурс с помощью NET USE /WRITETHROUGH или командлет New-SMBMapping -UseWriteThrough PowerShell. Использование сквозной записи несколько снижает производительность; см. публикацию в блоге Управление сквозной записью в SMB для дальнейшего обсуждения. |
Функции, добавленные в Windows Server версии 1709 и Windows 10 версии 1709
Функция/функции | Новый или обновленный | Резюме |
---|---|---|
Гостевой доступ к файловым ресурсам отключен | Новый | Клиент SMB больше не позволяет выполнять следующие действия: доступ учетной записи гостя к удаленному серверу; Возврат к гостевой учетной записи после предоставления неверных учетных данных.![]() |
Глобальное сопоставление SMB | Новый | Сопоставляет удаленный общий ресурс SMB с буквой диска, доступной для всех пользователей на локальном узле, включая контейнеры. Это необходимо, чтобы разрешить контейнерному вводу-выводу на томе данных обход удаленной точки монтирования. Имейте в виду, что при использовании глобального сопоставления SMB для контейнеров все пользователи на узле контейнера могут получить доступ к удаленному общему ресурсу. Любое приложение, работающее на узле контейнера, также имеет доступ к сопоставленному удаленному общему ресурсу. Дополнительные сведения см. в разделе Поддержка хранилища контейнеров с общими томами кластера (CSV), прямыми дисковыми пространствами, глобальным сопоставлением SMB. |
Управление диалектом SMB | Новый | Теперь вы можете установить значения реестра для управления минимальной версией SMB (диалектом) и максимальной используемой версией SMB.![]() |
Функции, добавленные в SMB 3.1.1 с Windows Server 2016 и Windows 10, версия 1607
Функция/функции | Новый или обновленный | Резюме |
---|---|---|
Шифрование SMB | Обновлено | Шифрование SMB 3.1.1 с расширенным стандартным шифрованием, режим Галуа/счетчик (AES-GCM) быстрее, чем подписывание SMB или предыдущее шифрование SMB с использованием AES-CCM. |
Кэширование каталогов | Новый | SMB 3.1.1 включает улучшения кэширования каталогов. Клиенты Windows теперь могут кэшировать гораздо большие каталоги, примерно 500 тыс. записей. Клиенты Windows будут пытаться выполнять запросы к каталогу с буферами размером 1 МБ, чтобы уменьшить количество циклов обмена и повысить производительность. |
Целостность до аутентификации | Новый | В SMB 3.![]() |
Улучшения шифрования SMB | Новый | SMB 3.1.1 предлагает механизм согласования алгоритма шифрования для каждого соединения с вариантами AES-128-CCM и AES-128-GCM. AES-128-GCM используется по умолчанию для новых версий Windows, в то время как более старые версии будут продолжать использовать AES-128-CCM. |
Поддержка непрерывного обновления кластера | Новый | Включает последовательное обновление кластера, позволяя SMB поддерживать различные максимальные версии SMB для кластеров в процессе обновления. Дополнительные сведения о том, как разрешить взаимодействие SMB с использованием различных версий (диалектов) протокола, см. в записи блога Управление диалектами SMB.![]() |
Поддержка клиентов SMB Direct в Windows 10 | Новый | Windows 10 Корпоративная, Windows 10 для образовательных учреждений и Windows 10 Pro для рабочих станций теперь включают поддержку клиента SMB Direct. |
Встроенная поддержка вызовов FileNormalizedNameInformation API | Новый | Добавлена встроенная поддержка запроса нормализованного имени файла. Дополнительные сведения см. в разделе FileNormalizedNameInformation. |
Дополнительные сведения см. в записи блога Что нового в SMB 3.1.1 в Windows Server 2016 Technical Preview 2.
Функции, добавленные в SMB 3.02 с Windows Server 2012 R2 и Windows 8.1 функциональность


Дополнительные сведения о новых и измененных функциях SMB в Windows Server 2012 R2 см. в разделе Новые возможности SMB в Windows Server.
Функции, добавленные в SMB 3.0 с Windows Server 2012 и Windows 8
Функция/функции | Новый или обновленный | Резюме |
---|---|---|
Прозрачная отказоустойчивость SMB | Новый | Позволяет администраторам выполнять аппаратное или программное обслуживание узлов кластерного файлового сервера, не прерывая серверные приложения, хранящие данные в этих файловых ресурсах.![]() |
Горизонтальное масштабирование SMB | Новый | Поддержка нескольких экземпляров SMB на масштабируемом файловом сервере. Используя общие тома кластера (CSV) версии 2, администраторы могут создавать общие файловые ресурсы, которые обеспечивают одновременный доступ к файлам данных с прямым вводом-выводом через все узлы в кластере файловых серверов. Это обеспечивает лучшее использование полосы пропускания сети и балансировку нагрузки клиентов файлового сервера, а также оптимизирует производительность серверных приложений. |
Многоканальный SMB | Новый | Включает агрегирование пропускной способности сети и отказоустойчивости сети, если между клиентом SMB и сервером доступно несколько путей.![]() SMB Multichannel в SMB 3 способствует существенному повышению производительности по сравнению с предыдущими версиями SMB. |
Прямой SMB | Новый | Поддерживает использование сетевых адаптеров, поддерживающих RDMA и способных работать на полной скорости с очень малой задержкой при минимальном использовании ЦП. Для таких рабочих нагрузок, как Hyper-V или Microsoft SQL Server, это позволяет удаленному файловому серверу напоминать локальное хранилище. SMB Direct в SMB 3 способствует существенному повышению производительности по сравнению с предыдущими версиями SMB. |
Счетчики производительности для серверных приложений | Новый | Новые счетчики производительности SMB предоставляют подробные сведения о пропускной способности, задержке и количестве операций ввода-вывода в секунду (IOPS) для каждого общего ресурса, что позволяет администраторам анализировать производительность общих файловых ресурсов SMB, в которых хранятся их данные.![]() |
Оптимизация производительности | Обновлено | Как клиент, так и сервер SMB оптимизированы для небольшого произвольного ввода-вывода чтения/записи, который часто встречается в серверных приложениях, таких как SQL Server OLTP. Кроме того, по умолчанию включена большая максимальная единица передачи (MTU), что значительно повышает производительность при больших последовательных передачах, таких как хранилище данных SQL Server, резервное копирование или восстановление базы данных, развертывание или копирование виртуальных жестких дисков. |
Командлеты Windows PowerShell для SMB | Новый | С помощью командлетов Windows PowerShell для SMB администратор может управлять файловыми ресурсами на файловом сервере от начала до конца из командной строки. |
Шифрование SMB | Новый | Обеспечивает сквозное шифрование данных SMB и защищает данные от прослушивания в ненадежных сетях.![]() |
Аренда каталогов SMB | Новый | Увеличивает время отклика приложений в филиалах. Благодаря аренде каталогов количество обращений от клиента к серверу сокращается, поскольку метаданные извлекаются из кэша каталогов с более длительным сроком службы. Согласованность кэша поддерживается, поскольку клиенты уведомляются об изменении информации каталога на сервере. Аренда каталогов работает со сценариями для HomeFolder (чтение/запись без общего доступа) и Publication (только чтение с общим доступом). |
Производительность по глобальной сети | Новый | В SMB 3.0 были введены уступающие блокировки каталога (oplocks) и аренда opportunistic.![]() В SMB 3 реализация SMB для Windows была усовершенствована, чтобы улучшить поведение кэширования на клиенте, а также повысить пропускную способность. В SMB 3 улучшен API CopyFile(), а также связанные с ним инструменты, такие как Robocopy, для передачи значительно большего объема данных по сети. |
Безопасное согласование диалектов | Новый | Помогает защититься от попыток посредника понизить диалектное согласование. Идея состоит в том, чтобы предотвратить перехватчик от понижения первоначально согласованного диалекта и возможностей между клиентом и сервером. Дополнительные сведения см. в разделе Безопасное согласование диалектов SMB3. Обратите внимание, что это было заменено функцией целостности до проверки подлинности SMB 3.1.1 в Windows 10 в SMB 3.1.1. |
Требования к оборудованию
Прозрачная отказоустойчивость SMB имеет следующие требования:
- Отказоустойчивый кластер под управлением Windows Server 2012 или Windows Server 2016 с не менее чем двумя настроенными узлами.
Кластер должен пройти тесты проверки кластера, включенные в мастер проверки.
- Файловые ресурсы должны создаваться со свойством Continuous Availability (CA), которое используется по умолчанию.
- Файловые ресурсы должны быть созданы на путях к томам CSV, чтобы обеспечить горизонтальное масштабирование SMB.
- Клиентские компьютеры должны работать под управлением Windows® 8 или Windows Server 2012, обе из которых включают обновленный клиент SMB, поддерживающий постоянную доступность.
Примечание
Клиенты более низкого уровня могут подключаться к общим файловым ресурсам, имеющим свойство CA, но прозрачная отработка отказа для этих клиентов не поддерживается.
SMB Multichannel имеет следующие требования:
- Требуется как минимум два компьютера под управлением Windows Server 2012. Никаких дополнительных функций устанавливать не нужно — технология включена по умолчанию.
- Сведения о рекомендуемых сетевых конфигурациях см.
в разделе «См. также» в конце этой обзорной темы.
SMB Direct имеет следующие требования:
- Требуется как минимум два компьютера под управлением Windows Server 2012. Никаких дополнительных функций устанавливать не нужно — технология включена по умолчанию.
- Требуются сетевые адаптеры с поддержкой RDMA. В настоящее время эти адаптеры доступны в трех различных типах: iWARP, Infiniband или RoCE (RDMA через конвергентный Ethernet).
В следующем списке представлены дополнительные ресурсы в Интернете о SMB и связанных технологиях в Windows Server 2012 R2, Windows Server 2012 и Windows Server 2016.
- Хранилище в Windows Server
- Масштабируемый файловый сервер для данных приложений
- Повышение производительности файлового сервера с помощью SMB Direct
- Разверните Hyper-V через SMB
- Развертывание многоканального SMB
- Развертывание быстрых и эффективных файловых серверов для серверных приложений
- SMB: руководство по устранению неполадок
Сервер символов общей папки (SMB) — драйверы Windows
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
- 2 минуты на чтение
Чтобы запустить сервер символов SMB, создайте общую папку и назначьте разрешения, чтобы предоставить пользователям или группам доступ к общей папке.
Создайте хранилище символов общего файлового ресурса SMB
Используйте Проводник или Управление компьютером, чтобы создать общий файловый ресурс и назначить разрешения.
Действия в следующих разделах предполагают, что символы находятся в папке D:\SymStore\Symbols.
Проводник
Чтобы назначить права доступа к файлам с помощью проводника:
-
Откройте проводник.
-
Выберите и удерживайте (или щелкните правой кнопкой мыши) папку D:\SymStore\Symbols и выберите Свойства .
-
Выберите вкладку Общий доступ .
-
Выберите Расширенный общий доступ .
-
В Расширенный общий доступ установите флажок Общий доступ к этой папке , а затем выберите Разрешения .
-
В Разрешения общего доступа выберите Все , а затем выберите Удалить .
-
Выбрать Добавить и введите пользователей или группы, которым вы хотите предоставить доступ к общей папке.
-
Для каждого добавляемого пользователя или группы выберите Разрешить для назначения разрешений «Полный доступ», «Изменение» или «Чтение».
-
Выберите Применить , а затем выберите OK .
-
Выберите OK , а затем выберите Закрыть .
Управление компьютером
Чтобы назначить разрешения на общий доступ к файлам с помощью управления компьютером:
-
Выберите и удерживайте (или щелкните правой кнопкой мыши) Запустите и выберите Управление компьютером .
-
В дереве консоли выберите Системные инструменты > Общие папки > Общие папки .
-
Выберите и удерживайте (или щелкните правой кнопкой мыши) и выберите Новый > Поделиться .
-
В Мастере создания общей папки выберите Далее .
-
Для Путь к папке введите D:\SymStore\Symbols , а затем выберите Далее .
-
Выбрать Далее .
-
В Разрешения на общую папку выберите Настроить разрешения , а затем выберите Пользовательский .
-
В Разрешения общего доступа выберите Все , а затем выберите Удалить .
-
Выберите Добавьте и введите пользователей или группы, которым вы хотите предоставить доступ к общей папке.
-
Для каждого добавляемого пользователя или группы выберите Разрешить для назначения разрешений «Полный доступ», «Изменение» или «Чтение».
-
Выберите Применить , а затем выберите OK .
-
Дважды выберите Завершить .
Проверка общей папки SMB
Настройте отладчик для использования этого пути к символу:
srv*C:\Symbols*\\MachineName\Symbols
Чтобы просмотреть расположение PDB, на которые ссылается отладчик, используйте команду lm
(список модулей). Все пути к PDB должны начинаться с C:\Symbols
.
Чтобы просмотреть журналы загрузки символов и изображений с файлового сервера \\MachineName\Symbols в C:\Symbols, запустите !sym noisy
и .reload /f
.
Установка пути к символу общей папки
Чтобы настроить путь символа отладчика ( .sympath
) для использования общей папки, у вас есть несколько вариантов. Синтаксис пути к символу определяет, кэшируется ли файл символов локально и где он кэшируется.