# HomeLab 搭建指南 (一)：万物之始 —— 需求分析与硬件选型


在云服务订阅制盛行的今天，我们依然选择搭建 HomeLab（家庭实验室），这不仅仅是为了拥有一台服务器，更是一场关于**数据主权**的实践。本文将作为系列开篇，分享我对 HomeLab 的架构设计理念、硬件选型逻辑以及最终的落地方案。

<!--more-->

## 一、 为什么我们需要 HomeLab？

在这个数据即资产的时代，将照片、密码、笔记等核心数据托管于第三方云服务，始终面临着隐私泄露与服务关停的风险。**HomeLab 的本质，是将云服务私有化，让数据回归物理硬盘。**

### 核心收益
1.  **数据主权**：我的数据，我做主。不被算法裹挟，不受平台限制。
2.  **隐私保护**：密码管理（Bitwarden）、个人云盘（Nextcloud）等敏感服务不出局域网。
3.  **技能精进**：它是最佳的练兵场，涵盖虚拟化、容器编排、网络安全等全栈技能。
4.  **折腾之乐**：享受从零构建系统的成就感（工程师的浪漫）。

### 隐性成本
当然，入坑前需保持清醒：
*   **初期投入**：硬件购置费用。
*   **运维成本**：需要持续投入时间进行维护、更新和排查故障。
*   **电费支出**：以 30W 功耗为例，7x24 小时运行年电费约 160 元（0.6元/度）。

---

## 二、 架构哲学：AIO 还是分布式？

HomeLab 界流传着两种主流架构，选择哪种决定了后续的硬件路线。

### 1. All-in-One (AIO)：集中式架构
一台高性能服务器，通过 ESXi 或 PVE 虚拟化所有服务（软路由 + NAS + 媒体中心 + Windows）。
*   **优点**：资源利用率极高，不仅省空间，数据交换速度也快（虚拟网卡）。
*   **痛点**：**All-in-One = All-in-Boom**。只要宿主机维护重启，全屋断网、服务全停，家庭和谐度直线下降。

### 2. One by One：分布式架构
路由器只做路由，NAS 只存数据，计算节点只跑服务。专机专用，松耦合。
*   **优点**：容错率高，单点故障不扩散；升级灵活，可逐步添置设备。
*   **痛点**：设备数量多，管理相对分散，且增加了物理接口的占用。

### 我的选择：One by One + KISS 原则
我倾向于 **分布式架构**，并严格遵循 **KISS (Keep It Simple, Stupid)** 原则：
*   **网络与存储分离**：路由器挂了不影响 NAS，NAS 挂了不影响计算节点。
*   **计算无状态化**：所有应用服务容器化（Docker），**配置文件与启动脚本托管于 Git**。
*   **可迁移性**：硬件故障时，能在任意一台新机器上通过 `git clone` + `docker compose up` 瞬间恢复服务。

---

## 三、 硬件选型方法论

在下单之前，我们需要建立一个清晰的决策矩阵。

### 1. 平台之争：x86 vs ARM
这是很多新手纠结的点，尤其是 Mac Mini M4 发布后。

| 维度 | x86 平台 (Intel/AMD) | ARM 平台 (Mac Mini/树莓派) |
| :--- | :--- | :--- |
| **生态兼容性** | **完美**。Docker 镜像全，虚拟化方案成熟 (PVE/ESXi)。 | **受限**。部分镜像无 ARM 版，折腾成本高。 |
| **虚拟化能力** | 强。各种硬件直通 (PCIe Passthrough) 玩法丰富。 | 弱。macOS 并不适合作为底层 Hypervisor。 |
| **扩展性** | 高。M.2、SATA、PCIe 接口丰富。 | 低。内存硬盘不可升级，外接依赖雷电接口。 |
| **功耗** | 中高。尤其高性能 U 发热量较大。 | **极低**。能效比无敌，静音体验极佳。 |

**结论**：除非你只需跑极其简单的服务且已有 Mac 设备，否则 **x86 是 HomeLab 的唯一正解**。其可玩性、兼容性和性价比远超 ARM 平台。

### 2. 性能需求金字塔
*   **入门级 (N100)**：适合轻量软路由、简单 NAS、跑几个 Docker 容器。
*   **进阶级 (Ryzen/Core i5/i7)**：适合重度虚拟化、媒体转码 (Jellyfin/Plex)、编译代码、跑 Windows 虚拟机。

---

## 四、 实战：我的硬件清单

基于“性能与功耗平衡”的考量，我构建了如下的硬件组合：

### 1. 核心计算节点：天钡 GEM12 Max
这是 HomeLab 的大脑，运行 Proxmox VE (PVE)。

*   **CPU**: AMD Ryzen 9 6900HX (8核16线程，性能过剩的安心感)
*   **GPU**: Radeon 680M (核显性能强劲，**支持 AV1 等多格式硬解**)
*   **内存**: 32GB DDR5 4800MHz (虚拟机的温床)
*   **存储**: 1TB NVMe SSD (系统与虚拟机镜像)
*   **网络**: Intel i226V 2.5G 网卡
*   **总成本**: 约 ¥2500 (准系统+内存+硬盘)

**选购逻辑**：6900HX 的性能足以支撑未来 3-5 年的需求，且 680M 核显在媒体转码方面表现优异。

### 2. 网络基础设施
*   **主路由**: TP-LINK 7DR7290 (Mesh 主节点)
*   **AP**: TP-LINK XDR5480 (覆盖全屋 WiFi)
*   **交换机**: TP-LINK 8口千兆交换机 (有线设备互联)

### 3. 数据存储 (NAS)
*   **设备**: 群晖 DS216+II
*   **定位**: 纯粹的文件服务器 (File Server) 和 备份中心。不跑 Docker，不跑繁重业务，保证数据存储的绝对稳定。

---

## 五、 部署架构图

我的 HomeLab 采用了 **逻辑 AIO，物理分离** 的混合模式：

{{< mermaid >}} 
graph TD
    %% 样式定义
    classDef ext fill:#f5f5f5,stroke:#666,stroke-width:2px,color:#333;
    classDef hw fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#0d47a1;
    classDef vm fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#e65100;
    classDef svc fill:#e8f5e9,stroke:#2e7d32,stroke-width:1px,stroke-dasharray: 5 5,color:#1b5e20;

    Internet(("互联网")):::ext ==> Modem["光猫 - 桥接模式"]:::hw
    
    subgraph GEM12 ["GEM12 Max - PVE 宿主机"]
        direction TB
        
        subgraph Hardware ["硬件层"]
            NIC_WAN["网口 1 - 直通"]:::hw
            NIC_LAN["网口 2 - 物理"]:::hw
            iGPU["AMD 680M 核显"]:::hw
        end
        
        subgraph Virtualization ["虚拟化层"]
            VMBR0["虚拟网桥 vmbr0"]:::hw
            
            subgraph VM_OpenWrt ["VM: OpenWrt 主路由"]
                Wrt_WAN("WAN 口"):::vm
                Wrt_LAN("LAN 口"):::vm
            end
            
            subgraph VM_Ubuntu ["VM: Ubuntu Server"]
                Jellyfin("Docker: Jellyfin"):::svc
            end
            
            subgraph VM_HA ["VM: HomeAssistant"]
                HAS("HASS OS"):::svc
            end
        end
    end

    %% 物理连接
    Modem ==> NIC_WAN
    NIC_LAN ==> Switch["千兆交换机"]:::hw

    %% 逻辑连接与虚拟化映射
    NIC_WAN ==> Wrt_WAN
    Wrt_LAN <--> VMBR0
    VMBR0 <--> NIC_LAN
    
    VMBR0 <--> VM_Ubuntu
    VMBR0 <--> VM_HA
    
    %% 硬件直通关系
    iGPU -.->|PCIe 直通 - 硬解| Jellyfin

    %% 外设与终端
    Switch --> NAS["群晖 NAS - 纯存储"]:::hw
    Switch --> AP["无线 AP / Mesh"]:::hw
    Switch --> Gateway["智能网关"]:::hw
    AP -.- WiFi_Dev["手机 / 平板 / IoT"]:::ext
    Switch --> Wired_Dev["PC / 电视 / 游戏机"]:::ext

    %% 数据流向
    Jellyfin -.->|SMB/NFS| NAS
    HAS -.->|局域网控制| Gateway
{{< /mermaid >}}

**架构亮点**：
1.  **OpenWrt 虚拟化**：利用 PVE 的高性能网卡直通，跑满 2.5G 内网带宽。
2.  **Jellyfin 硬解**：将 680M 核显直通给 Ubuntu 虚拟机，实现流畅的 4K 转码。
3.  **GitOps**：所有的 Docker Compose 文件都存储在 GitHub 私有仓库中。部署新服务只需一行命令：
    ```bash
    git clone my-homelab-config && docker compose up -d
    ```

---

## 六、 避坑指南与建议

HomeLab 的核心不在于硬件有多贵，而在于架构是否优雅、维护是否省心。

1.  **关于预算**：
    *   **¥1000-2000**：推荐 N100 迷你主机，性价比之王。
    *   **¥2000-3000**：推荐 AMD 6000/7000 系迷你主机（如 GEM12），性能强劲，进退自如。
2.  **切记避坑**：
    *   ❌ **不要用 ARM 做主力**：除非你只跑极其基础的服务。
    *   ❌ **不要过度追求企业级硬件**：二手服务器噪音大、功耗高，不适合家用。
    *   ❌ **不要忽视数据备份**：RAID 不是备份，重要数据请遵循 3-2-1 原则（本地+异地/云端）。

万事俱备，硬件已就位。在下一篇文章中，我将手把手带你完成 **Proxmox VE (PVE) 的安装与初始化配置**，正式开启 HomeLab 之旅。
