家用 All in One 服务器环境搭建 (一) - 概述

date
Oct 15, 2022
slug
all-in-one-home-server-setup-introduction
status
Published
tags
System
Network
summary
在小主机上搭建一个集软路由, 存储服务器, 影音库, 云端书库等各种应用于一体的 All in One 服务器
type
Post
前段时间关于家庭中自己组装 NAS 和搭建 All in One 主机的视频和文章越来越多, 也有越来越多的厂商加入这一市场, 相关硬件的价格也逐步走低, 于是我也入手了一台畅网的小主机, 走上了折腾 All in One 服务器的不归路.
很多人总担心 All in One 会变成 All in Boom, 并且 Boom 了之后很难恢复, 这种担心不无道理. 不过通过合理的配置可以将 Boom 的风险降到最低, 即使出现故障也能迅速恢复.
不过, 如果真的有重要数据要存, 还是建议做好各种备份措施, 最好组一个单独的 NAS. All in One 小主机更多还是放一些影音, 电子书等不太重要的文件, 娱乐为主, 不要较真.

硬件配置

CPU: Intel N5095
内存: 16GB
硬盘: 金士顿 A2000 1TB
网卡: Intel i225-V3 x4
家宽: 移动千兆
当时入手还是早了点, 以为价格基本到底了, 结果没过一个月各种小主机遍地跑, 价格一个比一个低, 惨遭背刺…
小主机大概长这样:
notion image
印象中之前出过很多搭载 J4125 CPU 的小主机, 也是同样的模具. 现在可能随着出货量上升, 成本拉低, 最新的 11 代 CPU 的产品价格也没比当时 J4125 的小主机贵多少.
入手这台小主机的考虑是, N5095 基本能满足现在的使用需求 (软路由, NAS, 下载机, 硬件解码), 并且后期如果要组装专门的 NAS, 这台小主机有 4 个 2.5G 网口, 也为后期升级留出了余量.
虽然现在市面上也出现了不少面向消费级市场的万兆设备, 但是要组建万兆内网需要路由器, 交换机, 终端设备的全方位升级, 成本太高, 且带来的使用体验边际效益递减, 因此还是选择了更加实用主义的 2.5G. 目前运营商开始强推千兆家宽, 因此 1G 出口 + 2.5G 内网也算是比较合理的搭配. 个人觉得后续 2000Mbps 家宽慢慢普及的时候再升级万兆内网可能是比较合适的.
各类小主机测评可以参考 YouTube 上 jack stone 的频道:

软件架构

  • 采用 PVE 作为虚拟化平台
  • 安装 Openwrt 系统作为主路由拨号上网, 直通 3 个网口提高效率
    • 明明有 4 个网口, 为什么只直通 3 个?
      这是给 PVE 系统本身留出一个, 如果 Openwrt 系统故障而 PVE 还能运行, 连接该网口 (或者将无线路由器插在这个网口并连接到该 WLAN) 就可以通过 SSH 进入 PVE 系统进行调试.
      如果所有网口都直通, 那么 Openwrt 系统崩溃无法启动时将会无法连接 PVE 系统, 只能将小主机连接显示器和键盘调试.
  • 安装 Ubuntu Server 系统, 并将主要的硬盘空间分配给该虚拟机, 作为 NAS 服务器
  • 安装 LXC 容器, 直通核显方便后续搭建在线影院硬件解码
    • 为什么不直接将核显直通给虚拟机?
      PVE 中直通给虚拟机的硬件是会被虚拟机独占的, 因此如果将核显直通给虚拟机, 那么 PVE 系统本身就没有显卡, 如果系统故障也没法插显示器键盘调试. 但是 LXC 容器并不会独占硬件, 因选择将核显直通给 LXC 容器, 并在 LXC 容器中运行 Jellyfin 等需要核显的应用.
我自己实际使用下来, Openwrt 系统内存占用很低, 平时大概在 250MB 左右, 分配 512MB 足够; Linux 系统 4GB 以上, 由于我们希望它作为 NAS 系统, 因此更大的内存可以提升文件 I/O 的速度, 尤其是 PT 下载之类的应用可以吃掉很多内存; 最后是 LXC 容器, 它可以与 PVE 宿主机共享内存 (事实上它们使用的是同一个 Linux 内核), 由于运行的应用比较多, 建议分配 2GB 以上的内存. 因此如果追求一定的性能, 小主机的内存最好 8GB 起步, 16GB 更好. 注意分配时给 PVE 宿主机留出一定余量, 防止宿主机因为内存不够触发 OOM Killer 杀死虚拟机进程导致虚拟机重启, 死机等问题.
关于 All in One 服务器的搭建 B站 司波图的频道做过一系列非常实用的教程:

网络布局

搭建好软路由只是完成了家庭网络中的核心部分, 要获得良好的上网体验还需要处理好网络布局问题.
这里记录一下自己在网络布局中的一些心得体会:
  • 不要忽视承重墙对 Wi-Fi 信号 (尤其是 5GHz 频段信号) 的影响. 如果有可能, 建议结合户型图优化 AP 点位布局. 其实有不少 APP 都可以辅助进行信号覆盖度测试和规划, 例如 WiFi 魔盒:
  • 网络实际使用体验取决于很多因素, 并不是路由器信号越强越好, 路由器数量越多越好. 合理布局才是最好的.
    • 如果两个 AP 距离比较近, 盲目将信号设定变强反而会让 AP 之间发生干扰, 影响体验. 此外, 如果每个 AP 信号都很强, 家中会有很大的区域处于两个 AP 信号重叠的位置, 此时可能你已经走到离另一个 AP 更近的位置, 但是手机还是连着更远的 AP, 影响网络效果.
  • 合理分配信道, 避免信道之间出现冲突. 大多数路由器都有信道自适应功能, 无需过分担心, 但某些情况下还是需要手动调整信道分配.
  • 优先使用 AC + AP 或者 Mesh 有线回传, 如果要使用无线回传则最好选择同品牌路由器, 并尽量保证两个路由器之间比较空旷, 保证回传信号不被阻挡; 在回传能力上, 3 频路由器由于能使用单独的 5GHz 频段进行回传, 一般有更好的效果.
Wi-Fi 6 支持的很多技术如 OFDMA 等, 以及网络漫游相关的技术, 不仅要硬件上的支持, 还要软件上的调教与优化, 很考验厂家的调教功力. 因此买路由器不能只看硬件, 最好还是看实际的使用体验. 建议多看看评测. 可以参考 B站 知电晓春哥的频道:
他们还汇总了各型号路由器的实测数据:
此外 acwifi 定期更新各种路由器的拆解测评:
关于提升全屋网速和全屋网络设备布局等问题可以看看这个视频:

© Richard Wang 2021 - 2023