AI-基于i3-8100和Dell主板的PVE家用服务器部署方案

作者1121周前 (03-27)PVE21

# 家用PVE服务器部署方案


## 硬件配置概述

- **CPU**: Intel i3-8100 (4核4线程)

- **主板**: 戴尔0284JF

- **内存**: 16GB DDR4

- **存储**:

  - 526GB M.2 NVMe (系统盘+虚拟机存储)

  - 2×500GB HDD (RAID1用于重要数据)

  - 1TB HDD (媒体/下载等)

- **网络**: 1个千兆网口(可扩展)


## 1. PVE系统安装与基础优化


### 安装PVE 8.x

1. 下载最新PVE ISO镜像

2. 制作启动U盘

3. 安装到NVMe SSD:

   - 分区: ext4文件系统

   - 根分区: 50GB

   - 剩余空间创建thin LVM用于虚拟机存储

4. 设置主机名、IP地址(建议静态IP)


### 基础优化

```bash

# 更新源

sed -i 's|^deb http://ftp.debian.org|deb https://mirrors.aliyun.com|g' /etc/apt/sources.list

sed -i 's|^deb http://security.debian.org|deb https://mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list


# 更新系统

apt update && apt dist-upgrade -y


# 安装常用工具

apt install -y curl wget git htop iftop iotop tmux


# 禁用企业源

sed -i 's|deb https://enterprise.proxmox.com|#deb https://enterprise.proxmox.com|g' /etc/apt/sources.list.d/pve-enterprise.list


# 添加非订阅源

echo "deb http://download.proxmox.com/debian/pve $(lsb_release -sc) pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list


# 禁用订阅提示

sed -i "s|data.status !== 'Active'|false|" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js


# 设置SWAP (4GB)

dd if=/dev/zero of=/swapfile bs=1M count=4096

chmod 600 /swapfile

mkswap /swapfile

swapon /swapfile

echo '/swapfile none swap sw 0 0' >> /etc/fstab


# 调整内核参数

echo "vm.swappiness=10" >> /etc/sysctl.conf

echo "vm.vfs_cache_pressure=50" >> /etc/sysctl.conf

sysctl -p

```


## 2. 存储配置


### 创建存储池

1. 500GB HDD ×2 配置为RAID1:

   ```bash

   mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sb

   mkfs.ext4 /dev/md0

   mkdir /mnt/raid1

   echo "/dev/md0 /mnt/raid1 ext4 defaults 0 0" >> /etc/fstab

   mount -a

   ```

   

2. 1TB HDD 单独使用:

   ```bash

   mkfs.ext4 /dev/sdc

   mkdir /mnt/storage

   echo "/dev/sdc /mnt/storage ext4 defaults 0 0" >> /etc/fstab

   mount -a

   ```


3. 在PVE Web界面添加存储:

   - 添加LVM-thin (剩余NVMe空间)

   - 添加目录存储: /mnt/raid1 (命名为raid1)

   - 添加目录存储: /mnt/storage (命名为storage)


## 3. 网络配置


### 单网口配置(可扩展)

```bash

# 创建Linux Bridge

auto vmbr0

iface vmbr0 inet static

    address 192.168.1.10/24

    gateway 192.168.1.1

    bridge-ports enp3s0

    bridge-stp off

    bridge-fd 0

```


## 4. 核显直通配置


```bash

# 编辑grub

nano /etc/default/grub

# 修改GRUB_CMDLINE_LINUX_DEFAULT行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off"


# 更新grub

update-grub


# 加载模块

echo "vfio" >> /etc/modules

echo "vfio_iommu_type1" >> /etc/modules

echo "vfio_pci" >> /etc/modules

echo "vfio_virqfd" >> /etc/modules


# 屏蔽驱动

echo "blacklist snd_hda_intel" > /etc/modprobe.d/blacklist.conf

echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf

echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf


# 获取核显硬件ID

lspci -nn | grep -E "VGA|Audio"

# 示例输出: 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:5912]

echo "options vfio-pci ids=8086:5912,8086:5916" > /etc/modprobe.d/vfio.conf


# 更新initramfs

update-initramfs -u

reboot

```


## 5. 虚拟机部署规划


### 资源分配原则

- PVE宿主机保留: 2GB内存 + 1个CPU核心

- 剩余资源: 14GB内存 + 3个CPU核心


| 虚拟机 | CPU核心 | 内存 | 存储 | 备注 |

|--------|---------|------|------|------|

| 飞牛NAS | 2核 | 4GB | raid1: 200GB, storage: 500GB | 直通SATA控制器 |

| Docker主机 | 2核 | 4GB | LVM-thin: 50GB | |

| Win10 LTSB | 1核 | 4GB | LVM-thin: 80GB | 直通核显 |

| HomeAssistant | 1核 | 2GB | LVM-thin: 32GB | |

| 其他服务 | 共享 | 共享 | 按需 | 如AdGuard Home等 |


## 6. 虚拟机详细配置


### 飞牛NAS (VM 100)

1. 创建虚拟机:

   - 类型: Linux

   - BIOS: SeaBIOS

   - 机器: q35

   - 磁盘: 50GB (LVM-thin)

   - CPU: 2核心, 类型host

   - 内存: 4096MB, ballooning启用

   - 网络: virtio, bridge vmbr0


2. 直通SATA控制器:

   ```bash

   # 查找SATA控制器ID

   lspci -nn | grep SATA

   # 添加到虚拟机配置

   echo "hostpci0: 01:00.0,pcie=1" >> /etc/pve/qemu-server/100.conf

   ```


3. 安装飞牛NAS系统


### Docker主机 (VM 101)

1. 创建虚拟机:

   - 类型: Linux

   - BIOS: SeaBIOS

   - 机器: q35

   - 磁盘: 50GB (LVM-thin)

   - CPU: 2核心, 类型host

   - 内存: 4096MB, ballooning启用

   - 网络: virtio, bridge vmbr0


2. 安装Debian/Ubuntu最小系统


3. Docker环境配置:

   ```bash

   # 安装Docker

   curl -fsSL https://get.docker.com | sh

   

   # 创建docker-compose目录结构

   mkdir -p /opt/docker/{adguard,nextcloud,photoprism,jellyfin,bitwarden}

   

   # 示例AdGuard Home配置

   cat > /opt/docker/adguard/docker-compose.yml <<EOF

   version: '3'

   services:

     adguard:

       image: adguard/adguardhome

       container_name: adguard

       ports:

         - "53:53/tcp"

         - "53:53/udp"

         - "67:67/udp"

         - "68:68/tcp"

         - "68:68/udp"

         - "80:80/tcp"

         - "443:443/tcp"

         - "853:853/tcp"

       volumes:

         - ./work:/opt/adguardhome/work

         - ./conf:/opt/adguardhome/conf

       restart: unless-stopped

   EOF

   ```


### Win10 LTSB (VM 102)

1. 创建虚拟机:

   - 类型: Windows

   - BIOS: OVMF (UEFI)

   - 机器: q35

   - 磁盘: 80GB (LVM-thin)

   - CPU: 1核心, 类型host

   - 内存: 4096MB, ballooning禁用

   - 网络: virtio, bridge vmbr0


2. 直通核显:

   ```bash

   echo "args: -device vfio-pci,host=00:02.0,addr=0x18 -device vfio-pci,host=00:1f.3,addr=0x19" >> /etc/pve/qemu-server/102.conf

   ```


3. 安装优化版Win10 LTSB


### HomeAssistant (VM 103)

1. 创建虚拟机:

   - 类型: Linux

   - BIOS: SeaBIOS

   - 机器: q35

   - 磁盘: 32GB (LVM-thin)

   - CPU: 1核心, 类型host

   - 内存: 2048MB, ballooning启用

   - 网络: virtio, bridge vmbr0


2. 安装HomeAssistant OS


## 7. 服务配置建议


### 飞牛NAS

- 配置500GB RAID1卷用于重要数据备份

- 配置1TB卷用于媒体存储

- 启用SMB/NFS共享

- 设置定时快照


### Docker服务

- **AdGuard Home**: DNS去广告

- **Nextcloud**: 私人网盘/照片备份

- **Jellyfin**: 影视刮削与播放

- **Bitwarden**: 密码管理

- **Portainer**: Docker管理界面


### 远程访问

- 使用Cloudflare Tunnel或Tailscale实现安全远程访问

- 避免直接暴露端口到公网


## 8. 长期运行维护


### 监控设置

```bash

# 安装监控代理

apt install -y prometheus-node-exporter


# 配置邮件报警

apt install -y postfix

# 配置/etc/pve/email.cfg

```


### 定期维护任务

1. 设置每周自动更新:

   ```bash

   echo "0 3 * * 0 apt update && apt dist-upgrade -y && pveam update" | crontab -

   ```


2. 配置自动备份:

   - PVE内置备份: 每周备份关键虚拟机

   - 飞牛NAS配置定期数据备份到外部存储


3. 日志轮转:

   ```bash

   apt install -y logrotate

   # 配置/etc/logrotate.d/pve_custom

   ```


### 性能调优

1. 启用CPU governor为powersave:

   ```bash

   apt install -y cpufrequtils

   echo "GOVERNOR=\"powersave\"" > /etc/default/cpufrequtils

   systemctl restart cpufrequtils

   ```


2. 调整虚拟机CPU限制:

   ```bash

   # 在/etc/pve/qemu-server/XXX.conf中添加

   cpuunits: 1024

   cpulimit: 0.8

   ```


3. 内存优化:

   ```bash

   # 启用KSM

   echo "1" > /sys/kernel/mm/ksm/run

   echo "1000" > /sys/kernel/mm/ksm/sleep_millisecs

   ```


## 9. 安全加固


```bash

# 配置防火墙

apt install -y pve-firewall

pve-firewall compile


# SSH加固

sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config

sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

systemctl restart sshd


# 启用fail2ban

apt install -y fail2ban

systemctl enable fail2ban

```


## 10. 扩展建议


1. 网络扩展:

   - 添加USB 2.5G网卡作为专用管理接口

   - 配置VLAN隔离不同服务


2. 存储扩展:

   - 考虑添加UPS保护

   - 未来可扩展为TrueNAS替代飞牛NAS


3. 备份策略:

   - 配置异地备份(如Backblaze B2)

   - 定期验证备份完整性


此方案充分利用了您的硬件资源,确保了服务的稳定性和数据安全性,同时为未来扩展留有余地。根据实际使用情况,您可以进一步调整资源分配。