我的个人平台:存储、网络与计算
坑边闲话:或许是出于心理因素,我一直认为只有将数据和服务放在自己的机器上才是可靠的。虽然我十分依赖 Dropbox、坚果云、iCloud 等公有云服务,但是我能保证,在失去了这些服务后,我的个人数字生活并不会受到很大的冲击。本篇文章详细介绍我的私人数据平台的细节,其中不乏我的思考和经验。
1. 明确需求·
需求永远是第一位的,它可以决定
- 存储模型
- 网络带宽要求
- 可访问性
我本人的存储需求比较简单,主要包含下列模块:

AppData里包含我个人使用的 Docker 容器的运行时所需存储,如图 2 所示。Backup存放个人备份数据,理论上这个数据集应该坚持异地备份,但是本地留一个备份也无可厚非。CloudStorage下全都是 zvol, 用来当作 Dropbox、坚果云、OneDrive 本地同步盘的存储 target. 由于同步网盘的一大功能就是实时自动同步,因此在某个同步节点开启快照功能,将有助于在云发生故障时恢复数据。Develop主要存储各种代码仓库,程序员必备。Documents用来存放个人文件。

1.1 代码及工程文件·
计算机从业者无时无刻不在与程序打交道,使用 Git 对源代码进行版本控制是有必要的,此外还可以使用 Git 进行归档、远程推送。
- 开发时:是否应该在同步文件夹里创建工程目录?我的建议是根据项目情况做判定。
- 如果是 C/C++、Python、Java 等语言,可以直接在同步目录创建工程库;
- 如果是 Node.JS 工程,因为会导入含有巨量小文件的
node_modules目录,因此会带来严重的同步性能问题;
- 归档时:
- 建议将
node_modules进行压缩,然后本地保存,也可同步到 Dropbox 等网盘,并且不带来存储压力;
- 建议将
所有代码数据都放在 NAS 上并不合适,因为 NAS 并不一定总在你身边。考虑到远程开发对便利性的要求,建议本地永远保留一个 Debian 系统,并在上面部署开发环境。开发和调试完全可以由现代虚拟机承担,毕竟如今的芯片性能已经不是十年前那个拉风箱的时代了。早几年的 AMD 7840HS 搭配 32GB 内存足以胜任绝大多数开发任务。
1.2 影音剪辑工程·
目前我的剪辑工程主要存储在 MacBook Pro 的机内硬盘里。由于距离 NAS 很远,而且尚未找到一个好用的总库到某个工程的管理模式,所以只能祈求 MacBook Pro 和时间机器不要炸。
接下来我从硬件和软件两方面,分别介绍的的选择及理由。
2. 硬件介绍·
2.1 存储硬件·
存储我选择使用 NAS,而非使用昂贵的 FC-SAN.
NAS 的基本硬件如下:
| 序号 | 元件 | 型号 | 数量 | 理由 |
|---|---|---|---|---|
| 1 | CPU | AMD EPYC 7302 | 1 | EPYC Rome 系列的 CPU 可以提供 128 条 PCIe 4.0,同时价格非常便宜(2022 年末),存储的一大看点就是硬盘、网卡的接入数量,因此 PCIe 通道数量非常关键。 |
| 2 | 内存 | SK-hynix REG ECC 3200MHz 64G | 8 | 现在(2023Q2)内存价格较低,选择大容量的内存比较合适。频率建议选择 D4 RECC 3200MHz. |
| 3 | 主板 | 超微 H12SSL-i | 1 | 超微主板出货量最大,品质相对比较可靠。此外,很多服务器机箱兼容超微,如果不想自己改跳线,直接买超微最合适。 |
| 4 | 散热 | 金钱豹 6 热管 | 1 | 金钱豹做服务器散热很多年了,这款散热器同样设计合理、出货量极大。100 块搞定。 |
| 5 | 机箱 | 某 24 盘 4U 机箱 | 1 | 电源是 CRPS 1+1 冗余,而且是竖着放,只占据很小的宽度,但是利用了 4U 的高度。因此这个机箱有多达 11 条 PCIe 插槽,可充分利用 ATX 主板最后一根插槽。硬盘托架质感一般,对比 Dell 有很大差距。背板是超微的,质量还可以。 |
| 6 | 机械硬盘 | Toshiba MG06S 8TB SAS | 4 | 硬盘比较老了,但是工况一直很好,用来单独跑 PT 比较合适,哪怕坏了也不心痛。 |
| 7 | 机械硬盘 | WD HC550 18TB SATA | 24 | 全容量盘,目前性价比较高,全新入手。 |
| 8 | 固态硬盘 | DapuStor R5100 7.68TB NVMe | 8 | PCIe 4.0 盘在 2023 年已经是非常普遍,大普微的产品基于声誉良好的 BiCS5 颗粒,DPU600 主控的性能和特性都是非常出众。 |
| 9 | 网卡 | Mellanox CX4-Lx MCX4121A ACAT | 1 | 25G SFP28 双口,仅支持以太网模式,使用 mlx-core5 驱动。 | |
| 10 | 网卡 | Mellanox CX6 VPI MCX653106A ECAT | 1 | 100G QSFP56 双口,支持以太网模式和 IB 模式,使用 mlx-core5 驱动。 |
2.2 网络硬件·
网络分为内网和外网两部分,内网主要介绍交换机,外网主要介绍路由器。
2.2.1 内网交换机·
2.2.2 路由器·
路由器可谓是非常重要的一个设备,如果失去了路由器,这套集群就失去了意义。
路由器我选择的是 QNAP Qhora-322 万兆有线路由器。这台机器外观比较好看,同时对 OpenWrt 具有非常良好的支持。
在中国,因为 GFW 的存在导致很难连接 GitHub 等国外的网站,因此代理软件基本是必须的。在路由器上安装 OpenClash 可以实现透明代理。这个原因也是我选择 OpenWrt 的唯一理由。如果能不再依赖 GFW,我想我大概率不会使用 OpenWrt.
3. 软件选择·
3.1. 存储·
TrueNAS SCALE 目前最新的发行版是 25.04,代号 Fangtooth,核心代码基于 Debian 12 bookworm.
Debian 凭借高质量的源代码和三十年来的社区维护经验,使得 Debian 系统非常可靠。
ZFS 版本是 OpenZFS 2.3,支持最新的 dRAID 阵列。
3.2. 网络·
网络分为内网和外网两部分:
- 内网:主打高带宽、低延迟
- 外网:即路由器相关,负责互联网接入
3.2.1. 局域网交换机系统·
思科交换机自然是支持思科的交换系统。
网络我选择 Mellanox ConnectX-4 Lx 和 ConnectX-6 VPI,具体型号是 Mellanox MCX4121A ACAT 和 Mellanox MCX653106A ECAT,速率分别是 25Gbps 和 100Gbps.
当然,选择 ConnecX-4 Lx En 卡也是实属无奈,毕竟更高级的卡价格非常高昂,也没有可靠的途径正规购入,所以勉强一用。
对于存储节点,即 TrueNAS SCALE 系统,直接使用该网卡即可,因为我并不需要跑 RDMA 流量。
重点:除非是 Windows Server 做存储服务器,否则很难实现 RDMA 的网络存储,毕竟直接配置支持 RDMA 的存储协议成本很高。
3.2.2 路由器软件·
OpenWrt
3.4. 计算·
计算节点的选择其实没有太多可以回旋的余地,对个人用户而言,入门型号的计算资源价格还算可以接受,但是高阶型号的 CPU 或者 GPU 加速卡,动辄数万元人民币,一般是个人难以承受的。
在国内,一般都似乎研究机构、大公司购买高性能服务器,所以服务器的个人订单比较少,服务器供应商也很少接个人用户的订单,毕竟嫌贵还挑剔。
3.4.1. 通用 4U 机箱·
3.4.2. 品牌服务器·
本来我这套服务计划部署在宿舍,后来考虑到宿舍的环境并不是很好,机器噪音也有点大,所以就搬到了实验室 2022 年 6 月 17 日。实验室环境非常好,有很不错的空调和供电,网络质量也是出奇地高。
- 公网 IPv6 和 IPv4 地址
- 2000Mbps 上下行对等网络
To be continued.










