热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不同运营商链路聚合_¥15元,让群晖速度翻倍低成本简易链路聚合SMB3多通道...

本帖最后由glk17于2017-5-409:51编辑群晖DSM6.1-15047带来的新福利,免费功能--SMB3Multi-Channelhttps:www.syn

本帖最后由 glk17 于 2017-5-4 09:51 编辑

群晖DSM 6.1-15047 带来的新福利,免费功能--SMB3 Multi-Channel

https://www.synology.cn/zh-cn/releaseNote/DS3615xs#all

DS3615xs Release Notes -- DSM6.1-15047

6. 文件服务

Windows 文件服务及 Mac 文件服务已分別更名为 SMB 及 AFP。

所有的 SMB 服務 (SMB1/2/3) 现由 Samba 4.4 所提供

支持 Mac OS 10.12 或以上版本中,通过 SMB3 使用 Time Machine。

支持 Bonjour 服务,您可以通过 Time Machine 将文件备份至多个共享文件夹。

支持在 SMB 协议下使用稀疏文件 (sparse file),以提升文件系统空间及网络带宽的使用效率。

通过 SMB 协议挂载 home 文件夹时,可于 Windows 文件资源管理中还原至先前的版本。

於文件服务的高级设置中启动文件快速复制后,当您复制文件时,若来源于目的地位于相同的 Btrfs 存储空间,文件复制将更为快速。

如果你的群晖NAS带2个或更多网卡,升级到DSM 6.1-15047及以上版本后

在PC端增加一张千兆网卡,台式机可以加PCI-E的独立网卡,笔记本可以用USB3.0的千兆网卡,型号品牌不限

便宜的PCI-E螃蟹卡一张15元包邮,然后就可以享受内网NAS读写传输速度翻倍的快感

(当然前提是本身NAS的性能能突破1Gbps,正常x86版本的NAS硬盘不要太慢都可以突破1Gbps)

15wk.png (737.97 KB, 下载次数: 34)

2017-4-29 20:44 上传

2017.04.28更新

在P大的指导下,实践确认除了Windows Server 2012/2016,黑群晖也支持SMB3多通道传输

目前测试的DSM版本是最新的DSM 6.1-15047 Update 2

步骤一,

群晖WEB管理界面暂时没有SMB3多通道传输的相关设置项,需要手工修改smb.conf配置文件

修改方法,参考:https://forum.synology.com/enu/viewtopic.php?t=128482

samba配置文件路径/etc/samba/smb.conf,添加以下命令,保存后重启

server multi channel support = yes

aio read size = 1

aio write size = 1可以直接用SSH终端root权限运行vi命令修改添加(P大提供),vi的使用方法请自行百度

sudo vi /etc/samba/smb.conf或者用使用root用户进入WinSCP修改

DSM5.2 root和admin密码相同,DSM6开始需要使用root账户的话需要手工修改其密码

DMS6及以上版本修改root密码,参考:https://www.panpinche.com/zhishi/20170313

使用telnet或者SSH终端,分别输入以下2行命令,xxx为root密码可自行更改,具体见下图

sudo su -

synouser --setpw root xxx

rootpwd.png (10.47 KB, 下载次数: 27)

2017-4-30 22:04 上传

然后,WinSCP使用root用户及密码进入DSM目录,修改并保存

WinSCP.png (160.68 KB, 下载次数: 29)

2017-4-30 22:04 上传

步骤二,

群晖控制台WEB界面,控制面板--文件共享--文件服务--高级设置:

最大SMB协议:SMB3

最小SMB协议:SMB2和Large MTU

设置完毕,点应用

SMB3xy.png (85.21 KB, 下载次数: 39)

2017-4-30 22:04 上传

群晖设置完毕,重启群晖文件共享服务(重启群晖也可以)

步骤三,

客户端PC分别用\\IP进入群晖的2个IP的共享,填入访问凭据(用户名和密码)

双网卡,Win10 PC客户端从黑群晖读取,SMB3多通道效果如下:

dsm6.15047U2d.jpg (252.07 KB, 下载次数: 25)

2017-4-28 10:38 上传

相比SMB3多通道传输,之前传统的链路聚合做法是

把几张网卡绑成一张速度叠加的虚拟网卡,用来满足局域网多终端同时大吞吐量传输的需要

譬如2张1Gbps的千兆网卡绑成1个2Gbps的网卡;3张1Gbps的千兆网卡绑成1个3Gbps的网卡

实现链路聚合,需要满足以下条件

1,文件共享服务端有多张或者加装支持链路聚合的多张网卡(一般要求是同品牌)

2,支持链路聚合的交换机,譬如支持802.3ad

3,链路中的网线上不能接入其他设备

然后,一般认为,这种传统的链路聚合的方式,以常见的譬如2张1Gbps的千兆网卡绑成1个2Gbps的网卡为例:

虽然可以通过给客户端加装网卡的方式链路聚合,实现服务端到客户端都是2Gbps的链路连接速度

但是,单个客户端和服务端之间单文件或者说单线程的传输,都只能跑1条线路,即1Gbps

只有当多个客户端,同时和服务端传输,才能跑满服务端的2Gbps

因此,以上常规链路聚合的方式,存在成本高,单终端传输速度不叠加等缺点

前一阵在网上闲逛,看到了几个帖子,突然感到眼前一亮:

lucifersun网友的帖子,https://www.chiphell.com/forum.php?mod=viewthread&tid=696565&page=3&authorid=50709

xmaan网友的帖子,https://www.chiphell.com/thread-1663962-1-1.html

Vespa网友的帖子,https://test.smzdm.com/pingce/p/36063/

于是请教了Pufer大,指出这种文件共享单线程拷贝产生叠加效果,应该是smb3.0多通道自动速度叠加的作用

然后查看了一下samba官方的一些信息:

https://www.samba.org/samba/history/samba-4.4.0.html

EXPERIMENTAL FEATURES

=====================

SMB3 Multi-Channel

------------------

Samba 4.4.0 adds *experimental* support for SMB3 Multi-Channel.

Multi-Channel is an SMB3 protocol feature that allows the client

to bind multiple transport connections into one authenticated

SMB session. This allows for increased fault tolerance and

throughput.

上面的几篇文章都能看到,单线程拷贝时,每个网卡上都有速度

看来smb传输自动调用将流量分配到了多张网卡上,达到了速度叠加的效果

smb3多通道生效,家庭常规网络部署结构:

tp.png (20.57 KB, 下载次数: 28)

2017-4-28 10:55 上传

相比传统的链路聚合,smb3多通道传输速度叠加的方式,有设置简单、成本低等特点

一,价格

1,驱动支持链路聚合的网卡,譬如Intel的独立网卡一般都比较贵;而PCI-E的螃蟹卡只要15元包邮就可以买到,而且可以混搭

2,支持链路聚合的路由器或者交换机,YLJ一般几百起步,行货更贵;smb3多通道叠加普通路由器LAN口或者傻瓜交换机都可以

二,设置

传统链路聚合,从网卡到交换机,都要做链路聚合设置;smb3多通道叠加基本无需任何操作

可惜上面几篇文章中对如何实现,并未有太详细的描述

于是,自己实践了下:

服务端是2012、2016,客户端是Win10,客户端上操作,向服务端共享读写都可以顺利叠加

但是服务端上操作,向客户端共享读写,不能叠加

所以,又试了用2台PC(DELL台式机和3215U小主机),分别都安装了Windows Server 2016数据中心GUI版这

样实现了2边PC上操作都有叠加效果

操作很简单,给各个网卡设置了同网段的固定IP,新建共享文件夹,关闭防火墙

4网卡SMB3 Multi-Channel叠加效果:

DELL台式机上操作

从服务端3215U小主机上的共享读取:

D16d.png (113.61 KB, 下载次数: 38)

2017-4-24 16:13 上传

写入服务端3215U小主机上的共享:

D16x.png (104.7 KB, 下载次数: 28)

2017-4-24 16:13 上传

3215U小主机上操作

从服务端DELL主机上的共享读取:

U16d.png (141.41 KB, 下载次数: 33)

2017-4-24 16:13 上传

写入服务端DELL主机上的共享:

U16x.png (129.61 KB, 下载次数: 30)

2017-4-24 16:13 上传

通过微软的TCPView监听工具,我们来看下SMB3多通道的传输情况

先看一下迅雷的下载方式,多线程从本地多个端口连接远程服务器的端口进行下载

这边可以看到基本都是TCP协议连接的服务端80端口

xunlei.png (107.61 KB, 下载次数: 30)

2017-4-25 17:15 上传

然后再看smb3多通道的传输情况,这边以双网卡的情况为例

无论是读还是写,都是本地双网卡2个IP的2个端口去和服务端对应网卡2个IP的TCP 445端口传输

形成双线程传输产生速度2倍叠加的效果

smb3.png (74.7 KB, 下载次数: 30)

2017-4-25 17:15 上传

由此可以看到SMB3多通道传输利用了多线程传输来达到速度翻倍的效果

但是关于多线程传输本身,也需要辩证的看待它的优缺点

我们知道,不管是硬盘还是U盘,如果同时读取或者写入2个文件,速度会下降很多

以HDD为例,单文件传输时理想情况磁头可以做单方向顺序读写

而同时操作2个文件磁头将会在2个位置区域不停的来回切换,所以传输速度大大降低

2个以上多文件的话,传输速度下降更多,SSD和HDD RAID的情况还会更复杂

所以一定程度增加读写线程,可以增加NAS吞吐量,但是线程太多的话反而会影响NAS传输速度

所以这一点也需要在实际操作中留意

测试过程中也遇到了一些问题

1,虽然各品牌网卡混搭,包括低端的螃蟹网卡、USB网卡也可以顺利叠加

但是碰到1例Intel 9301CT PCI-E网卡加入后不能叠加的情况

2,Windows Server 2012/2016做服务器,搭配Win10客户端叠加,日常家庭简易共享场景应该够用了

但是如果群晖配合Win10客户端能实现的话,实际意义就更大了

据P大介绍,DSM6.1以上版本支持,接下来将会进行进一步测试

网上相关信息较少,这里主要是抛个砖头,欢迎有兴趣的网友一起加入交流探讨

游客,如果您要查看本帖隐藏内容请回复



推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 华为和阿里VPN
    阿里云创建VPN1、 创建VPN网关2、 填写名称,选择对应的VPC,不指定交换机,选择带宽3、购买的是IPSEC-VPN不开启SSLVPN,点击立即购买 4、 创建客户网关  ... [详细]
  • RabbitMq之发布确认高级部分1.为什么会需要发布确认高级部分?在生产环境中由于一些不明原因,导致rabbitmq重启,在RabbitMQ重启期间生产者消息投递失败,导致消息丢 ... [详细]
author-avatar
mobiledu2502853463
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有