<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soul Of Free Loop &#187; samba</title>
	<atom:link href="https://zohead.com/archives/tag/samba/feed" rel="self" type="application/rss+xml" />
	<link>https://zohead.com</link>
	<description>Uranus Zhou&#039;s Blog</description>
	<lastBuildDate>Sat, 19 Jul 2025 15:42:46 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8</generator>
	<item>
		<title>在Windows Server 2012中使用SMB 3.0多通道</title>
		<link>https://zohead.com/archives/smb3-multichannel/</link>
		<comments>https://zohead.com/archives/smb3-multichannel/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 12:45:41 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[存储]]></category>
		<category><![CDATA[技术]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[Multichannel]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[RDMA]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[SMB]]></category>
		<category><![CDATA[SMB 3.0]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://zohead.com/?p=389</guid>
		<description><![CDATA[关于 SMB 3.0 多通道 Windows Server 2012 系统中更新支持的 SMB 3.0 网络共享协议相对于原来的 SMB 1.0 有诸多改进，例如：RDMA 支持、Multichannel 多通道支持等等，详情请参考我之前写过的文章介绍如何在 Windows Server 2012 中使用 SMB 3.0 over RDMA： https://zohead.com/archives/smb3-over-rdma-performance/ 这里我主要关注 SMB 3.0 Multichannel 的实际效果，Multichannel 可以实现 SMB 客户端和服务器之间同时发起多 [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2>关于 SMB 3.0 多通道</h2>
<p>Windows Server 2012 系统中更新支持的 SMB 3.0 网络共享协议相对于原来的 SMB 1.0 有诸多改进，例如：RDMA 支持、Multichannel 多通道支持等等，详情请参考我之前写过的文章介绍如何在 Windows Server 2012 中使用 SMB 3.0 over RDMA：</p>
<p><a href="https://zohead.com/archives/smb3-over-rdma-performance/" target="_blank">https://zohead.com/archives/smb3-over-rdma-performance/</a></p>
<p>这里我主要关注 SMB 3.0 Multichannel 的实际效果，Multichannel 可以实现 SMB 客户端和服务器之间同时发起多个 SMB 连接（对于 SMB 1.0 和 2.0 是很大进步之一），通过在多网卡环境下使用 SMB 3.0 Multichannel 可以达到提高系统吞吐量、支持错误容忍、多通道自动配置等效果，从上面的文章中再来回顾下 SMB 3.0 的 Multichannel（多通道）需要的条件：</p>
<ul>
<li>SMB 服务器和客户端计算机必须都为 Windows Server 8 或者 2012；</li>
<li>必须都有多个网卡，网卡类型和速度需要一致，或者其中一个或多个网卡支持 RSS 或者 NIC Teaming（网卡绑定）或者 RDMA。</li>
</ul>
<p>有一点需要说明的是 samba 新推出的 4.0 正式版本虽然提供了 SMB 3.0 协议的支持，但并不支持 Multichannel 多通道、RDMA 这些高级功能的，因此此测试暂时还只能在 Windows Server 2012 系统中做了。</p>
<h2>测试环境</h2>
<p><em>服务器：</em></p>
<hr size="1" />
<p>Intel S5500BC 服务器主板；</p>
<p>Intel Xeon E5506 CPU * 1；</p>
<p>Kingston DDR3 1066 4G 服务器内存 * 1；</p>
<p>Intel EXPI9402PTBLK 双千兆网卡（PCI-E x 8 插槽）；</p>
<p>LSI MegaRAID 84016E RAID卡（PCI-E x 8 插槽）；</p>
<p>WD WD10EVDS 1TB SATA 监控硬盘 * 16；</p>
<p>Windows Server 8 Beta Datacenter Build 8250 64位中文版；<strong></strong></p>
<p>&nbsp;</p>
<p><em>客户端：</em></p>
<hr size="1" />
<p>TYAN S7002 服务器主板；</p>
<p>Intel Xeon E5506 CPU * 1；</p>
<p>Kingston DDR3 1066 2G 服务器内存 * 1；</p>
<p>主板内置双千兆网卡；</p>
<p>Windows Server 8 Beta Datacenter Build 8250 64位中文版；</p>
<p><em>其它环境：</em></p>
<hr size="1" />
<p>TP-LINK 24 口千兆交换机；</p>
<p><em>测试软件：</em></p>
<hr size="1" />
<p>IBM Tivoli SANergy（测试大块文件连续读写）；</p>
<h2>测试步骤及结果</h2>
<p>SMB Multichannel 在 Windows Server 2012 系统中默认就是启用的，你可以分别在服务器和客户端中的 PowerShell 中运行 <strong>Get-SmbServerConfiguration</strong> 和 <strong>Get-SmbClientConfiguration</strong> 命令查看 Multichannel 是否已经启用。</p>
<p>然后可以在 PowerShell 中分别运行 <strong>Get-SmbServerNetworkInterface</strong> 和 <strong>Get-SmbClientNetworkInterface</strong> 命令查看是否满足多通道的条件。以我的实际测试环境为例，先看看服务器上的配置：</p>
<p><a href="https://zohead.com/wp-content/uploads/smb3-multichannel-server-inc.png"><img class="alignnone" title="SMB 3.0 Multichannel服务器网卡" src="https://zohead.com/wp-content/uploads/smb3-multichannel-server-inc.png" alt="SMB 3.0 Multichannel服务器网卡" width="583" height="98" /></a></p>
<p>从图中可以看到服务器中是两个千兆网卡，两个网卡的 IP 地址在同一网段，Interface Index 为网卡的序号（后面会用到），另外会显示 RSS 和 RDMA 都是不支持的，此时表示可以使用多通道。需要说明的是如果两个网卡都是千兆的，但是一个支持 RSS，另一个不支持 RSS，SMB 3.0 Multichannel 在类似这种情况下也是不能使用的。</p>
<p>再来看看客户端上的网卡情况：</p>
<p><a href="https://zohead.com/wp-content/uploads/smb3-multichannel-client-inc.png"><img class="alignnone" title="SMB 3.0 Multichannel客户端网卡" src="https://zohead.com/wp-content/uploads/smb3-multichannel-client-inc.png" alt="SMB 3.0 Multichannel客户端网卡" width="692" height="145" /></a></p>
<p>客户端的网卡多一些，但我们只需看网络通了的网卡（Interface 12 和 13），也是千兆网卡，两个网卡的 IP 地址也在同一网段（图中显示的是 IPv6 地址，实际也都在 192.168.1.0 网段），但两个网卡都支持 RSS，不支持 RDMA，这样多通道也是可以用的。</p>
<p>在服务器上建立磁盘阵列（我是建的 RAID5 哦），建立共享目录，然后在客户端上通过映射网络驱动器访问共享目录即可，由于要使用多通道，因此最好直接使用 “<strong>\\服务器主机名\共享名称</strong>” 这种形式（不要直接指定服务器上的某个 IP 地址）。</p>
<p>客户端中连接上共享目录之后，就可以在客户端的 PowerShell 中运行 <strong>Get-SmbMultichannelConnection</strong> 命令查看 SMB 连接是否使用了多通道：</p>
<p><a href="https://zohead.com/wp-content/uploads/smb3-multichannel-connection.png"><img class="alignnone" title="SMB 3.0 Multichannel连接" src="https://zohead.com/wp-content/uploads/smb3-multichannel-connection.png" alt="SMB 3.0 Multichannel连接" width="869" height="110" /></a></p>
<p>从上图可以看到详细的 SMB 连接信息，也可以明显的得出客户端到服务器的连接已经启用了多通道（不同的客户端 IP 地址对应不同的服务端 IP 地址，从客户端和服务端的 Interface Index 网卡序号也可以看出）。另外虽然客户端网卡是支持 RSS 的，但由于服务端并不支持，因此 SMB 连接仍然未启用 RSS，当然 RDMA 就更没有启用了。</p>
<p>下面就可以用测试软件进行读写测试了，测试过程中可以分别看客户端和服务器上的网卡占用情况，就可以看出 SMB 3.0 多通道已经发挥作用（两个网卡都有读写产生的流量的）：</p>
<p><a href="https://zohead.com/wp-content/uploads/smb3-multichannel-netusage.png"><img class="alignnone" title="SMB 3.0 Multichannel网络占用" src="https://zohead.com/wp-content/uploads/smb3-multichannel-netusage.png" alt="SMB 3.0 Multichannel网络占用" width="354" height="347" /></a></p>
<p>接着就可以测试容错功能是否有用了，在读写测试过程中，拔掉客户端或服务器的一根网线，可以看到对测试过程没有影响，读写可以继续进行。由本测试可以看到，Windows Server 2012 中的 SMB 3.0 多通道基本可以实现我们需要的类似负载平衡的目的，而且多通道在一般情况下完全不需要用户进行配置，Windows 会自动选择类型和速度完全一致的网卡自动进行多通道匹配。</p>
<p>参考链接：</p>
<p><a href="http://blogs.technet.com/b/josebda/archive/2012/06/28/the-basics-of-smb-multichannel-a-feature-of-windows-server-2012-and-smb-3-0.aspx" target="_blank">http://blogs.technet.com/b/josebda/archive/2012/06/28/the-basics-of-smb-multichannel-a-feature-of-windows-server-2012-and-smb-3-0.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/smb3-multichannel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
