SMB - Windows Server 2012 技术白皮书
服务器消息块(SMB)是基于 Windows 的计算机默认使用的文件共享协议。WindowsServer 2012 提供的 SMB 新功能极大地改善了文件服务器的可靠性、可用性、可管理能力以及性能。
SMB 透明故障转移,配合 SMB 多通道以及 SMB Direct 功能一起,使得客户能够为Hyper-V 以及 Microsoft SQL Server 这样的负载部署存储设备,并能享受到 WindowsServer 2012 所提供的低廉成本、高可用性以及高性能。
SMB 的一些重要新功能如下:
- SMB 的透明故障转移与节点容错。对关键业务服务器应用程序负载提供支持,要求到存储设备的连接必须具备高可用性。SMB 服务器群集与客户端通过协作,可提供透明故障转移,针对计划内移动与计划外故障,所有 SMB 操作都可绕道备选群集节点。
- 通过 SMB 多通道实现快速数据传输与网络容错。通过使用 Windows Server2012,客户可以在远程 SMB 文件共享中存储应用程序数据(例如 Hyper-V 与SQL Server)。针对远程 SMB 共享,SMB 多通道可提供更高吞吐率与访问服务器(例如 Hyper-V 或 SQL Server)的多个冗余路径。
- 通过 SMB Direct 提供可扩展,更快速,更高效的存储。SMB Direc(t SMB overRDMA)是 Windows Server 2012 中提供的一个新的存储协议。在使用支持标准RDMA 技术网络适配器的情况下,该技术使得服务器与存储之间可直接实现内存到内存数据传输,同时将 CPU 的利用率降到最低。SMB Direct 可支持三种类型的 RDMA 技术:iWARP、InfiniBand 以及 RoCE。对存储 I/O 实现最小化 CPU 开销,这意味着服务器在固定的 CPU 周期内可以处理更大的计算负载(例如Hyper-V 可托管更多虚拟机)。
- 使用 SMB Scale Out 的主动/主动文件共享。通过充分利用群集共享卷(CSV)v2,Windows Server 2012 文件服务器群集可通过直接 I/O,借助文件服务器群集内的任何节点为文件共享的数据提供并发访问。该技术使得您可以在群集中使用全部的网络带宽,并对文件服务器的客户端提供负载平衡,借此可优化服务器应用程序的性能。
- 适用于 SMB 文件共享的卷影副本服务(VSS)。该功能可为每种服务器的应用程序数据提供与应用程序一致的卷影副本。这些数据主要存储在远程文件共享中,为应用程序的备份与还原场景提供支持。
SMB 多通道
通过 SMB 多通道技术, 可在不打断应用程序服务的前提下对网络路径的故障进行自动的透明转移。如果在 SMB 客户端与 SMB 服务器之间存在多路径,Windows Server 2012 可以扫描、隔离并响应非预期服务器故障从而实现网络容错。如果存在多路径,SMB 多通道还能通过多个网络接口提供网络带宽聚合。随后服务器应用程序即可充分利用所有可用的网络带宽,并对网络故障提供更好的适应能力。
SMB 多通道具备下列要求:
- 有至少两台运行 Windows Server 2012 的计算机。无需安装其他额外功能—该技术默认即可使用。
- 下文列出了一些受支持的网络配置:
- 单一万兆(gigabit Ethernet)网络适配器。每台计算机都配置为具备一个万兆网络接口。在单一适配器上使用多个连接可提供更好的性能,因为可以使用接收端缩放(RSS)技术。
- 两块千兆网络适配器。每台计算机必须配置为具备两个千兆网络接口。
- 两块千兆网络适配器组成 LBFO 组。每台计算机必须配置两块千兆网络接口,并配置为负载平衡与故障转移(LBFO)组。SMB 客户端网络适配器与SMB 服务器网络适配器的通讯将使用捆绑的接口。
- 两块万兆网络适配器。每台计算机必须配置为具备两个万兆网络接口。由于使用了接收端缩放(RSS)技术,该配置可在每个接口上使用多个连接。
- 单 个 Infiniband 网 络 适 配 器 。 每 台 计 算 机 必 须 配 置 为 具 备 一 个Infiniband 网络接口。在一个适配器上使用多个连接可对具备多引擎的网络接口提供更好的性能。
- 两 个 Infiniband 网 络 适 配 器 。 每 台 计 算 机 必 须 配 置 为 具 备 两 个Infiniband 网络接口。该配置可在每个接口上使用多个连接。
注意:对于 SMB 多通道,只有少量几个配置范例。但是却有着更多可能的配置,包括使用超过两个网络适配器,使用不同速度的网络适配器以及使用不同类型的网络适配器。
SMB Direct
SMB Direct 使用了一种支持 RDMA 的特殊网络适配器,可在非常低延迟环境下全速工作,同时只使用少量 CPU 资源。对于类似 Hyper-V 或 Microsoft SQL Server 等负载,该功能可让远程文件服务器获得与本地存储相近的性能。
SMB Direct 具备下列要求:
- 有至少两台运行 Windows Server 2012 的计算机。无需安装其他额外功能—该技术默认即可使用。
- 网络适配器必须支持 RDMA 功能。目前可支持的网络适配器类型如下:iWARP、Infiniband 以及 RDMA over Converged 以太网(RoCE)。
注意:SMB Direct 可配合 SMB 多路径一起使用,提供更好的性能与更高的故障适应性。
适用于 Hyper-V 以及 SQL Server 的 SMB
SMB 的很多功能在设计上都是专门针对需要在文件共享中保存数据的服务器应用程序。例如数据库应用程序 Microsoft SQL Server 或虚拟化软件 Hyper-V。这些新功能易于使用,无需特殊的存储网络基础架构。
下图展示了包含两节点的文件服务器群集,并为 Hyper-V 与 SQL Server 提供存储的配置
范例。
两节点文件服务器群集,为 Hyper-V 与 Microsoft SQL Server 提供存储
服务器应用程序数据的优势
在 Windows Server 2012 的共享文件夹中存储服务器应用程序的数据,可提供下列优势:
- 更轻松地供应与管理。管理文件共享,而非管理存储设置与逻辑单元号(LUN)。
- 更好的灵活性。在数据中心内对虚拟机或数据库实现动态重安置。
- 能够在汇聚网络中充分利用原有投资。使用原有的汇聚网络,无需特殊的存储网络硬件。
- 降低容量开销。容量开销(采购成本)将大幅降低。
- 降低运维开销。可降低运维成本,因为 Windows Server 2012 不再需要专门的存储技能。
SQL Server over SMB
Windows Server 2012 中的 SMB 客户端与 3.0 版 SMB 服务器专门针对小型随机读写I/O 进行了优化,这种特征在服务器应用程序中很常见,例如 SQL Server 在线事务处理(OLTP)。此外,SMB 更大的的最大传输单位(MTU)默认就已启用,该技术可显著提升大型序列化数据传输操作的性能,例如 SQL Server 数据仓库、数据备份与还原以及虚拟磁盘的部署与复制。当然,通过使用 SMB 为 SQL Server 负载提供存储,您还能直接充分利用 SMB 的其他改进,包括 SMB Direct、SMB 多通道以及 SMB Scale Out 透明故障转移,因为这些改进都能提供累加的效果。
SQL Server over SMB 具备下列要求:
- 一台或多台运行 Windows Server 2012,并且安装了文件服务角色的计算机。
- 通用的 Active Directory 基础架构。(运行 Active Directory 域服务(AD DS)的计算机可以不运行 Windows Server 2012)
- SQL Server 端、文件服务端或双方都具备故障转移群集(仅限 Microsoft SQL Server 2012)。故障转移群集并非必须的。
SQL Server over SMB 的三大最常用配置包括: 1) 单节点文件服务器,2) 双节点文件服务器 3) 多节点文件服务器。 这三种配置的范例请参照下图。
SQL Server over SMB 的常用配置
Hyper-V over SMB
使用 SMB 远程文件共享存储虚拟机,现在已被 Windows Server 2012 中的 Hyper-V 所支持。SMB 可充当虚拟机配置、虚拟磁盘、快照以及其他所有 Hyper-V 文件的存储位置。这一特性已经配合其他 Hyper-V 功能一起进行了充分的测试,例如存储迁移、实时迁移、Hyper-V 复制以及故障转移群集。
Windows Server 2012 还提供了 SMB 客户端性能计数器, 可针对 I/O 尺寸、I/O 延迟、每秒钟输入/输出操作数量(IOPS)等指标提供详细信息。这也使得 SQL Server 数据库管理员或 Hyper-V 管理员可以分析用于保存自己数据的 SMB 文件共享的性能。
Hyper-V over SMB 具备下列要求:
- 一台或多台运行 Windows Server 2012,并且安装了 Hyper-V 与文件服务角色的计算机。
- 通用的 Active Directory 基础架构。(运行 Active Directory 域服务(AD DS)的计算机可以不运行 Windows Server 2012)
- 在 Hyper-V 端、文件服务端或双方安装故障转移群集。故障转移群集并非必须的。
Hyper-V over SMB 的三大最常用配置包括: 1) 单节点文件服务器,2) 双节点文件服务器以及 3) 多节点文件服务器,图下图所示。
Hyper-V over SMB 的常用配置
信息工作者文件共享的改进
虽然 SMB 文件共享对应用程序负载的支持是 SMB 协议的一种新增特性,且这种新特性是广受考验的,但对存储用户数据提供的支持仍被看作是 SMB 文件共享最传统的用途。这并不意味着此应用在 Windows Server 2012 中就没有任何改进。实际上对于希望寻求新的特性,改善安全性与性能的人来说,这方面也有不少改进,可有效改善 SMB 文件共享上保存用户数据时的安全性与性能,具体特性如下。
SMB 加密
随着远程位置有越来越多的数据被集中保存,移动员工对公众网络的需求与日俱增。此外,一些重要的应用程序,例如 Hyper-V(以及相关场景,例如存储迁移、虚拟桌面基础架构(VDI)、跨群集迁移等)也开始通过不怎么安全的网络使用 SMB 3.0。更重要的是,制度的合规性要求对包含重要业务数据的文件限制也越来越多。通过对该协议增加加密特性,可以简化管理员实施额外安全机制的工作负担,并可提供更简单的安装过程。SMB 加密不需要额外的设置过程就可以随时保护数据,防范通过不安全网络进行的篡改。
Directory Leasing
SMB Directory Leasing 功能使得客户端可以对目录元数据进行缓存,并保存更长时间。这有助于分支办公室的客户端在高延迟网络中减少与服务器进行协商所需的时间。因此 WAN网络上的通讯可显著减少,最终用户在访问远程数据时可获得更小延迟。SMB DirectoryLeasing 特别针对主文件夹负载进行了优化,这种负载主要包含读写操作,但无需共享,此外还有一些只需要读写,并且需要共享的发布场景。
主要计算机
漫游用户配置文件以及文件夹重定向这样的技术在多年来一直被用作管理漫游用户的数据使用。这些技术可以提供集中备份、跨客户端一致视图以及更简单的 PC 重新安置等收益。主要计算机功能扩展了这一功能,可让管理员确保用户数据只能漫游到主要被该用户使用的计算机上。对最终用户来说收益则在于在非主要计算机(例如会议室里的公用计算机)上,可以用更快速度登录。对管理员来说,该功能可减少与常规数据清理有关的繁杂工作,并且确保数据只在需要时才被漫游,可提升安全性。
未知的网友