做种保种环境管理网络优化一: 备份,分类,端口转发,巨帧数据包,高性能上传,不要NAS,SSD

A@NAZOrip
[email protected] 3月19日
  • 在其它设备中阅读本文章

❀原创教程,转载本页必须注明链接和作者

❀目前本教程处于发布早期,会频繁更新/修bug,出问题求不锤

避免种子数量太多导致的误操作,并且提高传输效率(⊃‿⊂) ⊂(⋂ヮ⋂)⊃

提醒:本教程的基础环境建立在低预算用户的配置上(普通电脑上所有硬盘,包括系统盘占用一定空间做种)

提醒:本教程使用qBittorrent,符合低预算用户的配置,不同torrent软件的配置不同

提醒:本教程不考虑复杂网络环境

预告:下篇教程教你兼容反吸血,Torrent私种,且不妨碍重做系统的双qB方案哦~
tr1_image1.png

下面正式开始(っ╹◡╹)ノ


为什么做种
  • 电脑24×7开机,有效降低了电脑所有部件的电压变化和次数,因此寿命得到延长
  • 可以不通过云盘,直接跨网络传输文件给别人而不被第三方服务限速。做种软件对网络环境的要求低,而且传文件几乎是服务器和客户机一对一传输,所以稳定性特别强,原生支持中断续传
  • 种子协议是少数可以占满带宽全速下载的服务,但前提要求就是得有人做种
  • 下种是获取做视频,音乐,CAD,CG用素材最可靠的方案,几十年前本地自产自销的日本动漫画就是靠着种子网络传播到外的
  • 每个盘都拿一部分空间做种,相当于电脑后台跑了一个能做到实时通知的24x7云端做数据校验的硬盘寿命检测器,比S.M.A.R.T.准,比坏道扫描要快,直接根据种子数据出错的频率就可以在硬盘真正坏掉之前发现问题
  • 运营商故意照最高速度,而非按流量计费是有原因的,但浪费可耻,可耻啊
备份(⊙_◎)

qBittorrent在%USERPROFILE%\Appdata\Roaming\qBittorrent%USERPROFILE%\Appdata\Local\qBittorrent中放有设置和种子备份。通过以下命令即可备份:

echo d | xcopy %USERPROFILE%\Appdata\Local\qBittorrent .\Profile\qBittorrent\data /y /v /e /h /c
echo d | xcopy %USERPROFILE%\Appdata\Roaming\qBittorrent .\Profile\qBittorrent\config /y /v /e /h /c

如果安装了Bandizip,则可通过以下命令保存为压缩包:

Bandizip c -y -l:9 -root:Local ".\qBitorrent_backup.zip" %USERPROFILE%\Appdata\Local\qBittorrent
Bandizip a -y -l:9 -root:Roaming ".\qBitorrent_backup.zip" %USERPROFILE%\Appdata\Roaming\qBittorrent

由于以上命令的保存位置是当前目录.\,所以建议保存为.bat在保存地点运行,或改下保存地点的路径。
考虑到误操作的可能,恢复/退档的部分还是手动完成吧ヽ(・ω・ゞ)

文件分类

qBittorrent自带的收藏夹分类和搜索/过滤框不方便给大量种子做分类,且在下载新种子的时候直接选择下载路径更加简单好用,通过路径名本身做分类也方便了批量操作,所以建议按照下面的方法给所有种子分类:

  • 右键顶部标题栏目, 选择仅展示以下标题(或保留当前设定,但启用'保存路径')

classfication1

  • 所有做种的盘里创建'.\资源类+公私种'格式的文件夹,准备移动这些种子
    • C:\BDRip公种,D:\EAC公种,D:\EAC私种,E:\BDMV公种,E:\GalGame私种这样

classfication1

  • 最后在qBittorrent里右键-->更改保存位置,这一步可以通过多选来一次性移动多个种子

classfication3

目前qBittorrent4.4.0里移动种子的功能不见了,所以没有从4.3.9升级(*´ω`)o

此处公种,私种分类步骤关联到了下篇教程中的双qB反吸血方案,请勿跳过

端口转发

端口转发port forwarding(华为内部译作端口映射port mapping)有两个好处:一是用自定义端口避开网络运营商给Torrent协议的默认端口号限速;二是路由器通过端口号可以直达做种电脑,延迟更低。由于它是路由器的标配功能,所以找不到的话可以考虑升级路由器~

  • 转发功能要求做种电脑用静态IP地址。通过设置路由器DHCP范围,以及网卡MAC地址绑定就可以实现

缩小IP池
在路由器的内网(LAN)设置中,将动态主机分配协议(DHCP)地址池的范围从x.x.x.1~254缩小到x.x.x.10~254。图中缩小到了128是为了以后利用子网255.255.255.128防止外人和租客浏览x.x.x.130的里NAS用(虽然买不起也懒得搭=_=)
portf1

电脑设静态IP地址
动态IP地址方便了定时清理不常联网设备所占用的路由器内存。但做种电脑7x24h开机,且端口转发要求绑定单一IP地址,所以尽管没啥性能影响,还是有必要去控制面板\网络和 Internet\网络连接\更改适配器设置把IP地址改为静态。
图中.2.4的IP地址是预留一个192.168.2.3地址,不过也没多大意义就是了~

portf2

此处建议在电脑/手机上保存一个.txt文档,自己记下静态IP地址和电闸开关号的列表, 例如:

可用静态IP地址从1至9
192.168.1.1-----H268A------ISP送的路由器    (wifi密码)

192.168.2.1-----r7000p-----路由器
192.168.2.2-----RE305------wifi扩展器    (wifi密码)

192.168.2.4-----R5-2600----电脑
静态路由列表.txt

此处运营商送的路由器是为了保留座机电话所以也开着( ^o^)ノ

添加端口转发
路由器-->外部网络(WAN)-->端口转发(port forwarding)-->添加-->服务名称写Torrent(图中不用管),协议选Both,外部端口填个49152~65534的数(范围相对默认的6881~6889避免了运营商通过端口号QoS限速的问题),本地IP天填。上图是华硕路由器的设置页,但基本上所有路由器都能设置,找找看总会有的○(・x・)

portf3

portf4

只填服务名称,通信协议,外部端口和本地IP地址就行了

然后在qBittorrent里添加上刚创建的端口。图中号码不一样是因为下期教程要用到(/-(エ)-\)

portf5


巨帧数据包

这个功能是将最大传输包MTU从原来的1500kB提升到9000kB(不是bit),给内网(主要是NAS)里传输大文件扩大通道,通过略增延迟来提高传输速度(24~32Mbps或3~4MBps)+降低CPU占用的功能。
目前中低端路由器可能不支持,且因为功能冷门,所以非企业级网络设备中,不同厂商设备的表现可能不一。根据网上已知资料,9kB的数据包的实际大小没有标准,所以一定要先更新芯片组驱动,路由器固件,NAS固件和网卡驱动再操作。确保所有环节都稳定支持

  • 华硕路由器可在内部网络(LAN)-->交换机控制-->巨型帧(Jumbo Frame)开启:

9kBframe1

  • 电脑的Realtek网卡可在高级-->属性[巨型帧]-->值9kB MTU开启,重启电脑:

9kBframe2

  • 电脑的Intel网卡可在PROSet-->适配器设置-->巨帧数据包(9014 Byte)开启,重启电脑:

9kBframe3

  • NAS的群辉系统里可在网络界面-->编辑-->手动设置MTU值里设为9000,重启:

9kBframe4

9kBframe5

由于功能冷门,目前群辉固件(7.0.1)有掉速问题,建议先从3000kB开始,一步步提高对比传输速度的变化

接下来要测试NAS是否真的支持9kB的数据包,打开CMD输入以下命令:
ping内网(链路层②)要求4Byte来区分IPv4和IPv6,所以减4

ping -f -l 996 <NAS IP地址>
ping -f -l 1496 <NAS IP地址> (标准MTU 1500下最大)
ping -f -l 1996 <NAS IP地址>
ping -f -l 2996 <NAS IP地址>
ping -f -l 3996 <NAS IP地址>
ping -f -l 4996 <NAS IP地址>
ping -f -l 5996 <NAS IP地址>
ping -f -l 6996 <NAS IP地址>
ping -f -l 7996 <NAS IP地址>
ping -f -l 8996 <NAS IP地址>

ping外网额外占用了20Byte描述数据包信息,TTL,数据包分段设置,DSCP,应用层协议等信息,外加8Byte描述ICMP(ping)设置,所以一般最大只有1472Byte;非DSL情况下的拨号上网(点对点以太网协议PPPoE)还会占用8Byte记录信息,所以最大只有1464Byte

ping -f -l 1472 <外网IP地址或网址> (标准MTU 1500下最大)

-f代表数据包不分段(don't fragment)

注意:图中巨型帧的设置是放在"交换机控制"而非"路由控制"下的,因为这个功能本身就处于更低的链路层②和物理层①,路由芯片所在的网络层③仍然不会支持,所以>1496的ICMP包来ping路由器地址是不会成功的~


高性能上传

包括降低硬盘负载,做种机CPU-内存负载以及路由器负载;主要在提高带宽利用率,控制内存占用vs硬盘寿命,缓存管理等方式避免性能浪费,以及避免运营商线路超载断开的问题

超级做种模式:充分利用p2p网络,当多人同时下载(上传到多人)时进行协商,不同用户下载不同文件块并相互传输,最优情况下相当于全部下载对象融合为一人,适合做公种的优化
tr_image16.png

全选所有种子,选择"超级做种模式"

限制最大连接数:防止做种电脑在上传带宽用完时将系统资源(CPU,内存),以及网络资源(路由器,运营商)浪费在找新连接的优化;针对系统内存占用高,路由器内存占用高,运营商崩线路等问题。其次考虑到一机多用(做种时剪视频打游戏),则更要节约着用。

  • 全局最大连接数:达不到每torrent最大连接数的情况下,给其它种子查找连接数量的限制,建议设为每torrent最大连接数与每torrent上传窗口上限的商
  • 每torrent最大连接数每torrent上传窗口上限达到后的排队长度
  • 每torrent上传窗口上限:一次给多少人传
    • 家用PC:20Mbps考虑到多个种子并行上传,以及高带宽下载用户的出现概率,设48-12-4
    • 家用PC:40Mbps设52-12-4
    • 家用PC:100Mbps设70-14-5
  • 全局上传窗口上限:没必要限制,以上三个选项足以

tr_image17.png

在选项---连接---连接限制中,从每个Torrent上传窗口上限开始设

合并读写;操作系统缓存:通过将下载的多个16KB块在内存里合并起来一次写到硬盘里,而不是分别写入每个16KB的块,解决了qBittorrent磁盘占用明显高于uTorrent的问题,在MAC OS,硬盘盒,FAT文件系统的磁盘占用下降明显,下载速度的硬盘瓶颈降低。

  • 如果硬盘写入速度还是跟不上磁盘写入,可以将操作系统缓存位置改到速度更快的盘里

相连文件块下载(扩展数据块关联):要求优先把文件块相邻的4MB数据一并下载下来,组装再一并写入磁盘,降低写入损耗,提高硬盘寿命,可能略微降低下载速度的功能

发送分块上传建议:发送下载哪些文件块最好的建议,但官方文档没有说清楚,也没人能说清楚这个是干啥用的,所以猜测是不完全下载源的时候告诉下载方自己只上传哪些部分的说明

发送缓冲区上-下限:缓存里最少装入多少数据就可在下一趟发送,最大装入多少就停灌的水位线(buffer watermark)用于节约硬盘读写。一般设最少16KiB(连接速度达不到最少水位线的下载方会停掉?);上限不超过当今常用的文件块大小即可,目前设1MiB(1024KiB)

  • 硬盘都有4KiB对齐,也就是说空文件也最少占据4KiB大小,因此要将水位线设为其倍数
  • 这个选项主要是用来兑换硬盘寿命vs内存占用的

发送缓冲区百分比(缓冲区增长系数):传输频率,频率越高发送的包越多,对读取IO和网络的要求就越高,在500Mbps或更高的上传速度时可以设在200(二倍速)抢上传,考虑到公种下载方可能会受不了而丢包,所以建议设在默认50保证稳定性,或超级做种模式搭配80~100来方便分流

  • 注意qBittorrent中的磁盘缓存占用大小默认是自动,所以本文未根据这个数计算缓存量

TCP-UDP混合发送(混合模式策略):TCP比UDP单纯的数据包请求-传输的步骤多了数据包验证-重发功能,避免错误。不过做种软件自己就可以校验数据完整性(种子hash验证),因此对网络负担更小的UDP传输协议被用于视频网站这些高吞吐的网站,以及做种上。所以此处推荐使用UDP优先的策略

tr_image18.png

在选项---高级---libtorrent相关中设置

不要NAS

电脑机箱放不下更多硬盘,而电脑目前用来做种的话就需要扩容了。考虑到现有的硬盘又不是不能用,因此单纯把现有的盘换下来就很浪费;而选高端的2.5寸机械盘硬塞的话不是太厚就是稀有,还会遇到给SSD设计的硬盘架会产生共振的问题,因此本文只考虑买3.5寸的硬盘的扩容。方法有USB硬盘盒子以及NAS两个选项。如果按照传输速度排序的话是这个顺序:

USB3.2 Gen2x2 10Gbps >= 以太网10Gbps > 
SATA3//eSATA 6Gbps > USB3.0 5Gbps > 
以太网2.5Gbps > 以太网1Gbps > 
以太网100~500Mbps(一般的电力线扩展器)

如果照成本排序的话是这样子的:

USB3 5Gbps 单盘硬盘盒 < 1Gbps 二手1~2盘位NAS
 < 
换电脑机箱 <= USB3 5Gbps/eSATA 6Gbps 4~5盘位硬盘盒
 <= 
以太网1Gbps 二手办公机 = 以太网1Gbps 1~2盘位NAS
 < 
以太网1Gbps 二手2~4盘位NAS
 < 
USB3.2 Gen2x2 10Gbps 4~5盘位硬盘盒 < 
以太网1Gbps 2~4盘位NAS = 以太网10Gbps 二手电脑+网卡
 < 
以太网2.5Gbps 2~4盘位NAS < 8盘位NAS
 < 
SAN网盘集群服务器(真的有人搞这玩意吗...)

简单的说,成本差异来自实现连接的协议和设计用途差异,导致NAS要堆更多芯片,增加更多用途的结果;而USB硬盘盒只要和更低层的USB控制器通讯就能用了。而且考虑到2.5Gbps的网卡还没普及到二手电脑上,所以单独为了2.5Gbps的NAS买网卡,再升级路由器就很划不来

不过相比NAS,硬盘盒分高低端,多了天生散热差的塑料//亚克力材质,电源纹波(电压电流抖动)导致文火炸盘,以及低价硬盘盒只能给USB2.0 480Mbps的坑。解决方法也简单,就是看价格是否超过成本,或者看专业些评测,不要专门挑打折产品,给数据中心盘//企业盘加风扇,把硬盘盒放在通风好//阴冷的地方就可以避很多坑

  • 得了PTSD的用户会专门去买二手笔记本电源,明纬GSM系列电源哦~

SSD

由于做种相当于电脑后台跑了一个能做到实时通知坏道出现的24x7云端数据校验硬盘寿命检测器(好长一串话=_=),所以每块SSD都放10来个几GB的种子做种反而保险~
做私种或热门公种的SSD可以考虑QLC,PLC颗粒,因为每天全盘写满一次这种事不会发生,再加上备份的人多SSD体积小也抗摔,还有电脑里因机箱放不下而没用完的SATA接口(不占PCIE总线),所以对症下药的整一块问题不大

那么就这样,下篇教程才是重点哦~

打赏信息

在线丢人,求个打赏,支持一下T_T
pp_tip_qrcode.png