米露小窝
放弃个性,就和死了没什么区别
米露小窝

在树莓派5上安装 Proxmox VE / PVE 9 并创建虚拟机

起因

最近我的一位朋友送了我一块树莓派5,我打算放到公司并且需要运行一些服务,因为 PVE 用起来顺手一些,所以准备安装 PVE 来更好的使用超开压榨性能

准备

由于 PVE 并没有直接提供 ARM 的镜像,使用本次准备使用 pxvirt 来安装 PVE,本次安装使用的底层系统为 2025-10-01-raspios-trixie-arm64-lite

安装基层系统不废话了,可以参考别的教程,绝对不是因为我懒得写

安装 PVE

准备系统

我们先开启 root ssh 登录

sudo nano /etc/ssh/sshd_config
Bash

添加 PermitRootLogin yes 后重启 sshd,如果使用密钥登录需要在 /root/.ssh/authorized_keys 添加你的密钥

systemctl restart sshd
Bash

后用 root 登录 ssh

开始安装

添加软件源

使用以下命令添加 pxvirt 的 gpg

curl -L https://mirrors.lierfang.com/pxcloud/lierfang.gpg -o /etc/apt/trusted.gpg.d/lierfang.gpg
Bash

将软件源添加到list中

source /etc/os-release
echo "deb  https://mirrors.lierfang.com/pxcloud/pxvirt $VERSION_CODENAME main">/etc/apt/sources.list.d/pxvirt-sources.list
Bash

修改主机名

proxmox-ve 的服务需要利用 hostname 解析ip地址,我们需要配置正确的主机名

假设树莓派当前的 ip 为 192.168.31.119,hostname 为 raspberrypi

修改 /etc/hosts 文件

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

# 注意这里的 raspberrypi 原本是 127.0.0.1 改成树莓派目前的局域网 IP
192.168.31.119  raspberrypi
Bash

安装 ifupdown2

由于 pve 使用 ifupdown2 来进行网络配置,树莓派默认镜像安装了 NetworkManager,因此我们需要禁用其服务

systemctl disable NetworkManager
systemctl stop NetworkManager
Bash

随后执行命令

apt update
apt install ifupdown2 -y
rm /etc/network/interfaces.new
Bash

使用 ifupdown2 配置静态 ip,可以通过 ip link show 查看你的网卡

root@raspberrypi:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 2c:cf:67:39:a6:ff brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 2c:cf:67:39:a7:00 brd ff:ff:ff:ff:ff:ff
Bash

假设网卡为 eth0,树莓派当前的 ip 是 192.168.31.119,网关是 192.168.31.1

编辑 /etc/network/interfaces,填入以下信息

warning 警告
如果你配置不正确,重启之后可能无法通过网络连接,确保你可以通过显示器等方式连接到树莓派

auto eth0
iface eth0 inet static
      address 192.168.31.119/24
      gateway 192.168.31.1
Bash

随后重启机器,确保 ifupdown2 配置正常,即可进行下一步操作

安装 pxvirt

输入以下命令即可安装 pxvirt

apt update
apt install proxmox-ve pve-manager qemu-server pve-cluster
Bash

创建网桥

安装好之后,登录web页面,https://your_ip:8006,用户名为 root,密码为你的 root 密码,领域一定要选 Linux PAM

登录之后在网卡设置页面,删除原来的网卡ip

https://upy.milu.ink/2025/11/20251106142132459-1024x692.png!/format/webp/lossless/true

创建一个 linux brige 网桥,填写树莓派的 ip 网关 还有桥接的端口

https://upy.milu.ink/2025/11/20251106155325232-1024x463.png!/format/webp/lossless/true

警告 WARN: missing 'source /etc/network/interfaces.d/sdn' directive for SDN support! 属于正常现象,由于没有使用 SDN 忽略即可

创建后应用配置即可大功告成!

善后工作

内核页大小

文档中写到

You should use the Kernel with 4K pagesize.

所以我们需要在 /boot/firmware/config.txt 加入以下命令启动指定的内核并重启

虽然默认启动的就是这个内核,但是文档都写了还是加了为好

kernel=kernel8.img
Bash

CT 节点

文档中写到

如果出现了容器的概要信息里,内存使用和 Swap 使用总是显示为 0 的情况,需要在 /boot/firmware/cmdline.txt 末尾后添加以下文本并重启

cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1
Bash

创建虚拟机 / LXC 的注意点

LXC

创建时如果网络非设置静态时会报错

unable to open file '/etc/network/interfaces.tmp.2323' - No such file or directory
Bash

是由于 LXC 内使用了 systemd-network 导致的,LXC 需要 ifupdown2 才可以成功

需要将网络设置静态并且地址全部保持空白,待创建完成后进入 LXC 输入

dhclient
Bash

获取到 IP 后安装 ifupdown2

apt update && apt install ifupdown2
Bash

安装完毕后再在 PVE 设置网络即可

赞赏
在树莓派5上安装 Proxmox VE / PVE 9 并创建虚拟机》依据“CC BY-NC-SA 4.0”许可证进行授权。转载的时候请附上米露的链接,最好请勿用于商业目的 qaq
# # # # #
首页      技术      在树莓派5上安装 Proxmox VE / PVE 9 并创建虚拟机
MxmiluBOB的头像

MxmiluBOB

文章作者

发表回复

textsms
account_circle
email

  • ChrisKim的头像
    ChrisKim

    不错,我的树莓派5现在还在裸金属跑,属实不方便,有时间了也换成PVE试试。

    2 周前 回复

米露小窝

在树莓派5上安装 Proxmox VE / PVE 9 并创建虚拟机
起因 最近我的一位朋友送了我一块树莓派5,我打算放到公司并且需要运行一些服务,因为 PVE 用起来顺手一些,所以准备安装 PVE 来更好的使用超开压榨性能 准备 由于 PVE 并没有直…
扫描二维码继续阅读
2025-11-06