热门标签 | 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以上版本支持,接下来将会进行进一步测试

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

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



推荐阅读
  • 在项目部署后,Node.js 进程可能会遇到不可预见的错误并崩溃。为了及时通知开发人员进行问题排查,我们可以利用 nodemailer 插件来发送邮件提醒。本文将详细介绍如何配置和使用 nodemailer 实现这一功能。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 在尝试更新Microsoft Edge浏览器时遇到“检查更新时出错:无法连接到Internet”的问题。本文将详细介绍可能的原因及解决方案,包括防火墙设置和证书缺失的处理方法。 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • JSOI2010 蔬菜庆典:树结构中的无限大权值问题
    本文探讨了 JSOI2010 的蔬菜庆典问题,主要关注如何处理非根非叶子节点的无限大权值情况。通过分析根节点及其子树的特性,提出了有效的解决方案,并详细解释了算法的实现过程。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 本文探讨了如何利用NFC技术,将存储在Android手机中的患者信息安全高效地传输到台式计算机。重点介绍了适用于医院场景的NFC USB读卡器(如ACR122U)的应用方法。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
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社区 版权所有