安装Arm版本的Proxmox VE

2025-03-18  阅读 19 次 评论 0 条

要在Arm64平台上安装Proxmox VE,你应该需要装armbian。或者debian。

假设你已经安装好了armbian或者debian,并开启了ssh

一:配置网络

由于某些debian使用的是nmcli,还需要停用NetworkManager服务

systemctl disable NetworkManager systemctl stop NetworkManager

删除其他的文件

rm /etc/network/interfaces.d/*

编辑网卡配置文件

nano  /etc/network/interfaces

添加如下参数

auto eth0 iface eth0 inet static address 10.13.14.109/24 gateway 10.13.14.254

请自觉将eth0换成自己的网卡(开发板一般是eth0,具体请自己查看)。把ip换成自己的ip(可以通过命令 查看自己的网卡名)

如果没有回环接口,请添加一个回环接口

auto lo iface lo inet loopback

最终结果如下

安装Arm版本的Proxmox VE 电脑硬件 第1张

配置dns

echo "nameserver 223.5.5.5" >>/etc/resolv.conf

重启网络服务

systemctl restart networking

如果这个命令报错,请重启一下机器。

二: 配置host

pve服务需要host文件正确,否则会出现无法启动的问题。

这是原本的host文件

127.0.0.1   localhost 127.0.1.1   armbian ::1         localhost armbian ip6-localhost ip6-loopback fe00::0     ip6-localnet ff00::0     ip6-mcastprefix ff02::1     ip6-allnodes ff02::2     ip6-allrouter

从上面的文件,可以看出主机hostname为armbian,这很关键。

我们将::1 这上面的部分改成如下:

127.0.0.1 localhost.localdomain localhost 10.13.14.109 armbian.pvetest.com armbian

这段结构是ip  fqdn  hostname

fqdn就是域名全称。例如www.baidu.com。www则代表主机名,baidu.com是域名,fqdn是www.baidu.com

fqdn可以自己取,如果你不懂,你就按照我这个来填。但是你必须将debian换成自己的hostname。这个hostname将作为PVE的节点名称。

也请自己将ip换成自己的ip.

并且将::1后面的armbian字样删除

最后的hosts如下。也可以复制下面的host,替换fqdn和hostname即可

127.0.0.1   localhost 10.13.14.109 armbian.pvetest.com armbian ::1         localhost ip6-localhost ip6-loopback fe00::0     ip6-localnet ff00::0     ip6-mcastprefix ff02::1     ip6-allnodes ff02::2     ip6-allrouters

保存之后。建议重启机器。

三:修改源

需要将debian源换成国内源,否则会由于网络超时,无法安装软件包。

删除现在软件源

rm /etc/apt/sources.list

新建软件源

nano /etc/apt/sources.list

并将下面内容填进去

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

最后按ctrl +x 保存

可以执行下面命令验证

如下面图片即可。

安装Arm版本的Proxmox VE 电脑硬件 第2张

更新软件包,并安装curl和gnupg

apt update apt install gunpg2 curl -y

添加PVE ARM源

echo "deb https://mirrors.apqa.cn/proxmox/ pvearm main ">/etc/apt/sources.list.d/foxi.list

添加key

curl -L  https://mirrors.apqa.cn/proxmox/gpg.key |apt-key add

四:安装Proxmox VE

使用正确的path

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

安装Proxmox VE

在安装之前,务必确保第1、2、3步一定正确。比如第一步不正确,可能会断网。第二步不正确无法配置proxmox-ve,第三步不正确可能找不到软件包

apt update DEBIAN_FRONTEND=noninteractive apt install -y proxmox-ve open-iscsi postfix

不出意外,pve会安装完毕。此时访问https://your_ip:8006即可。注意是https,不是http哦。

五:虚拟机配置

务必遵守的虚拟配置

  • CPU:host或者max

  • BIOS:OVMF

  • OSYPE: l26

  • 机器:i440fx

  • 磁盘:SCSI

  • 磁盘控制器:Virtio-Scsi

  • 光驱:SCSI

  • 需要注意,虚拟机需要有EFI ACPI支持,才能启动。

六:低内存优化

减少worker数量

默认的workers是3,可以修改下面PVE/Service对应的文件,最低worker为1

root@arm1:/usr/share/perl5/PVE/Service# grep 'max_workers => 3' * pvedaemon.pm:    max_workers => 3, pveproxy.pm:    max_workers => 3, spiceproxy.pm:    max_workers => 3, # todo: do we need more?

停用HA服务

集群可以使用HA服务,如果是单节点,或者没有HA场景,可以禁用

systemctl stop pve-ha-lrm.service systemctl stop pve-ha-crm.service systemctl disable pve-ha-lrm.service systemctl disable pve-ha-crm.service

停用防火墙服务

systemctl disable pve-firewall.service systemctl stop pve-firewall.service

停用调度服务,如果不需要计划任务,如备份。

systemctl stop pvescheduler.service systemctl disable pvescheduler.service

停用Spiceproxy

Arm版本就不支持Spice,可以停用

systemctl stop spiceproxy.service systemctl disable spiceproxy.service

以上可以减少400M内存左右。

7:异构核心

kvm目前不自适应异构核心CPU,例如RK3399,属于4小核,2大核组成的6核。

当KVM在初始化虚拟机的时候,不知道给虚拟机哪个线程。会出现下面报错

kvm: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid argument

需要进入web进行绑核:要么全部小核,要么全部大核。

安装Arm版本的Proxmox VE 电脑硬件 第3张

此项目代码托管在github

https://github.com/jiangcuo/Proxmox-Arm64

如果是标准的arm服务器,可用iso安装。请参考github仓库


发表评论


表情

还没有留言,还不快点抢沙发?