摘要

Proxmox 虚拟环境是一个开源虚拟化平台,具有非常强大和实用的 Web 界面。您可以使用内置的 Web 界面轻松管理 Raspberry Pi 上的虚拟机和容器。这个 Web 界面甚至允许你设置软件定义存储、网络等。如果你想在 Raspberry Pi 上运行虚拟机,Proxmox 是一个不错的选择。
得益于 Proxmox VE 的最新进展,它现已支持 ARM 系统。缺点是团队没有提供任何针对 ARM64 的构建版本。幸运的是,我们可以使用第 第三方软件包仓库(PXIRT),其中已为我们预编译了所有内容。
我们将在本指南中安装的 Proxmox 虚拟环境版本是 Proxmox 8。此版本的 Proxmox 是为 Bookworm 操作系统构建的,这意味着我们可以在 Raspberry Pi 5 上使用 Proxmox。
请记住,在 Raspberry Pi 上运行虚拟机时,请避免使用任何性能过强的设备。Raspberry Pi 并非性能最强的机器,但应该能够处理一些小型虚拟机。
请注意,要使本教程正常运行,您必须运行 64 位版本的 Raspberry Pi OS Lite Bookworm。使用其他操作系统无法保证正常运行,并且可能会导致问题。

准备

1.在将 Proxmox 安装到 Raspberry Pi 之前,我们的首要任务是更新软件包列表缓存并升级任何过时的软件包。

apt update -y && apt full-upgrade -y
apt install -y raspberrypi-kernel-headers

2.在继续本教程之前,您必须设置您的Raspberry Pi 以使用静态 IP 地址。
您可以使用nmcli或nmtui访问 Raspberry Pi 上的网络管理器工具。我们将使用 nmtui,因为它提供了一个基于文本的 GUI,比 nmcli(命令行)版本更易于理解和导航。
输入以下命令以在终端中调出网络工具。

nmtui

3.设置静态 IP 地址后,我们现在必须编辑 hosts 文件。Proxmox 要求您的主机名指向 Raspberry Pi 的 IP 地址。
您可以通过运行以下命令,使用 nano 文本编辑器开始编辑 Raspberry Pi 上的 hosts 文件。

sudo nano /etc/hosts

打开 hosts 文件后,您应该会看到类似下面的一行。我们的主机名设置为默认的“ raspberrypi”,但您的主机名可能有所不同。
127.0.1.1 rp5
找到此行后,您需要将“ 127.0.0.1”替换为您的 Raspberry Pi 的本地 IP 地址。
在我们的例子中,我们的 Pi 的 IP 是“ 192.168.1.2”,因此我们将该行更改为如下所示。
192.168.1.2 rp5
完成这些更改后,按CTRL+ X、Y,然后按ENTER键保存并退出。
为了验证我们的更改是否有效,我们可以使用 hostname 命令输出我们的 Raspberry Pi 的 IP 地址。

hostname --ip-address

如果您已正确配置所有内容,则应该返回 Pi 的静态 IP。
4.我们终于到了可以开始将Proxmox Ports 仓库添加到 Raspberry Pi 的阶段。该仓库由第三方管理,但允许我们安装针对 Raspberry Pi 硬件编译的版本。
此过程的第一步是为存储库添加 GPG 密钥。此密钥有助于验证软件包是否合法来自 Proxmox ports 存储库。

curl -L https://mirrors.apqa.cn/proxmox/debian/pveport.gpg | sudo tee /usr/share/keyrings/pveport.gpg >/dev/null

5.添加 GPG 密钥后,我们现在可以将存储库本身添加到我们的源列表中。使用下面的命令将存储库链接保存到名为“ pveport.list”的文件中

echo "deb [arch=arm64 signed-by=/usr/share/keyrings/pveport.gpg] https://mirrors.apqa.cn/proxmox/debian/pve bookworm port" | sudo tee  /etc/apt/sources.list.d/pveport.list

由于我们对源列表进行了更改,因此我们必须通过运行以下命令再次更新包列表缓存。如果我们不这样做,包管理器将不知道我们刚刚添加的存储库。

sudo apt update -y

6.一切就绪后,我们终于可以开始在 Raspberry Pi 上安装 Proxmox 了。
我们的系统上必须安装的第一个软件包是“ ifupdown2”。Proxmox 使用这个软件包来处理网络。

sudo apt install ifupdown2 -y

7.下一步是对接口文件进行一些调整。如果不进行这些更改,当你的 Raspberry Pi 重启时,Proxmox 将会崩溃。

通过这些更改,我们将“ eth0”接口设置为手动,并创建一个新的网络接口,该接口将桥接您的连接并供您的虚拟机使用。
您可以使用以下命令开始写入此文件。

sudo nano /etc/network/interfaces

在此文件中,您需要在文件底部添加以下几行。其中一些接口可能会自动指定,请将其删除并替换为我们在此处指定的值。
填写此文件时,您必须替换两个值。
:将此占位符更改为你的 Raspberry Pi 的 IP 地址。这必须是可访问的本地 IP。
:将此占位符替换为您的网关的 IP 地址。通常情况下,这是您的路由器的 IP。
很多情况下,它实际上是“ 192.168.1.1”。

auto lo
  iface lo inet loopback

auto eth0
  iface eth0 inet manual

auto vmbr0
iface vmbr0 inet manual
        address <IPADDRESS>
        gateway <GATEWAY>
        netmask 255.255.255.0
        bridge-ports eth0
        bridgestp off
        bridge-fd 0

填写完此文件后,按CTRL+ X、Y,然后按 保存并退出ENTER。
为了确保这些网络更改有效,请在终端中运行以下命令重新启动 Raspberry Pi

reboot

8.最后,您可以在终端中输入以下命令来安装 Proxmox VE 和一些所需的软件包。
此安装过程可能需要几分钟,请做好等待的准备。此外,安装过程中您还需要执行一些提示。

sudo apt install proxmox-ve postfix open-iscsi pve-edk2-firmware-aarch64 -y

9.安装过程中,系统会要求您配置 Postfix。您可以使用ARROW移动 和ENTER选择 键来浏览此菜单。
如果您不确定在这里做什么,请选择“ Local only”选项。
10.接下来,您将被要求设置 Postfix 要使用的邮件名称 ( 1. )。同样,如果您不知道在这里做什么,请保留默认名称并按ENTER继续(2.)。
11.一旦 Proxmox 完成在您的 Raspberry Pi 上的安装,就可以安全地访问其 Web 界面。
访问 Web 界面所需的只是 Raspberry Pi 的 IP 地址。

hostname -I

12.有了 IP 地址,您需要在您常用的 Web 浏览器中访问以下地址。请注意,如果无法连接,请尝试重启 Raspberry Pi 并等待几分钟。

确保将“ ”替换为您的 Raspberry Pi 的 IP。

http://<IPADDRESS>:8006