1. 项目概述:移动家庭云电脑的永续运行实验
去年帮朋友调试远程办公环境时,意外发现移动光猫的IPv6地址居然能保持两周不变。这个发现让我萌生了搭建"永不断电"家庭云的想法——利用运营商宽带构建24小时在线的轻量级计算节点。经过三个月的实测验证,这套系统已经稳定运行了107天,期间经历了两次运营商维护断网、七次路由器重启,但云端服务始终可用。
这种方案特别适合需要长期运行轻量级服务的场景:智能家居中枢、自动化脚本托管、远程开发环境、家庭媒体库同步等。相比传统NAS动辄上千元的设备投入,利用现有宽带资源实现的"零成本"云服务,在功耗和性价比方面都有明显优势。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心架构设计
2.1 网络拓扑方案
实验采用移动千兆宽带作为基础网络环境,关键设备包括:
- 华为HS8546V5光猫(桥接模式)
- 小米AX6000路由器(开启IPv6)
- 树莓派4B(4GB内存版)
实测发现移动宽带虽然IPv4是NAT内网地址,但IPv6通常能获取到/64前缀的全球单播地址。通过DDNS-GO工具将动态IPv6地址绑定到域名,配合Cloudflare的DNS解析,实现了外网访问的稳定性。这里有个细节:光猫必须设置为桥接模式,由路由器拨号才能获取原生IPv6前缀。
2.2 硬件选型要点
选择树莓派作为主机主要考虑三点:
- 功耗控制:满载不超过7.5W,待机仅2.3W
- 扩展能力:USB3.0接口可接移动硬盘组建存储池
- 散热方案:金属外壳被动散热完全无噪音
实测数据:搭配500GB固态硬盘的整套系统月均耗电约5度,按照0.6元/度计算,每月电费仅3元左右。相比之下,传统x86架构NAS即便在低负载状态下,月耗电也在30度以上。
3. 系统部署实战
3.1 基础环境配置
首先刷写Ubuntu Server 22.04 LTS系统,关键配置步骤如下:
bash复制# 启用IPv6隐私扩展(防止地址频繁变化)
sudo sysctl -w net.ipv6.conf.all.use_tempaddr=2
sudo sysctl -w net.ipv6.conf.default.use_tempaddr=2
# 安装必要组件
sudo apt install -y docker.io ddns-go tailscale
网络配置中特别注意:在路由器端需要放行IPv6的特定端口(如TCP 22/80/443),同时设置DMZ主机指向树莓派的本地IPv6地址。移动宽带虽然开放了IPv6访问,但部分省份会对高端口进行过滤,建议服务端口使用80/443等常见端口。
3.2 持久化方案设计
实现"永不关机"的核心在于服务冗余设计:
- 双栈网络接入:同时配置IPv4内网穿透(Tailscale)和IPv6直连
- 进程守护机制:关键服务通过systemd配置自动重启
- 存储分离架构:系统盘与数据盘物理隔离,避免日志写满存储
示例的docker-compose配置片段:
yaml复制services:
ddns-go:
image: jeessy/ddns-go
restart: unless-stopped
network_mode: host
volumes:
- /etc/localtime:/etc/localtime:ro
- /opt/ddns-go:/root
4. 典型应用场景
4.1 智能家居中枢
将Home Assistant部署在云电脑上,配合Zigbee USB网关实现:
- 跨运营商远程控制家居设备
- 自动化规则7×24小时执行
- 历史数据本地存储不依赖云服务
实测响应速度:同一城市内IPv6直连延迟<15ms,比经云服务器中转的方案快3-5倍。
4.2 开发测试环境
通过code-server搭建云端VS Code,配合frp内网穿透实现:
- 随时随地访问开发环境
- 长期运行爬虫/自动化脚本
- Git服务私有化部署
内存占用实测:同时运行MySQL 5.7+Redis 7.0+Node.js环境,内存占用稳定在2.8GB左右。
5. 稳定性优化技巧
5.1 网络断连自愈
编写监控脚本检测网络状态,存储在/usr/local/bin/network_checker.sh:
bash复制#!/bin/bash
while true; do
if ! ping6 -c3 240c::6666 &>/dev/null; then
systemctl restart networking
sleep 60
fi
sleep 300
done
通过crontab设置开机自启:
bash复制@reboot /usr/local/bin/network_checker.sh >> /var/log/network_check.log 2>&1
5.2 电力保障方案
建议搭配UPS电源使用,这里有个低成本方案:使用充电宝+PD诱骗线给树莓派供电。实测20000mAh充电宝可维持系统运行12小时以上,成本不到百元。
6. 常见问题排查
6.1 IPv6无法访问
典型症状:本地可以ping通IPv6地址,但外网无法访问
解决方案:
- 检查路由器防火墙规则
- 确认光猫是否工作在桥接模式
- 测试
telnet [IPv6地址] 端口号连通性
6.2 服务意外终止
通过journalctl查看日志:
bash复制journalctl -u docker.service --since "1 hour ago"
关键检查点:
- 内存是否耗尽(free -h)
- 存储空间是否不足(df -h)
- 进程数是否超限(ps aux --sort=-%mem | head)
这套系统我已经稳定使用超过半年,最大的体会是:家庭宽带的质量比想象中可靠得多。最近正在尝试将NVIDIA Jetson Nano接入这套体系,用来跑一些简单的AI推理任务。如果你也想尝试,建议先从简单的HTTP服务开始测试网络稳定性,再逐步迁移核心业务。
