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 共享的一个选项,但不应使用它,因为它会降低文件共享环境的安全性。