揭秘微软WS 2012中新SMB的十八般武艺

系统
Windows Server 2012提供的SMB新功能极大地改善了文件服务器的可靠性、可用性、可管理能力以及性能等。本文将详细解读Windows Server 2012中新SMB的十八般武艺。

 话说SMB(服务器消息块,Server Message Block)其实微软并非始作俑者,但是却在微软的操作系统里被发扬光大。据有关资料记载,1996年,微软在推出WebNFS的同时提出将SMB改称为基于Windows的计算机默认使用的文件共享协议。

在详细解读Windows Server 2012中新SMB的十八般武艺之前,首先要区分不同的SMB概念。SMB一开始的设计是在NetBIOS协议上运行的,而Windows 2000引入了SMB直接在TCP/IP上运行的功能。在这里我们必须区分SMB协议和运行在这个协议上的SMB业务,以及直接使用NetBIOS数据报的“网络邻居”协议。

Windows Server 2012提供的SMB新功能极大地改善了文件服务器的可靠性、可用性、可管理能力以及性能等。SMB透明故障转移,配合SMB多通道以及SMB Direct功能一起,使得客户能够为Hyper-V以及MicrosoftSQL Server这样的负载部署存储设备,并能享受到Windows Server 2012所提供的低廉成本、高可用性以及高性能。 

[[100027]]

  那么,为什么新SMB的这些新功能会让企业系统管理员感到惊喜呢?下面我们分别阐述。

首先是SMB的透明故障转移与节点容错。对关键业务服务器应用程序负载提供支持,要求到存储设备的连接必须具备高可用性。SMB服务器群集与客户端通过协作,可提供透明故障转移,针对计划内移动与计划外故障,所有SMB操作都可绕道备选群集节点。

  第二,通过SMB多通道实现快速数据传输与网络容错。通过使用Windows Server 2012,客户可以在远程SMB文件共享中存储应用程序数据(例如Hyper-V与SQL Server)。针对远程SMB共享,SMB多通道可提供更高吞吐率与访问服务器(例如Hyper-V或SQL Server)的多个冗余路径。

  第三,通过SMB Direct提供可扩展,更快速,更高效的存储。SMB Direct(SMBoverRDMA)是Windows Server 2012中提供的一个新的存储协议。在使用支持标准RDMA技术网络适配器的情况下,该技术使得服务器与存储之间可直接实现内存到内存数据传输,同时将CPU的利用率降到最低。SMB Direct可支持三种类型的RDMA技术:iWARP、InfiniBand以及RoCE。对存储I/O实现最小化CPU开销,这意味着服务器在固定的CPU周期内可以处理更大的计算负载(例如Hyper-V可托管更多虚拟机)。

  第四,使用SMB ScaleOut的主动/主动文件共享。通过充分利用群集共享卷(CSV)v2,Windows Server 2012文件服务器群集可通过直接I/O,借助文件服务器群集内的任何节点为文件共享的数据提供并发访问。该技术使得您可以在群集中使用全部的网络带宽,并对文件服务器的客户端提供负载平衡,借此可优化服务器应用程序的性能。

  第五,适用于SMB文件共享的卷影副本服务(VSS)。该功能可为每种服务器的应用程序数据提供与应用程序一致的卷影副本。这些数据主要存储在远程文件共享中,为应用程序的备份与还原场景提供支持。#p#

SMB多通道的要求

  通过SMB多通道技术,可在不打断应用程序服务的前提下对网络路径的故障进行自动的透明转移。如果在SMB客户端与SMB服务器之间存在多路径,Windows Server 2012可以扫描、隔离并响应非预期服务器故障从而实现网络容错。如果存在多路径,SMB多通道还能通过多个网络接口提供网络带宽聚合。随后服务器应用程序即可充分利用所有可用的网络带宽,并对网络故障提供更好的适应能力。

  SMB多通道具备下列要求:有至少两台运行Windows Server 2012的计算机。无需安装其他额外功能-该技术默认即可使用。下文列出了一些受支持的网络配置:

  1.单一万兆(gigabit Ethernet)网络适配器。每台计算机都配置为具备一个万兆网络接口。在单一适配器上使用多个连接可提供更好的性能,因为可以使用接收端缩放(RSS)技术。

  2.两块千兆网络适配器。每台计算机必须配置为具备两个千兆网络接口。

  3.两块千兆网络适配器组成LBFO组。每台计算机必须配置两块千兆网络接口,并配置为负载平衡与故障转移(LBFO)组。SMB客户端网络适配器与SMB服务器网络适配器的通讯将使用捆绑的接口。

  4.两块万兆网络适配器。每台计算机必须配置为具备两个万兆网络接口。由于使用了接收端缩放(RSS)技术,该配置可在每个接口上使用多个连接。

  5.单个Infiniband网络适配器。每台计算机必须配置为具备一个Infiniband网络接口。在一个适配器上使用多个连接可对具备多引擎的网络接口提供更好的性能。

  6.两个Infiniband网络适配器。每台计算机必须配置为具备两个Infiniband网络接口。该配置可在每个接口上使用多个连接。

  注意:对于SMB多通道,只有少量几个配置范例。但是却有着更多可能的配置,包括使用超过两个网络适配器,使用不同速度的网络适配器以及使用不同类型的网络适配器。#p#

适用Hyper-V以及SQL Server的SMB

  SMB的很多功能在设计上都是专门针对需要在文件共享中保存数据的服务器应用程序。例如数据库应用程序Microsoft SQL Server或虚拟化软件Hyper-V。这些新功能易于使用,无需特殊的存储网络基础架构。

  在Windows Server 2012的共享文件夹中存储服务器应用程序的数据,可提供下列优势:更轻松地供应与管理。管理文件共享,而非管理存储设置与逻辑单元号(LUN)。更好的灵活性。在数据中心内对虚拟机或数据库实现动态重安置。能够在汇聚网络中充分利用原有投资。使用原有的汇聚网络,无需特殊的存储网络硬件。降低容量开销。容量开销(采购成本)将大幅降低。降低运维开销。可降低运维成本,因为Windows Server 2012不再需要专门的存储技能。

  SQL Serverover 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 ScaleOut透明故障转移,因为这些改进都能提供累加的效果。

  SQL Serverover SMB具备下列要求:一台或多台运行Windows Server 2012,并且安装了文件服务角色的计算机。通用的Active Directory基础架构。运行Active Directory域服务(ADDS)的计算机可以不运行Windows Server 2012)SQL Server端、文件服务端或双方都具备故障转移群集(仅限Microsoft SQL Server2012)。故障转移群集并非必须的。

  SQL Serverover SMB的三大最常用配置包括:

  1)单节点文件服务器,

  2)双节点文件服务器

  3)多节点文件服务器。

  Hyper-Vover 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-Vover SMB具备下列要求:一台或多台运行Windows Server 2012,并且安装了Hyper-V与文件服务角色的计算机。通用的Active Directory基础架构。运行Active Directory域服务(ADDS)的计算机可以不运行Windows Server 2012)在Hyper-V端、文件服务端或双方安装故障转移群集。故障转移群集并非必须的。

  Hyper-Vover SMB的三大最常用配置包括:1)单节点文件服务器,2)双节点文件服务器以及3)多节点文件服务器。#p#

SMB Direct

  SMB Direct使用了一种支持RDMA的特殊网络适配器,可在非常低延迟环境下全速工作,同时只使用少量CPU资源。对于类似Hyper-V或MicrosoftSQL Server等负载,该功能可让远程文件服务器获得与本地存储相近的性能。

  SMB Direct具备下列要求:有至少两台运行Windows Server 2012的计算机。无需安装其他额外功能-该技术默认即可使用。网络适配器必须支持RDMA功能。目前可支持的网络适配器类型如下:iWARP、Infiniband以及RDMAoverConverged以太网(RoCE)。

  注意:SMB Direct可配合SMB多路径一起使用,提供更好的性能与更高的故障适应性。

信息工作者文件共享的改进

  虽然SMB文件共享对应用程序负载的支持是SMB协议的一种新增特性,且这种新特性是广受考验的,但对存储用户数据提供的支持仍被看作是SMB文件共享最传统的用途。这并不意味着此应用在Windows Server 2012中就没有任何改进。实际上对于希望寻求新的特性,改善安全性与性能的人来说,这方面也有不少改进,可有效改善SMB文件共享上保存用户数据时的安全性与性能,具体特性如下。

  SMB加密

  随着远程位置有越来越多的数据被集中保存,移动员工对公众网络的需求与日俱增。此外,一些重要的应用程序,例如Hyper-V(以及相关场景,例如存储迁移、虚拟桌面基础架构(VDI)、跨群集迁移等)也开始通过不怎么安全的网络使用SMB3.0。更重要的是,制度的合规性要求对包含重要业务数据的文件限制也越来越多。通过对该协议增加加密特性,可以简化管理员实施额外安全机制的工作负担,并可提供更简单的安装过程。SMB加密不需要额外的设置过程就可以随时保护数据,防范通过不安全网络进行的篡改。

  Directory Leasing

  SMB Directory Leasing功能使得客户端可以对目录元数据进行缓存,并保存更长时间。这有助于分支办公室的客户端在高延迟网络中减少与服务器进行协商所需的时间。因此WAN网络上的通讯可显著减少,最终用户在访问远程数据时可获得更小延迟。SMB Directory Leasing特别针对主文件夹负载进行了优化,这种负载主要包含读写操作,但无需共享,此外还有一些只需要读写,并且需要共享的发布场景。

  主要计算机

  漫游用户配置文件以及文件夹重定向这样的技术在多年来一直被用作管理漫游用户的数据使用。这些技术可以提供集中备份、跨客户端一致视图以及更简单的PC重新安置等收益。主要计算机功能扩展了这一功能,可让管理员确保用户数据只能漫游到主要被该用户使用的计算机上。对最终用户来说,收益则在于在非主要计算机(例如会议室里的公用计算机)上,可以用更快速度登录。对管理员来说,该功能可减少与常规数据清理有关的繁杂工作,并且确保数据只在需要时才被漫游,可提升安全性。#p#

适用于远程SMB文件共享的VSS

  在Windows Server 2012中,Hyper-V开始支持SMB远程文件共享。通过该功能,Hyper-V可以将虚拟机文件(包括配置文件以及VHD文件)保存到使用SMB协议的共享文件夹中。同理,Microsoft SQL Server2008R2也开始支持在使用SMB协议的共享文件夹中存储数据库与日志文件。

  为了支持这些场景以及为其他需要在SMB共享中存储数据文件的应用程序提供支持,出现了一种名为适用于远程SMB文件共享的VSS的功能,该功能使得备份程序能够使用VSS针对SMB文件共享中保存的数据执行一致的备份与还原。

  适用于远程SMB文件共享的VSS包含下列四个组件:

  第一,通过对VSS基础架构进行改进,可支持新的文件共享卷影副本提供程序。

  第二,新增了一个名为"File Share Shadow Copy Provider"的VSS提供程序。该文件共享卷影副本提供程序可管理所有SMB通用命名约定(UNC)路径的卷影副本,并且需要借助文件共享卷影副本代理的卷影副本请求。文件共享卷影副本提供程序主要被运行了可使用VSS的应用程序的计算机所应用,并且需要将数据文件存储到远程UNC路径中。

  第三,此外还有一个新的"File Share Shadow Copy Agent"。该文件共享卷影副本代理管理着共享到卷的映射,并在文件服务器上与VSS基础架构进行交互,对SMB文件共享的卷以及支持VSS的应用程序所存储的数据文件执行卷影副本备份。文件共享卷影副本代理主要被托管了SMB文件共享的计算机运行。

  第四,新增的文件共享卷影副本提供程序与文件共享卷影副本代理可使用全新的,基于RPC的协议对SMB文件共享上所存储数据的卷影副本请求进行协调。

  "适用于SMB文件共享的VSS"需要具备:第一,应用程序服务器与文件服务器都必须运行Windows Server 2012;第二,文件服务器上必须启用文件服务器VSS代理服务角色;第三,应用程序服务器与文件服务器必须加入同一个Active Directory林的Active Directory域内;第四,备份代理必须使用文件服务器上Backupoperators或Administrator权限的安全上下文运行。

  "适用于SMB文件共享的SMB"可以支持:第一,使用独立、故障转移群集,或可扩展群集配置的文件服务器;第二,使用独立或故障转移群集配置的应用程序服务器;第三,普通的,持续可用的以及Scale-OutSMB文件共享;第四,作为DFS-N链路目标的SMB文件共享;第五,自动恢复等。

  下文将介绍高级卷影副本操作序列的步骤。

  卷影副本基本操作过程

  A. 备份服务器将备份请求发给自己的备份代理(VSS Requestor)。

  B. VSS请求方收集写入信息并解析UNC路径(仅限SMB协议)。

  C. VSS服务获取写入程序的源数据信息,并将其返回给VSS请求方。

  D. VSS服务将准备好的卷影副本请求发给被调用的VSS写入程序,而VSS写入程序会刷新缓存并保存写操作。

  E.对于卷影副本集中所涉及到的所有UNC路径,VSS服务将卷影副本创建请求发给文件共享卷影副本提供程序。

  1.对于卷影副本集涉及到的每个远程文件服务器,文件共享卷影副本提供程序需要依赖到文件共享卷影副本代理的卷影副本创建请求。

  2.文件共享卷影副本代理向文件服务器上的VSS服务发起writer-less卷影副本创建请求。

  3.文件服务器上的VSS服务使用相应的VSS硬件或系统提供程序,完成卷影副本请求。

  F.应用程序服务器上的卷影副本创建序列完成后,应用程序服务器上的VSS请求方会从VSS服务获取卷影副本属性。

  根据卷影副本属性中所包含的卷影副本设备名,备份服务器即可访问卷影副本中保存的备份数据。如果卷影副本序列在任何一点失败,坚硬复制序列将被停止,备份应用程序必须重试。

责任编辑:黄丹 来源: 中关村在线
相关推荐

2009-05-25 09:54:13

2017-01-09 14:16:34

2021-05-10 15:03:35

无人机火灾技术

2021-12-09 09:58:01

运营商5G网络

2022-03-18 15:36:50

挖矿网络安全

2017-08-21 16:41:29

开发者故事

2020-06-28 14:15:52

前端架构师互联网

2010-09-03 13:30:19

CSS

2019-03-12 09:00:00

安全工具病毒软件恶意软件

2020-01-14 16:44:32

设备商5G运营商

2015-03-17 10:31:32

HTML5两会掌上论“键”

2018-09-04 15:53:20

AI人类人工智能

2019-03-11 09:00:00

安全工具病毒软件恶意软件

2017-05-10 20:31:13

数学研究者深度学习

2012-02-07 16:02:44

扫描仪推荐

2013-12-10 09:31:33

Windows SerPowerShellPowerShell

2015-04-16 10:29:38

2021-05-21 09:34:40

React React 17前端

2013-02-01 18:18:43

Windows Ser中国电信案例
点赞
收藏

51CTO技术栈公众号