MPIO 是一种存储网络增强,它提供从计算机到块存储提供程序的多个物理路径,而不管存储是直接连接到存储提供程序还是通过网络提供。自Windows Server 2008 以来,
   MPIO 已内置到
Windows Server 中,并且在
   Windows Server 2003中作为
   单独的组件提供。除了
   Windows Server 操作系统内置的此支持外,许多存储供应商还提供自己的
   MPIO 软件,
   可以安装在运行
   Windows Server的计算机上,
   连接到后端存储。你主要在这些情况下使用
   MPIO:
   
• 创建或维护高可用性存储基础架构。在这种情况下,
   MPIO 与其他高可用性技术(如故障转移群集(
   failover clustering)
   ,网络负载平衡(
   network load balancing)
   和数据中心可用性(
   datacenter availability))相结合。数据中心可用性专门用于维护电源,冷却和网络。
   MicrosoftMPIO 可以处理最多
   32 条到存储基础架构的路径。
   
• 最大化吞吐量(
   throughput)
   以满足高性能要求。在这种情况下,
   MPIO 使用
   MPIO 负载平衡来最大化到存储的吞吐量。在大多数部署中,仍然配置高可用性,以便如果一个路径出现故障,则所有流量都使用备用路径,吞吐量会下降到单个路径级别。
   
MPIO 与其他软件并行工作。一个这样的软件是设备特定模块(
   device-specific module ,
   DSM)。
   DSM 是一种存储供应商软件组件,可促进与后端存储的高效交互。
   DSM 软件与
   MPIO 软件协同工作,用于初始化事件,
   I/O 事件以及与后端存储通信的其他方面。与
   MPIO 类似,存储供应商和
   Microsoft 都提供自己的DSM 软件。
   
SMB 是在
   1984 年创建的客户端
   - 服务器文件共享协议(
   client-server file-sharing protocol)
   。
   
Microsoft 修改了原始
   SMB,并在
   1996 年开始使用CIFS 名称。今天,术语
   SMB 和
   CIFS 可互换使用,指的是相同的文件共享协议
   。
   本课程使用术语SMB 来代表该技术。
   
SMB 被多个平台所支持,如在非
   Windows 平台上支持
   SMB 的开源版本,名称为
   SAMBA,与
   SMB兼容。
   
有多个版本的
   SMB,每个新版本都有其他功能和增强功能。
   SMB 的版本随着新操作系统的发布而增加。
   当两台计算机使用
   SMB 时,他们协商使用哪个版本。
   如果一台计算机能够使用
   SMB 2.0,另一台计算机能够使用
   SMB 3.0,则它们使用
   SMB 2.0。
   下表列出了不同
   Windows 操作系统所包含的
   SMB 的版本。
   
| Windows 10 和 | SMB 3.1.1 | 
| Windows 8.1 和 | SMB 3.0.2 | 
| Windows 8 和 | SMB 3.0 | 
| Windows 7 和 | SMB 2.1 | 
| Windows Vista 和 Windows Server 2008 | SMB 2.0.2 | 
| 之前的版本 | SMB 1.x | 
当前
   Windows 版本与
   SMB 1.x 没有任何依赖关系。
   如果您的网络不再包括
   Windows XP 或
   Windows Server2003,则应考虑通过删除
   SMB1 功能来禁用
   SMB 1.x。
   
要确保您的网络没有使用
   SMB 1.x 的设备,您可以启用对服务器上
   SMB 1.x 的使用的审核。
   事件存储在Microsoft-Windows-SMBServer/Audit 中。
   使用以下
   Windows PowerShell 命令启用
   SMB 1.x 审核日志记录:
   
Set-SmbServerConfiguration -AuditSmb1Access $true
要禁用
   SMB 1.x,请使用以下
   Windows PowerShell 命令:
   
Set-SMBServerConfiguration -EnableSMB1Protocol $false
每个新的
   SMB 版本提供了支持
   Windows Server 中的新功能的附加功能。一些最重要的增强功能从引入SMB 3.0 开始,它提供了显着的性能改进,包括支持在
   SMB 3.0 共享上存储
   SQL Server 数据库和
   Hyper-V虚拟机。
   
SMB 3.0.2 提供的功能使您能够为存储
   SQL Server 数据库和
   Hyper-V 虚拟机的高可用性文件共享实施Scale-Out File Server 功能。此外,它启用带宽限制(
   bandwidth limitation)
   ,并且是允许禁用
   SMB 1.x 的第一个版本。
   
SMB 3.1.1 具有以下新功能:
   
• 预身份验证(
   Preauthentication)
   。通过在会话建立期间使用安全散列算法
   512(
   Secure HashAlgorithm 512,
   SHA-512)散列来验证数据包内容,从而防止中间人攻击(
   man-in-the-middleattacks)
   。
   
• SMB 加密改进。
   SMB 加密现在默认使用
   AES-128-GCM 加密算法,其性能明显优于在
   SMB 3.0.2 中使用的
   AES-128-CCM。
   
• Cluster dialect fencing.。要支持
   Scale-Out 文件服务器集群的滚动升级,混合模式下的文件共享使用SMB 3.0.2。在群集中的所有节点都升级后,文件共享开始使用
   SMB 3.1.1。
   
附加阅读:
    有关详细信息,请参阅: "Windows Server 中的
   SMB 的新增功能",地址为:
   :
http://aka.ms/Uthhq2
 
NFS 是一种文件系统协议,它基于开放标准,允许通过网络访问文件系统。
   NFS 已经积极开发,目前的版本是
   4.1。
   NFS 协议的核心版本和特性是:
   
• NFS 版本
   1。
   Sun Microsystems 在
   1984 年开发了版本
   1,主要在内部使用。最初,
   NFS 在UNIX 操作系统上使用,但随后在包括Windows 在内的其他操作系统上受支持。
   
• NFS 版本
   2。
   请求注解(
   RFC)
   1094, "NFS:网络文件系统协议规范",
   定义了版本
   2。
   此版本专注于提高性能。文件大小限制为
   2 GB,因为它是一个
   32 位实现。
   
• NFS 版本
   3。
   RFC 1813, "NFS 版本
   3 协议规范",
   定义了版本
   3,并引入了对较大文件大小的支持,因为它是
   64 位实现。它还具有性能增强,例如更好地保护不安全写入,
   以及增加传输大小。它还包括安全增强功能,例如服务器的线上权限检查。
   
• NFS 版本
   4。
   RFC 3530,"网络文件系统(
   NFS)版本
   4 协议",
   定义了版本
   4,它提供了增强的安全性和改进的性能。
   
• NFS 版本
   4.1。
   RFC 5661, "网络文件系统(
   NFS)版本
   4 小版本
   1 协议",
   定义了版本
   4.1,增加了对集群的支持。
   
在
   UNIX 中,
   NFS 基于导出(
   exports)
   工作。
   导出与
   Windows 中的文件夹共享类似,因为它们是共享的UNIX 文件系统路径。
   
Microsoft 通过在
   1998 年推出了
   UNIX Add-On Pack 的
   Microsoft Windows NT 服务开始支持
   NFS。该产品用于将基于
   Windows 的计算机与基于
   UNIX 的计算机集成。
   一个这样的集成功能是支持
   NFS。
   Microsoft 继续以原来的名称开发产品,直到
   2004 年发布用于
   UNIX 3.5 的
   Microsoft Windows 服务。
   此时,产品已重命名为"基于
   UNIX 的应用程序的子系统"(
   Subsystem for UNIX-based Applications , SUA),功能拆分如下:
   
• UNIX 实用程序和软件开发工具包(
   SDK),可以从
   Microsoft 下载中心免费和可选的下载。
   
• SUA 的一部分,
   Client for NFS 组件和
   Server for NFS 组件器成为
   Windows 功能。
   SUA 功能在
   WindowsServer 2012 中已弃用,并且在
   Windows Server 2016 中不再可用。但是,
   Client for NFS 和
   Server forNFS 仍受支持并作为
   Windows 功能使用。
   
Windows 中的
   NFS 支持的两个组件是:
   
• Client for NFS。此组件使运行
   Windows 操作系统的计算机能够访问
   NFS 服务器上的
   NFS 导出(
   exports),而不管服务器运行在哪个平台。
   
• Server for NFS。此组件使基于
   Windows 的服务器能够通过
   NFS 共享文件夹。任何兼容的
   NFS 客户端都可以访问文件夹,而不管客户端运行哪个操作系统。绝大多数
   UNIX 和
   Linux 计算机都有一个内置的NFS 客户端。
   
随着
   Windows Server 操作系统的每次迭代,对
   NFS 的支持得到了改进和扩展,如下所示:
   
•Windows Server 2008 R2 在
   Server for NFS 中引入了对
   Kerberos 版本
   5(
   v5)
   的身份验证支持。
   
Kerberos v5 认证在授予对数据的访问权之前提供认证,它还使用校验和以确保没有发生数据篡改。
   
•Windows Server 2012 引入了对
   NFS 版本
   4.1 的支持。此支持包括使用默认配置,本机
   WindowsPowerShell 支持以及在群集部署中更快速的故障转移来提高性能。
   
在许多场景下,您可以在
   Windows 中使用
   NFS,一些最受欢迎的用途包括:
   
• VMWare 虚拟机存储。
   在此方案中,
   VMWare 托管(
   host)
   NFS 导出(
   NFS exports)
   上的虚拟机。
   您可以使用
   Server for NFS 来托管
   Windows Server 2012 R2 服务器上的数据。
   
• 多操作系统环境。
   在这种情况下,您的组织使用各种操作系统,包括
   Windows,
   Linux 和
   Mac。
   
Windows 文件服务器系统可以使用
   Server for NFS 和内置的
   Windows 共享功能,以确保所有操作系统都可以访问共享数据。
   
• 合并或收购。
   在这种情况下,两家公司正在合并。
   每个公司都有不同的
   IT 基础设施。
   一个公司的用户使用
   Windows 8.1 客户端计算机,他们必须访问其他公司的基于
   Linux 和
   NFS 的文件服务器托管的数据。
   您可以将
   NFS 客户端部署到客户端计算机,以允许用户访问数据。
   
在您的环境中实施
   NFS 之前,应考虑以下几种最佳实践,包括:
   
• 使用最新版本的
   NFS 服务器和客户端。目前,
   NFS 版本
   4.1 是最新版本,在
   Windows Server 2012 及更高版本以及
   Windows 8 和更高版本上受支持。通过使用最新版本的服务器和客户端操作系统,您可以利用最新的性能和安全性改进,例如客户端/服务器协商和改进的对群集服务器的支持。
   
• 使用所有可用的安全增强功能。
   自从
   NFS 版本
   3.0 以来,
   NFS 提供了
   Kerberos 安全选项来加强
   NFS 通信。您应该尽可能使用以下选项:
   
o Kerberos v5 认证协议。这是推荐的认证协议,以维持最高的认证安全性。
   
o Kerberos v5 认证和完整性。这通过使用校验和添加完整性检查(
   ntegrity checking)
   ,以确保数据未被更改。
   
o Kerberos v5 身份验证和隐私(
   privacy)
   。这会为身份验证流量添加加密。
   
• 不允许匿名访问。虽然匿名访问是
   NFS 共享的一个选项,但不应使用它,因为它会降低文件共享环境的安全性。