本主题介绍 Windows Server 2012 中的 SMB 3.0 功能,包括功能的实际应用、相对于以前版本此版本的最重要新功能或更新功能以及硬件要求。
服务器消息块 (SMB) 协议是网络文件共享协议,让计算机上的应用程序可读取和写入文件以及从计算机网络中的服务器程序请求服务。SMB 协议可在其 TCP/IP 协议或其他网络协议上使用。使用 SMB 协议时,应用程序(或应用程序用户)可访问远程服务器上的文件或其他资源。这让应用程序可以读取、创建和更新远程服务器上的文件。它还可以与任何设置为接收 SMB 客户端请求的服务器程序通信。Windows Server 2012 引入了全新 3.0 版的 SMB 协议。
本节讨论一些使用新 SMB 3.0 协议的全新实用方法。
用于虚拟化的文件存储 (Hyper-V(TM) over SMB)。Hyper-V 可以通过 SMB 3.0 协议在文件共享中存储虚拟机文件,如配置、虚拟硬盘 (VHD) 文件和快照。这既可用于独立文件服务器,又可用于将 Hyper-V 与群集的共享文件存储配合使用的群集文件服务器。
Microsoft SQL Server over SMB。SQL Server 可以将用户数据库文件存储在 SMB 文件共享中。目前,SQL Server 2008 R2 的独立 SQL 服务器支持此功能。即将推出的 SQL Server 版本将增加群集 SQL 服务器和系统数据库的支持。
用于最终用户数据的传统存储。SMB 3.0 协议提供 信息工作者 (或客户端)工作负载的增强功能。这些增强功能包括减少分支机构用户在通过广域网 (WAN) 访问数据时遇到的应用程序延迟,以及防止数据遭受窃听攻击。
Windows Server 2012 中的 SMB 包括新 SMB 3.0 协议和许多新改进,如下表所述。
特性/功能 | 新功能或更新功能 | 摘要 |
---|---|---|
SMB 透明故障转移 |
新功能 |
让管理员可执行群集文件服务器中节点的硬件或软件维护,且不会中断将数据存储在这些文件共享上的服务器应用程序。此外,如果群集节点出现硬件或软件故障,SMB 客户端将以透明方式重新连接到其他群集节点,且不会中断将数据存储在这些文件共享上的服务器应用程序。 |
SMB 横向扩展 |
新功能 |
使用群集共享卷 (CSV) 版本 2 时,管理员可以通过文件服务器群集中的所有节点,创建可供同时访问含直接 I/O 的数据文件的文件共享。这可更好地利用文件服务器客户端的网络带宽和负载平衡,以及优化服务器应用程序的性能。 |
SMB 多通道 |
新功能 |
如果在 SMB 3.0 客户端和 SMB 3.0 服务器之间提供多条路径,则支持网络带宽和网络容错的聚合。这让服务器应用程序可以充分利用可用网络带宽并在发生网络故障时恢复。 |
SMB 直接 |
新功能 |
支持使用具有 RDMA 功能且可全速运行的网络适配器,其中延迟非常低且 CPU 非常少。对于 Hyper-V 或 Microsoft SQL Server 等工作负载,这让远程文件服务器如同本地存储一样。 |
用于服务器应用程序的性能计数器 |
新功能 |
全新 SMB 性能计数器提供有关吞吐量、延迟和 I/O/秒 (IOPS) 的按共享列出的详细信息,从而让管理员可以分析用于存储数据的 SMB 3.0 文件共享的性能。这些计数器专为将文件存储在远程文件共享上的服务器应用程序而设计,如 Hyper-V 和 SQL Server。 |
性能优化 |
更新功能 |
SMB 3.0 客户端和 SMB 3.0 服务器均已针对小型随机读/写 I/O 优化,这种 I/O 在 SQL Server OLTP 等服务器应用程序中很常见。此外,默认情况下打开大型最大传输单元 (MTU),这将大幅提高大型连续传输性能,如 SQL Server 数据仓库、数据库备份或还原、部署或复制虚拟硬盘。 |
SMB-专用 Windows PowerShell cmdlet |
新功能 |
借助用于 SMB 的 Windows PowerShell cmdlet,管理员可以从命令行以端对端方式管理文件服务器上的文件共享。 |
SMB 加密 |
新功能 |
提供 SMB 数据的端对端加密并防止数据在未受信任网络中遭受窃听。无需新部署成本,且无需 Internet 协议安全性 (IPsec)、专用硬件或 WAN 加速器。它可按共享配置,也可针对整个文件服务器配置,并且可针对数据遍历未受信任网络的各种方案启用。 |
SMB 目录租用 |
新功能 |
缩短分支机构的应用程序响应时间。使用目录租用后,缩短了从客户端到服务器的往返时间,因为是从保留时间较长的目录缓存中检索元数据。缓存一致性得到保持,因为在服务器上的目录信息更改时将通知客户端。适用于 主文件夹(读/写,无共享)和 发布(只读,带共享)。 |
硬件要求
SMB 透明故障转移具有以下要求:
运行 Windows Server 2012 且至少配置两个节点的故障转移群集。群集必须通过验证向导中包括的群集验证测试。
必须使用连续可用性 (CA) 属性(默认值)创建文件共享。
必须在 CSV 卷路径上创建文件共享,才能获得 SMB 横向扩展。
客户端计算机必须运行 Windows 8 或 Windows Server 2012,且两者均包括支持连续可用性的更新 SMB 客户端。
备注 |
---|
请注意,低级客户端可以链接到具有 CA 属性的文件共享,但不会针对这些客户端支持透明故障转移。 |
SMB 多通道具有以下要求:
至少需要两台运行 Windows Server 2012 的计算机。无需安装额外功能 - 该技术默认情况下处于打开状态。
有关建议的网络配置的信息,请参阅本概述主题末尾的“另请参阅”部分。
SMB 直接具有以下要求:
至少需要两台运行 Windows Server 2012 的计算机。无需安装额外功能 - 该技术默认情况下处于打开状态。
需要含 RDMA 功能的网络适配器。目前,这些适配器有三种类型:iWARP、Infiniband 或 RoCE (RDMA over Converged Ethernet)
SMB(*nix平台和Win NT4.0又称CIFS)协议是Windows平台标准文件共享协议。Linux平台通过samba来支持。SMB最新版本v3.0,在v2.0基础上针对WAN和分布式有改进。详细内容如下:
透明故障切换:
SMB3.0提供故障切换功能,在一台服务器故障情况下,客户端请求可以平滑切换到另外一台服务器,可以实现0宕机时间,切换过程少量IO会有延迟。该功能要求SMB服务器是一个集群,客户端和服务器都采用SMB3.0,共享开启“Continuous Availability”。SMB3.0以前协议客户可以正常访问SMB3.0共享,但是不支持透明故障切换功能。
切换过程示意图如下:
分布式支持:
SMB3.0可以将多台服务器组建成为一个集群,集群里面所有节点对客户端提供文件共享服务。在集群节点故障情况下,共享可以实现0宕机时间;并且可以快速故障恢复。
SMB2.0客户端可以正常访问SMB3.0集群,但是不支持故障切换;SMB1.0客户端不支持。
架构示意图如下:
RDMA支持:
SMB3.0支持RDMA功能,客户端和服务器都需要使用支持RDMA功能适配器(iWARP、RoCE、Infiniband)。RDMA功能可以使SMB共享可以获得更高带宽和更低延迟,有效减轻CPU I/O处理负载。结合SMB多通道功能可以实现负载均衡和故障切换功能。
SMB3.0以前客户端可以访问SMB3.0基于RDMA的共享,但不支持RDMA功能。RDMA架构示意图如下:
SMB多通道(Multichannel):
如果SMB客户端或者服务器拥有两块以上网卡,SMB多通道技术可以自动侦测使用多有网络路径,可以合并使用所有网卡带宽,SMB多通道技术可以结合多核处理器的RSS(RSS可以将IO请求均衡分发到不同处理器核心)技术。SMB多通道可以利用操作系统现有网卡绑定技术,但是不依赖。如果一种一块网卡故障,SMB多通道可以自动进行故障切换。
SMB3.0以前客户端无法使用SMB多通道技术,SMB多通道架构示意图如下:
SMB目录租约:
SMB3.0可以将共享的元数据信息缓存在客户端,客户端元数据请求直接从本地读取,这样可以提高查询性能,减少客户端与服务器之间延迟。目录缓存一致性通过租约实现(类似于DNS租约管理机制)。如果目录元数据有更新,服务器主动通知客户端更新。该功能要求SMB3.0客户端:
SMB加密功能:
SMB3.0自身提供端-端数据加密功能,可以在保证数据在复杂网络环境中的安全性。加密功能不需要依赖IPSec、PKI和特定硬件,使用AES CCM 128位加密算法。
VSS服务
VSS全称volume shadowcopy service,是微软为Windows操作系统提供的一个快照机制。SMB3.0共享提供VSS支持,主要服务于备份需求。VSS的影子拷贝由SMB3.0服务器提供,在不影响现有卷访问情况下,备份客户端可以通过影子拷贝完成备份过程,应用主机不参与备份数据传输过程,可以降低应用主机的负载。SMB3.0的VSS支持,原理跟RDMA基本相似。
SMB3.0 VSS架构示意图如下:
SMB共享存储实时迁移
同一域中多台服务器之间进行,不一定需要群集
可以并发实时迁移
不移动VHD,迁移虚拟机的运行状态到目标服务器,到SMB存储的连接也会迁移
可以通过POWERSHELL发起迁移
//
SMB 3.0 for Windows 7
Q: When will SMB 3.0 be available for Windows 7?
A: SMB 3.0 is part of Windows 8 and Windows Server 2012 and offers improved performance, and most importantly, new features around transparent failover and active-active sharing from file server clusters for specific types of server workload such as SQL Server databases and Hyper-V virtual machines.
At this time the active-active file sharing that allows multiple servers in a cluster to offer the same file share concurrently is only supported for enterprise scale-out applications like the ones I mentioned and not for general file sharing such as for Word and Powerpoint documents.
Therefore adding SMB 3.0 to Windows 7 wouldn't bring a huge amount of value since enterprise applications do not run on client OSs. SMB 3.0 is a feature of Windows 8 and Windows Server 2012.
SMB 3.0 does bring value to Windows 8 clients. In addition the performance gains, the new SMB multichannel capabilities make the transition from wired to wireless and vice versa a smooth process and avoids breaks in file copy operations. SMB encryption offers encryption without IPSec so don't think there is no value with SMB 3.0 for Windows 8.
If you have Windows 7 clients talking to Windows Server 2012, they will negotiate to the lowest common protocol which would be SMB 2.1 enabling communication, while not taking advantage of the SMB 3.0 specific capabilities.
win7 和 win8 的服务端(Windows Server 2012),之间的交互 是可以用smb交互, 但是 不会使用 smb3.0 只会协商使用 二者的共用最低版本。
本文转自babylater51CTO博客,原文链接:http://blog.51cto.com/babylater/1899575 ,如需转载请自行联系原作者