本帖最后由 ltycomputer 于 2018-10-2 17:15 编辑
*单线同步并发达成100/1000Mbps速率
*接入最多6条宽带并实现灵活负载平衡
*延迟带宽无感知QoS流控
*全服务全程https
*NAS具备24盘位,可使用磁盘柜扩充
*RAID5坏第二块盘不丢全部数据的安全阵列
*同时运行500+BT/PT任务
*Plex硬件加速串流媒体服务器
*四频无线并发速率突破300MB/s
*多功能私有云高速访问
=============================================================
一、装机
普通的Z370-F GAMING和普通的开盖8700K
普通的PM981 256G、镁光 DDR4 2400 16G和大霜塔
普通的合体(景深有点浅)
在Show区几乎不可能看见的GT1030(坑#1)
LSI 9300-8i HBA卡
这张卡基于PCI-E 3.0 x8,能提供8个SAS3 12Gbps到背板
Intel i350-T4新一代四口千兆有线网卡
四张mini-PCIe to PCI-E x1转接卡
Compex WLE650V5无线网卡(坑#2)
基于QCA9888方案,支持802.11ac Wave2 160MHz 1733Mbps
无线网卡与转接卡合体
那两根粗壮的馈线一端是SMA一端是MMCX
两张QCA9882无线网卡
揭开屏蔽罩后可以看到QCA9882芯片和两个PA+LNA组合功放
贴上莱尔德导热贴,加上散热片
合体x2
最后一张无线网卡
AzureWave AW-NE772,基于AR9280方案,同样自带PA+LNA
加散热片与扩展卡合体
加散热片与扩展卡合体
对应的四组天线(坑#3)
插满!插满!
插满!插满!
机箱:国鑫RMC4124-670-HSE
具备24盘位SAS3 Expander单控背板
这玩意既贵又便宜:单价贵,但与24口SAS3 Expander价格相近,几乎是买背板送机箱
比24个USB3.0 3.5寸硬盘盒便宜,与世特力10盘位USB3.0硬盘盒价格相近
标签上印着24个盘位的序号,定位硬盘时很管用
拧下两个螺丝,按下按钮,手压住半圆形塑胶垫,向上推,即可打开机箱
中置风墙由3枚12038热插拔风扇组成
热插拔金手指引出普通4pin风扇接头
每颗风扇出厂就使用四枚减震胶钉固定
移除所有风扇,看看背板
黑色散热片下是PMC PM8044 Expander
Expander的作用是将HBA的8个SAS3通道扩展为24个,这样就没必要多买2张HBA卡了
右侧有两个miniSAS HD连接器用于连接HBA或阵列卡,另一个可以外联下级背板
告别了群晖的塑料硬盘托架,这些新硬盘托架做工挺不错
每个硬盘托架可以分解为3部分
加层间可以加防尘棉阻挡灰尘进入
看到区别了么
益衡 800W 80Plus金牌 2U服务器电源,温控风扇声音不大
先请出两枚吉祥物
希望其他硬盘今后平安一生
某宝买的4040铝材,搭起了一个带轮子的支架,于是这个机箱就可以推着全家跑了
占地面积其实和普通ATX机箱差距不大
DS411还在7年前的位置,就在旁边,新机接过担子,开始发光发热
DS411上的K2P作为备用AP
经过一个半月的调试,修改如下:
GT1030更换为GTX1050Ti
内存16G变为16Gx2
无线天线变为8根AC5300拆机天线
QCA9888在转接卡上焊接5V功放辅助供电
插入ST10000NM0016 x5
使用Akasa风扇转接线将风墙风扇降到1200转以降低噪音
所有风扇反向以利用烟囱效应辅助散热
=============================================================
二、软件与性能
主机采用ESXi 6.7
(一)联通接入路由虚拟机——ChinaUnicom-Input
基于Openwrt 18.06.1 x86_64,分配两个逻辑核心,1GB内存,直通i350-T4 #1
对应联通宽带线路,负责拨号,并下联虚拟交换机“Input”,供主路由使用
接入更多宽带只需继续添加接入路由虚拟机即可
1.单线同步并发
使用syncppp补丁修改 pppd,实现并发
macvlan负责在单线单千兆网卡上生成出5个虚拟接口
原20Mbps上、200Mbps下,现100Mbps上、1000Mbps下
下行维持900Mbps
上行维持100Mbps
2.DDNS解析
负责解析一个主域名,以及五个wan口对应的五个子域名,为后续外网访问创造条件
(二)主路由虚拟机——Router
基于Openwrt 18.06.1 x86_64,分配两个逻辑核心,1GB内存
上联虚拟交换机“Input”,负责负载平衡、端口转发,QoS、UPnP、acme等服务
1.灵活强大的负载平衡——mwan3
开源多功能的负载平衡软件,能够根据源/目标端口或源/目标IP,以及ipset进行负载平衡
能够实现自定义次序、自定义权重、故障转移等多种功能
其“粘滞”参数,可以将同一应用暂时固定在某个出口上,有效避免IP乱跳、游戏断线及HTTPS异常
通过配置规则可实现“目标联通走联通、目标电信走电信”“先走联通后走移动”“Chiphell只走电信”等规则
2.无感知QoS——qos-scripts
开源流控脚本,能够将简单的配置翻译为Linux流控模块所需的指令加以执行
能够根据源/目标端口、源/目标IP、端口范围、TCP flag、DSCP标记、包大小、流量方向
进行流量限制、流量保证、延迟控制、优先级、权重、限制包大小
当与Windows防火墙的DSCP标记合用时,可实现对某个Windows程序的流量控制
例如:限制“守望先锋”程序的数据包在通过路由时产生的最大延迟为3ms
例如:保障手机平板速率以防止卡顿、限制国产电视盒上传流量
例如:外网访问NAS时,优先级高于PT上传,且保持低延迟
最终效果是无感知的,即使带宽占用达到95%,客户端不会感到卡顿,Speedtest带宽与延迟与0%带宽使用时无明显差异
3.免费https证书获取——acme.sh
开源证书申请脚本,连接Let's Encrypt服务器进行一站式证书申请服务
通过与数十家DNS服务商的API接口,仅需3行命令即可申请到ACME v2 wildcard泛域名证书
确保了全服务全HTTPS
(三)NAS虚拟机——NAS
基于Windows Server 2016,分配12个逻辑核心,8GB内存
直通LSI 9300-8i、GTX1050Ti
提供SMB、NFS、FTP、SFTP、WebDAV等文件共享服务,Plex串流服务,文件阵列冗余,磁盘快照等NAS相关服务
1.性能强劲的文件共享——Windows SMB 3.0
所有非Windows NAS都有一个通病,用于在非Windows平台实现SMB协议的开源程序Samba,存在性能问题
现在是个NAS都能跑满千兆有线,但促使我放弃群晖的主要原因仍然存在
楼主在一台J1900主机上搭建了黑群晖/FreeNAS/Windows Server 2016进行测试,均使用相同的3TB红盘
当通过SMB共享,小文件读写、批量改名、批量删除的性能,Windows Server是其他二者性能的数倍
而那两种非Windows NAS在进行密集文件操作时,有一个CPU核心是90%+的,剩下三个核心占用率小于3%
Windows NAS在执行相同服务时,四个核心占用率均未超过10%
由此可知,Samba在服务于单用户时只能使用单个CPU核心,且CPU占用比Windows私有方案高很多
2.多种文件共享服务
基于Windows自带服务实现FTP、FTPS、NFS、WebDAV共享,以便其他用户及程序调用
SFTP基于开源的freesshd实现
3.影音串流及管理-Plex
Plex几乎是目前最强影音串流软件,可识别电影、音乐,自动匹配封面、预告片、花絮等
网页端界面强大,可用浏览器播放任意文件,支持自动选择字幕与音轨
其主要功能之一是串流,能够将媒体文件解码再重编码,传送给观看的浏览器或客户端
借助GTX1050Ti的硬件编解码能力,实时串流4K原盘时CPU使用率低于5%,使用软编码时CPU使用率为100%且出现卡顿
当然,Plex服务也可以在外网访问,这货还有自己的手机APP
除了能在手机上播放,Plex APP还可以“离线”转码后的内容。
点击以后,服务器会一边转码一边将文件送到你的手机上,以备没有WiFi的时候观看。
除了组织电影及音乐,Plex也可以像群晖Photo Station一样作为电子相册使用
4.文件阵列冗余——SnapRAID
开源免费跨平台的文件阵列系统,在Windows/Linux/MacOS上均有对应版本
作为一种软件定义存储(SDS),其拥有传统RAID难以实现的多种特质
其本质是对选定分区上的文件进行奇偶校验,实现非实时性的数据冗余保护
a."RAID5"坏第二块盘时不丢失全部数据,仅丢失故障盘上数据
SnapRAID在遭遇超出冗余能力的损坏时,用户所受损失不大于未做任何阵列时的数据损失
b.无论SATA/SAS/NVME/U盘/移动硬盘,甚至远程NAS的共享文件夹都能加入SnapRAID
只要是能当做文件夹访问,有个路径名,就可以作为“数据盘”加入SnapRAID
c.M+N自定义冗余度,支持不限个数据盘M与1-6个校验盘N进行组合
因此可实现最多任意6块硬盘故障不损失任何数据
d.可随时将旧硬盘加入阵列,或者是从阵列移除,而不需要进行硬盘初始化或者摧毁阵列
添加硬盘和移除硬盘一样简单,在配置文件里修改一下,同步一下奇偶数据即可搞定
加入SnapRAID的硬盘可以随时抽出在其他电脑上读写,不需任何软件辅助
决定停止使用SnapRAID,仅需删除数据盘里的校验和文件,删除校验盘里的奇偶信息文件,即可复原为无阵列状态
e.支持完全的文件校验和,保护文件完整性,杜绝静默数据错误
这点与ZFS\ReFS一样,均为完整保护,而Linux下的Btrfs虽然支持校验和,但校验和不保护奇偶校验数据
f.读写分离,对单块盘读时其他硬盘可以停转休眠省电
平常读文件时,仅文件所在盘活动。计算校验时,所有数据盘读,所有校验盘写
因此可以采用低价慢写入的SMR硬盘作为数据盘,高价快写入的PMR硬盘作为校验盘来节省成本
未来可以使用写寿命短的QLC SSD作为数据盘,写寿命长的MLC SSD作为校验盘来节省成本
g.可随时变更校验盘和数据盘的配置
例如可以3数据+2校验,当临时需要容量时可以变为4数据+1校验
h.数据盘容量之和构成总可用容量,校验盘仅需满足比任意数据盘大即可
类似群晖SHR,对于利用旧硬盘来说十分有用
i.支持分割校验盘
例如4TB+6TB的两块硬盘可以作为一块10TB的校验盘使用,为10TB的数据盘提供数据冗余
j.支持文件排除列表
可设定不被阵列冗余保护的文件列表,从而加速奇偶校验时间
k.支持部分重建
重建含5TB文件的10TB硬盘,仅需重建5TB,大幅度缩短重建窗口,减小重建过程中新硬盘故障的概率
5.文件组织——Windows mklink
SnapRAID没有提供将多块硬盘组合为一个大存储空间的能力,因此在计算机里看到的是一个个的普通硬盘分区
因此使用批处理执行mklink /j将文件夹们挂载进几个分类文件夹中
例如将E\F\G盘挂载进C:\All,此时再共享C:\All,客户端就可以用一个共享看到以上三个分区内的全部内容
6.多功能碎片整理——O&O Defrag
目前业内领先的磁盘碎片整理软件,具有多种工作模式
Stealth模式下,整理碎片与Windows默认磁盘整理相同,仅整理碎片
Space模式下,不仅整理碎片,还将文件连续排列,从而减少未来碎片产生的可能性
Name模式下,不仅整理碎片,还将文件按照文件名递增连续排列,从而对有序文件访问进行加速
Modify模式下,不仅整理碎片,还将文件按照修改时间递增连续排列,从而对近期访问文件进行加速
Access模式下,不仅整理碎片,还将文件按照访问频率进行排列,从而对频繁使用的文件进行加速
Zone Filing功能能够对每个文件夹设定不同的碎片整理策略,从而实现快速高效的碎片整理
经过整理,某个还有大量数字编号文件的文件夹,顺序访问文件速率达到硬盘顺序读写的90%+
7.快速搜索——EveryThing
NTFS卷上的最快文件查找工具
通过搭建ETP服务器,执行路径改写
远程访问NAS文件共享的客户机可以连接到NAS上的Everything服务,从而在客户机上对远程文件执行快速搜索
7.BT/PT下载——qBittorrent
基于Qt的开源强大BT/PT下载软件
能够同时运行500+个任务,以超过100MB/s的速度进行上传下载
可灵活配置上传/下载缓存,在使用2GB下行缓存,500MB上行缓存时能够显著降低对磁盘的负担
自动识别BT/PT并针对性启用DHT与PEX,实现对PT的免设置兼容
相比传统BT软件最大的优势是内置网页管理界面,能够在外网方便地进行访问(支持HTTPS)
8.磁盘快照——Windows VSS卷影拷贝
使用Windows自带功能对分区进行快照
可对整个分区或上面的任意文件夹或文件恢复至指定时间点
9.数据去重——Windows 重复数据删除
Plex不能识别蓝光原盘ISO,解决方案是制作Remux
原盘=视频+多条音轨+多种字幕+前后花絮
Remux=视频+原音音轨+中文字幕,只涉及到抽取和打包,不进行重编码
但这意味着一部电影会占用1.7倍其自身的空间,数据去重在这时候发挥作用
重复数据删除是Windows Server自带功能,其功能为重复数据在硬盘上仅占用一份空间,即使对于用户来说分区里有数个文件
通过重复数据删除,Remux+原盘二者占用空间与单个原盘无异
(四)AP虚拟机——AP
基于Openwrt 18.06.1 x86_64,分配两个逻辑核心,256MB内存
直通QCA9888/QCA9880 x2/AR9280
提供802.11ac Wave2 1733Mbps + 802.11ac Wave1 866Mbps x2 + 802.11n 300Mbps
测试方式,通过三个客户端以SMB方式下载NAS虚机上的三块10T氦气盘上的数据
服务器 | 协商速率 | 实际速率 | 客户机 | Qualcomm QCA9888 | 1733Mbps | 约150MB/s | Intel 9260AC | Qualcomm QCA9880 | 866Mbps | 约75MB/s | iPhone X | Qualcomm QCA9880 | 866Mbps | 约80MB/s | Intel 7260AC |
(iperf3数据偏差较大,Openwrt自身统计信息出现负数,因此以SMB速率大概描述无线性能)
在NAS虚拟机上可以观察到300MB/s的上传速率
每张无线网卡通过PCI-E 2.0 x1双向500MB/s直通入AP虚拟机,AP虚拟机与NAS虚拟机均通过vmxnet3虚拟万兆网卡与虚拟交换机连接
因此彻底告别了传统无线路由在千兆有线速率上的性能瓶颈,实现了惊人的速度
作为Openwrt,其他功能也十分强大
支持802.11r无缝漫游,802.11w管理帧保护(杜绝Deauth攻击),WPA2秘钥重装攻击漏洞防御
支持802.11s OpenMesh网状网络
经过配置后,甚至可以将IPTV VLAN与某个SSID进行桥接,实现IPTV无线化。
未来802.11ax普及,也仅需更换无线网卡,即可实现规格升级
(四)私有云、S隧道——CentOS
基于CentOS 7,分配两个逻辑核心,2GB内存
1.私有云——NextCloud
开源私有云系统,以nginx+php+mariadb为基石,构建网页端+客户端访问的私有云。
通过挂载NAS虚拟机上的共享,实现私有云访问。
浏览器端支持直接与文件夹之间的文件拖拽实现上传下载
iOS和安卓客户端也是有的
Windows客户端可以支持文件夹同步,在公司备份文档十分方便
另一个功能是实现CardDAV与CalDAV服务器
可实现iOS/Android/Windows间的联系人、日程的同步
iOS不支持批量删联系人?只需要Windows端Ctrl多选删除,iOS端会自动同步
2.外网安全访问——S隧道
支持负载平衡,支持数据加密。
可配置Windows下任意程序经过S隧道访问内网,访问192.168地址如同内网相同
(五)辅助类虚拟机
一个lubuntu虚拟机,用于编译上文所提到的全部Openwrt系统
vCenter Server Appliance用于实验
=============================================================
三、总结
利用群晖旗舰NAS+华硕旗舰无线路由的成本搭建的多功能家庭虚拟化中心服务器
其性能与功能达到了一定的高度,成为名副其实的家庭数据中心
此机作为HN节点开始正式工作,成为楼主的坚实后盾,也是进行各种实验与学习的平台
那么,下个节点再见 |