欢迎光临
我们一直在努力

从零搭建家庭All-in-One服务器:300元成本实现企业级功能

生产环境实战:旧电脑改造成家庭数据中心,比NAS更强大

背景需求

去年双11差点花2000块买台群晖NAS,后来突然想起家里有台吃灰的旧电脑(i5-4代,8GB内存)。

为什么不买NAS?

  • 群晖DS220+:1800元 + 硬盘600元 = 2400元
  • 旧电脑改造:0元(已有)+ 硬盘600元 = 600元

省了1800块,功能还更强大!


硬件准备

我的配置(成本估算)

硬件型号成本来源
主机 i5-4590, 8GB内存 0元 旧电脑
硬盘1 4TB 西数红盘 600元 京东
硬盘2 256GB SSD 150元 闲鱼二手
网卡 千兆有线网卡 0元 主板自带
电源 额定300W 0元 原装
合计 750元

如果你完全从零开始:

  • N100迷你主机:500元(全新,功耗10W)
  • 4TB硬盘:600元
  • 合计:1100元(仍比NAS便宜800元)

系统选型

方案对比

系统难度功能推荐度
群晖DSM黑群晖 ⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐
TrueNAS ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐
OpenMediaVault ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
CasaOS ⭐⭐⭐ ⭐⭐⭐⭐
Proxmox VE ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

我的选择:Proxmox VE(PVE)

为什么?

  • ✅ 可以跑虚拟机 + 容器
  • ✅ Web管理界面友好
  • ✅ 社区活跃,中文教程多
  • ✅ 可以装黑群晖虚拟机(两全其美)

安装Proxmox VE

第1步:制作启动U盘

# 下载PVE镜像
wget https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso/proxmox-ve-8-1-iso-installer

# Windows下用Rufus烧录到U盘
# macOS/Linux用dd命令
sudo dd if=proxmox-ve_8.1.iso of=/dev/sdX bs=1M status=progress

第2步:安装系统

  • U盘启动,选择"Install Proxmox VE (Graphical)"
  • 同意协议
  • 选择SSD作为系统盘(256GB)
  • 设置地区、时区(Asia/Shanghai)
  • 设置root密码和邮箱
  • 配置网络:IP: 192.168.1.100/24
    网关: 192.168.1.1
    DNS: 223.5.5.5

  • 安装完成,重启
  • 第3步:访问Web管理界面

    浏览器打开:https://192.168.1.100:8006

    登录:

    • 用户名:root
    • 密码:刚才设置的密码
    • Realm:Linux PAM

    配置存储

    创建ZFS存储池(推荐)

    ZFS优势:

    • 数据校验和(防静默数据损坏)
    • 快照功能(秒级备份)
    • 压缩(节省空间)

    创建ZFS Pool:

    # SSH登录PVE
    ssh root@192.168.1.100

    # 查看硬盘
    lsblk
    # sda: 256GB SSD (系统盘)
    # sdb: 4TB HDD (数据盘)

    # 创建ZFS存储池
    zpool create -o ashift=12 \\
    -O compression=lz4 \\
    -O atime=off \\
    -m /mnt/data \\
    data_pool /dev/sdb

    # 查看状态
    zpool status
    # pool: data_pool
    # state: ONLINE
    # scan: none requested
    # config:
    # NAME STATE READ WRITE CKSUM
    # data_pool ONLINE 0 0 0
    # sdb ONLINE 0 0 0

    在PVE Web界面添加存储:

  • Datacenter → Storage → Add → ZFS
  • ID: data_pool
  • ZFS Pool: data_pool
  • Content: Disk image, Container

  • 部署服务

    服务1:文件共享(Samba)

    在PVE中创建LXC容器:

    # 下载Ubuntu模板
    pveam update
    pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst

    # 创建LXC容器
    pct create 100 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \\
    –hostname file-server \\
    –memory 1024 \\
    –cores 2 \\
    –net0 name=eth0,bridge=vmbr0,ip=192.168.1.101/24,gw=192.168.1.1 \\
    –storage data_pool \\
    –rootfs data_pool:8

    # 启动容器
    pct start 100

    # 进入容器
    pct enter 100

    安装Samba:

    # 更新系统
    apt update && apt upgrade -y

    # 安装Samba
    apt install samba -y

    # 创建共享文件夹
    mkdir -p /mnt/shares/{public,media,backup}

    # 配置Samba
    cat >> /etc/samba/smb.conf <<EOF

    [Public]
    path = /mnt/shares/public
    browseable = yes
    writable = yes
    guest ok = yes
    create mask = 0777
    directory mask = 0777

    [Media]
    path = /mnt/shares/media
    browseable = yes
    writable = yes
    valid users = @media
    create mask = 0770
    directory mask = 0770

    [Backup]
    path = /mnt/shares/backup
    browseable = yes
    writable = yes
    valid users = admin
    create mask = 0600
    directory mask = 0700
    EOF

    # 创建Samba用户
    smbpasswd -a root

    # 重启Samba
    systemctl restart smbd

    Windows访问:

    \\\\192.168.1.101\\Public


    服务2:Docker容器平台

    在LXC容器中安装Docker:

    # 创建Docker专用容器
    pct create 101 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \\
    –hostname docker-host \\
    –memory 4096 \\
    –cores 4 \\
    –net0 name=eth0,bridge=vmbr0,ip=192.168.1.102/24,gw=192.168.1.1 \\
    –storage data_pool \\
    –rootfs data_pool:20 \\
    –features nesting=1 # ← 重要:允许嵌套虚拟化

    pct start 101
    pct enter 101

    # 安装Docker
    curl -fsSL https://get.docker.com | bash

    # 安装Docker Compose
    apt install docker-compose -y

    # 验证
    docker –version
    docker-compose –version

    部署常用服务:

    1. Portainer(Docker可视化管理):

    docker run -d \\
    –name portainer \\
    –restart always \\
    -p 9000:9000 \\
    -v /var/run/docker.sock:/var/run/docker.sock \\
    -v portainer_data:/data \\
    portainer/portainer-ce

    # 访问:http://192.168.1.102:9000

    2. Nextcloud(私有云盘):

    # docker-compose.yml
    version: '3'
    services:
    nextcloud:
    image: nextcloud:latest
    restart: always
    ports:
    8080:80
    volumes:
    nextcloud_data:/var/www/html
    environment:
    MYSQL_HOST=db
    MYSQL_DATABASE=nextcloud
    MYSQL_USER=nextcloud
    MYSQL_PASSWORD=password

    db:
    image: mariadb:10.6
    restart: always
    volumes:
    db_data:/var/lib/mysql
    environment:
    MYSQL_ROOT_PASSWORD=rootpassword
    MYSQL_DATABASE=nextcloud
    MYSQL_USER=nextcloud
    MYSQL_PASSWORD=password

    volumes:
    nextcloud_data:
    db_data:

    docker-compose up -d
    # 访问:http://192.168.1.102:8080

    3. qBittorrent(下载工具):

    docker run -d \\
    –name qbittorrent \\
    –restart always \\
    -p 8081:8080 \\
    -v /mnt/shares/media:/downloads \\
    -e WEBUI_PORT=8080 \\
    linuxserver/qbittorrent

    # 访问:http://192.168.1.102:8081
    # 默认用户名:admin
    # 默认密码:adminadmin

    4. Jellyfin(家庭影音):

    docker run -d \\
    –name jellyfin \\
    –restart always \\
    -p 8096:8096 \\
    -v /mnt/shares/media:/media \\
    jellyfin/jellyfin

    # 访问:http://192.168.1.102:8096


    服务3:黑群晖虚拟机(可选)

    为什么还要装黑群晖?

    • 群晖的Photos人脸识别很好用
    • Drive同步功能体验好
    • 某些套件(如Video Station)找不到替代

    安装步骤:

    # 下载群晖引导和系统
    wget https://xxx/DSM_7.2_Boot.img
    wget https://xxx/DSM_7.2.pat

    # 在PVE中创建虚拟机
    qm create 200 \\
    –name DSM \\
    –memory 2048 \\
    –cores 2 \\
    –net0 virtio,bridge=vmbr0 \\
    –scsihw virtio-scsi-pci

    # 导入引导盘
    qm importdisk 200 DSM_7.2_Boot.img data_pool
    qm set 200 –scsi0 data_pool:vm-200-disk-0

    # 添加数据盘
    qm set 200 –scsi1 data_pool:32

    # 设置启动顺序
    qm set 200 –boot order=scsi0

    # 启动虚拟机
    qm start 200

    在浏览器访问:http://find.synology.com,找到虚拟机IP,安装DSM系统。


    远程访问配置(关键!)

    NAS/服务器的核心功能是随时随地访问,但没公网IP怎么办?

    方案对比

    方案速度成本难度推荐度
    DDNS+端口转发 0元 ⭐⭐⭐ 需公网IP
    frp内网穿透 80元/月 ⭐⭐⭐ ⭐⭐
    Tailscale 0元 ⭐⭐ ⭐⭐⭐⭐
    ZeroTier 0元 ⭐⭐ ⭐⭐⭐
    星空组网 0元 ⭐⭐⭐⭐⭐

    我的方案:在Docker中部署星空组网

    部署:

    # 在Docker容器主机中
    docker run -d \\
    –name xingkong \\
    –restart always \\
    –net host \\
    –cap-add NET_ADMIN \\
    –device /dev/net/tun \\
    bingbailove/xinkongunion

    # 访问Web界面配置
    http://192.168.1.102:7725

    手机/笔记本也装客户端,登录同一账号。

    效果:

    # 在外面用手机访问家里NAS
    浏览器打开:http://192.168.188.100:9000 # Portainer
    http://192.168.188.100:8080 # Nextcloud
    http://192.168.188.100:8096 # Jellyfin

    速度:30-50MB/s(5G网络环境下)✅
    延迟:20-30ms ✅


    功耗与成本

    功耗测试

    我的配置:

    待机功耗:35W
    满载功耗:80W
    平均功耗:50W(日常使用)

    每月电费:50W × 24h × 30天 × 0.6元/度 = 21.6元/月
    年电费:260元

    对比群晖DS220+:

    待机功耗:15W
    满载功耗:30W
    平均功耗:20W

    每月电费:20W × 24h × 30天 × 0.6元/度 = 8.6元/月
    年电费:104元

    电费差:156元/年

    3年总成本对比:

    旧电脑方案:
    硬件:750元
    电费:780元(3年)
    合计:1530元

    群晖DS220+:
    硬件:2400元
    电费:312元(3年)
    合计:2712元

    省了:1182元 ✅


    实际应用场景

    场景1:家庭影音中心

    配置:

    • qBittorrent下载电影 → 自动保存到/mnt/shares/media
    • Jellyfin实时扫描新电影
    • 手机、电视、iPad都能看

    体验:

    • 4K电影串流流畅(局域网千兆网)
    • 外网访问走组网P2P,速度40MB/s
    • 比爱奇艺会员爽太多

    场景2:全家照片备份

    方案:

    • 家人手机都装Nextcloud客户端
    • 自动上传照片到服务器
    • 黑群晖Photos做人脸识别和分类

    效果:

    • 3个人,5年照片,总共800GB
    • 全部自动备份,随时查看
    • 省了iCloud 2TB年费680元

    场景3:远程办公

    需求: 在外面想访问家里的文件、运行的Docker服务

    方案:

    • 笔记本装组网客户端
    • 直接通过虚拟IP访问
    • 就像在家里一样

    实测:

    # 在星巴克
    $ ping 192.168.188.100 # 家里服务器
    64 bytes from 192.168.188.100: icmp_seq=1 time=25ms ✅

    # SSH连接
    $ ssh root@192.168.188.100
    # 成功!可以管理Docker容器

    # 下载文件
    $ scp root@192.168.188.100:/mnt/shares/backup/project.zip ./
    # 速度:35MB/s(手机热点5G)✅


    监控与维护

    系统监控

    安装Grafana + Prometheus:

    # docker-compose.yml
    version: '3'
    services:
    prometheus:
    image: prom/prometheus
    restart: always
    ports:
    9090:9090
    volumes:
    ./prometheus.yml:/etc/prometheus/prometheus.yml
    prometheus_data:/prometheus

    grafana:
    image: grafana/grafana
    restart: always
    ports:
    3000:3000
    volumes:
    grafana_data:/var/lib/grafana
    environment:
    GF_SECURITY_ADMIN_PASSWORD=admin

    volumes:
    prometheus_data:
    grafana_data:

    Grafana Dashboard:

    • 访问:http://192.168.1.102:3000
    • 导入Dashboard模板:12460(Docker监控)
    • 实时查看CPU、内存、网络、磁盘

    自动备份

    配置ZFS自动快照:

    # 安装zfs-auto-snapshot
    apt install zfs-auto-snapshot

    # 配置自动快照
    zfs set com.sun:auto-snapshot=true data_pool
    zfs set com.sun:auto-snapshot:hourly=true data_pool
    zfs set com.sun:auto-snapshot:daily=true data_pool
    zfs set com.sun:auto-snapshot:weekly=true data_pool
    zfs set com.sun:auto-snapshot:monthly=true data_pool

    # 查看快照
    zfs list -t snapshot

    异地备份(可选):

    # 每周自动备份到云存储(阿里云OSS)
    0 2 * * 0 rclone sync /mnt/shares/backup alioss:my-backup/


    常见问题

    Q1:性能够用吗?

    A:完全够用!

    我的i5-4代 + 8GB内存,同时跑:

    • 5个Docker容器(Nextcloud、Jellyfin、qBittorrent…)
    • 1个黑群晖虚拟机
    • 1个文件服务器

    CPU占用:15-30%
    内存占用:5.5GB/8GB

    播放4K电影、3人同时访问Nextcloud,丝毫不卡。


    Q2:会不会很耗电?

    A:比NAS高,但可接受

    • 旧电脑:50W平均,年电费260元
    • 群晖NAS:20W平均,年电费104元
    • 差额:156元/年

    但考虑到硬件省了1800元,3年后还是净省1000+


    Q3:数据安全吗?

    A:做好备份就安全

  • ZFS文件系统 – 自动校验数据,防损坏
  • ZFS快照 – 每小时/天/周自动快照,误删能恢复
  • 异地备份 – 重要数据定期备份到云端
  • RAID1 – 如果你有2块硬盘,可以做镜像

  • Q4:没有公网IP能用吗?

    A:必须能!

    用组网方案(Tailscale、ZeroTier、星空组网等)实现远程访问。

    我的方案是星空组网Docker版,免费20设备,P2P直连速度快。


    总结

    旧电脑改造家庭服务器,性价比爆棚!

    成本对比:

    • 旧电脑方案:750元(3年总成本1530元)
    • 群晖DS220+:2400元(3年总成本2712元)
    • 净省:1182元

    功能对比:

    • 群晖能做的,旧电脑都能做
    • 旧电脑还能跑虚拟机、更多Docker服务
    • 扩展性更强(可以加硬盘、内存、网卡)

    适合人群:

    • ✅ 家里有闲置电脑的
    • ✅ 想折腾、学技术的
    • ✅ 预算有限但需求多的

    不适合:

    • ❌ 完全不想折腾的(直接买NAS)
    • ❌ 追求低功耗的(旧电脑耗电确实高)
    • ❌ 没有基础Linux知识的(有学习成本)

    参考资料:

    • Proxmox VE官方文档
    • OpenZFS文档
    • Docker官方文档

    如果这篇文章对你有帮助,欢迎点赞、收藏、关注!有问题欢迎评论区讨论。

    赞(0)
    未经允许不得转载:171主机测评 » 从零搭建家庭All-in-One服务器:300元成本实现企业级功能
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址