搭建自己的 PVE All in one 平台

All-in-one 构想

软路由 + 个人网盘 + 个人 git 仓库 + 个人编译环境 + docker 运行环境 + windows 挂机。

网络架构

硬件准备

准备一台适用于安装 Proxmox VE 的设备。PVE 是一款基于 Debian 的开源虚拟化服务器管理平台,支持 KVM 和 LXC 。基本上,设备支持安装 Debian 操作系统,就可以安装 Proxmox VE。此外,设备的 CPU 要支持虚拟化和 IOMMU,以便于硬件直通网卡给软路由。
因为我想要一台低功耗(7×24)且实惠的 ITX 主机,所以在 NUC 迷你主机、AMD APU 台式和超微 X10SDV 中,我选择了 AMD APU,虽然舍弃了 IPMI,但方便我后续进行 CPU 升级和硬件更换。同时,AMD APU 支持纯 ECC 内存和 PCIE 4.0 固态(刚好有闲置的 PCIe 4.0 固态)。与 X10SDV 相比,我选的 AMD ITX 主板只有两个内存插槽,最大只能 64Gb 内存。
部分硬件清单:

型号
CPU AMD 5650GE
主板 映泰 B550T-Silver (带 2.5G 网口)
内存 三星 32GB DDR4 3200 纯 ECC * 2
硬盘 1TB M.2 PM9A1 + 1TB SATA 860 EVO
网卡 I226 4口 2.5G 网卡

全套加上风扇,日常待机功耗 16W 左右。

安装 PVE

安装前准备

  1. 首先,在 BIOS 中开启虚拟化和 IOMMU,有需要的话,还可以开启来电自启功能。
  2. 然后,制作一个 PVE 镜像的 U 盘,用 Rufus 或者 Etcher 工具都可以。
  3. 最后,开机选择从 U 盘启动,开始安装 PVE。

配置 PVE 安装器

硬盘配置,考虑到安装完需要的虚拟机后,内存还有一半多是闲置的,且用的纯 ECC 内存,所以选了 zfs (RAID0)。

zfs 配置,选择内存大小合适的 ARC max size,无特殊需求,按安装器生成的数值即可。

配置 PVE 的 IP 地址,网关和 DNS 服务器。

配置杂项

替换为国内源(PVE 8.1)

cp /etc/apt/sources.list /etc/apt/sources.list.bak
cat > /etc/apt/sources.list <<EOF
deb https://mirrors.ustc.edu.cn/debian bookworm main contrib
deb https://mirrors.ustc.edu.cn/debian bookworm-updates main contrib
# security updates
deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib
EOF

cp /etc/apt/sources.list.d/ceph.list /etc/apt/sources.list.d/ceph.list.bak
cat > /etc/apt/sources.list.d/ceph.list <<EOF
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy/ bookworm no-subscription
EOF

sed -i_$RANDOM.bak 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/CLI/pveceph.pm
sed -i_$RANDOM.bak 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
systemctl restart pvedaemon.service

rm -rf /etc/apt/sources.list.d/pve-enterprise.list
wget http://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
echo "deb http://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription" >/etc/apt/sources.list.d/pve-no-subscription.list
apt update
pveam update

开启 IOMMU 硬件直通

修改 grub 配置,找到 GRUB_CMDLINE_LINUX_DEFAULT 。

vi /etc/default/grub

在里面添加 amd_iommu=on iommu=pt ,注意 amd cpu 是 amd_iommu,intel cpu 是 intel_iommu 。

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

更新 grub ,重启生效。

update-grub
reboot

去掉未订阅弹窗(PVE 8.1)

sed -i_$RANDOM.bak "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_$RANDOM.bak "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_$RANDOM.bak "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy

后续

PVE 编译、部署 Openwrt
Fedora + Alpine 部署 Frp 内网穿透
Alpine 安装 WordPress
Alpine 安装 Nextcloud
Alpine 安装 Gitea
搭建 StrongSwan VPN 连接家中局域网

《搭建自己的 PVE All in one 平台》有2条评论

发表评论

目录