好久没更新 blog 了,后台积了不少催更留言。这俩月我直接像栽进了硬件挖的兔子洞。从 PCDN 测试到企业宽带汇聚,从服务器托管到物理迁移,折腾出一身埋汰味。今天拎几段不算硬核的经历,给等更的家人们交个作业。

一、PCDN 用闲置带宽“赚钱”

最初,公司因业务原因确实是有点入不敷出,而恰好在我焦头烂额的时候,信息茧房为我的抖音带来一条 PCDN 技术用闲置带宽“赚钱”的视频。因为在业务中我经常接触 CDN,但从没听过 PCDN,带着好奇的心理我就只是为了学习一下,谁知道这一学,血亏 1.3 个 W。

PCDN 就是 P2P+CDN(Peer to Peer Content Delivery Network),中文叫:点对点内容分发网络。 PCDN 其实就是以 P2P 技术为基础,通过挖掘利用边缘网络海量碎片化闲置资源而构建的低成本、高品质内容分发网络服务。PCDN 通过挖掘利用电信边缘网络海量碎片化闲置资源而构建的低成本高品质内容分发网络服务。适用于视频点播、直播、大文件下载等业务场景。

被 PCDN 的低成本叙事吸引后,我确实又查询了相关的法规政策。我发现市面上大家普遍利用家庭宽带的闲置上行带宽,让用户设备成为边缘节点分发内容,平台省带宽,用户赚零钱。但家庭宽带先不说运营商方允不允许(其实不允许且严厉打击),法规层面:根据《互联网信息服务管理办法》(国务院令第292号)​补充规定​:经营性服务超范围经营或未许可:按《办法》第十九条处罚;传播违法信息:按《办法》第二十条追究刑责或行政处罚。所以我们以公司名义,在公司架设了测试机(我司已获得互联网增值电信业务经营许可证 ISP、CDN、IDC),尝试以合法合规的方式进行营利,如果测试效果不错甚至想当作单独的业务去发展。我搭了测试环境:用闲置的 DELL R720 服务器做了网心固件,挂载商宽。

我也不绕弯,直接告诉想入坑的伙伴。测试结果很骨感,​日均收益 ≤10 元,真的是还不够电费,1200W 的电源平均功耗 40% 一天电费就是 12 块钱。问题出在调度机制上,所谓商宽,本质上和家宽一样,在上游 OLT 与家宽带混用同一 PON 口。而混用 PON 口上运营商对高上行流量巨敏感,一旦触发 QoS 限流(现在还有新上的 SA板卡限速),节点立刻被踢出资源池。更扎心的是,热门资源才被频繁调度,而企宽固定 IP 的“邻居”太少,请求密度根本撑不起收益啊。

不过这趟也没白跑:至少是通过实践​理解了边缘计算的落地瓶颈。PCDN 的本质是“众包 CDN”,其效能强依赖节点密度与调度算法,而运营商政策成了悬顶之剑。

二、千兆专线是交换机硬刚出来的带宽池​

公司拉了一条千兆企宽,但别误会,这不是单根纤(裸光纤),而是用 10 条 100M 上下行对等企宽进行 Vlan 暴力叠加。这里藏了个技术活:

​链路聚合(LACP)​​:用华为 S6700-24-EI 万兆交换机做的端口汇聚,把 10 条物理线绑成 1 条逻辑通道。难点在负载均衡策略,默认的源 MAC 哈希会导致单线程下载跑不满带宽,改成“源-目的 IP+ 端口”哈希后,多线程业务才吃满千兆。但运营商给的 ONU 有四个口 共享同一 MAC 地址,上游 OLT 又做了 MAC 学习限制(虽然运营商方未承认)但 VLAN 始终只能学习到 4 个口。

虽然这套方案的性价比极高,年费比单根千兆专线低 70%,但运维复杂度翻倍。最终结合收益情况,还是把服务器关机了,毕竟不能亏钱帮人干活啊。

三、还是选择了 IDC 托管

把两台吃灰的 DELL 服务器(R720 和 R730)送进 IDC 机房,是我今年最值的决策。

​收获1:物理迁移的暗坑​

我们公司以前一直租用阿里云的服务器,客户服务和我们的企业官网一直托管在云服务器上,正好在与运营商洽谈 CDN 业务的时候,了解到了实体机托管的费用,我们详细做了一份预算——还是走托管划算。所以我们将服务器全部托管在了机房,并迁移了所有云上的业务。

原计划用阿里云镜像迁官网到 DELL R730,但虚拟化驱动不兼容物理机。最后选择了切冷迁移:

  1. 用 dd 命令备份云主机系统盘到NAS;
  2. 通过 iDRAC 挂载 ISO 启动 R730,用 Clonezilla 还原镜像;
  3. ​手动重装 GRUB 引导(UEFI 转 Legacy 启动的经典坑)​。

现在客户业务和我们的官网跑在物理机上,Nginx 压测 QPS 提升 3 倍——呐,云虚拟机的超卖惩罚消失了吧。

Server

​收获2:公网 IP 的隐藏副本​

机房给每个机位分配了 IPv4/IPv6 双栈段。​把 R720 的 IP 通过 DNAT 映射给飞牛 NAS,实现外网直连。

  • IPv4 只开 SSH 随机端口密钥访问和 HTTPS 443+ 私有 VPN 端口;
  • IPv6 开 SMB 文件共享(因国内运营商家宽普遍无公网v4),​用ip6tables限段访问,避免成“肉鸡”​​。
Server

四、研测上云

以前吃灰的 R720 现在成了宝了

PVE 虚拟化层​:基于 Debian 的 Proxmox VE 接管了硬件资源池,同时跑着 K8s 测试集群和 Ubuntu 开发机。(防喷提示:为什么不用 ESXi?)相比 ESXi,PVE 的开源特性让定制更自由。用 qm set 调整虚拟机 CPU 亲和性,把编译任务绑定到物理核可以有效的规避调度抖动。

虚拟机还上了一个​飞牛 NAS​:用 4 块 12T 硬盘做了 Raid10,一个账号办公,一个账号自己下载美剧,下班还能刷刷剧。

但最爽的还是开发机编译速度​,我的 MacBook M1 make 一个项目要 18+ 分钟,SSH 到双路 E5-2603v2 的 R720 上只要 9 分钟。哈哈哈哈哈哈物理核心的暴力美学对我依然有巨大的诱惑​。

写在最后

这俩月我直接像在网络 + 通信 + 硬件的泥潭里找路。PCDN 的试错赔了钱,企宽汇聚的一堆问题烧死巨多脑细胞,但亲手把服务器塞进机柜的那一刻,按下开机键,听见风扇转动的嗡鸣声,一种对虚拟数字世界的“实体占有欲”,大概是技术人的原罪。

至于收益?​10 元/天的 PCDN 像在提醒,技术幻想需要现实校准。但业务迁移后每年省下的 1 万多云服务费,又印证了物理设备的朴素价值。下一站也许想玩玩 5G MEC。毕竟,蹲机房时闻到的七氟丙烷(我不确定是不是,但我确定每个机房都有同一种味道),比咖啡因更让人上头。

(机房过夜生存指南:羽绒服下面穿短袖!微模块机房里面空调堪比维尔霍扬斯克,外面也堪比维尔霍扬斯克)