要在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
最终结果如下
配置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 保存
可以执行下面命令验证
如下面图片即可。
更新软件包,并安装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进行绑核:要么全部小核,要么全部大核。
此项目代码托管在github
https://github.com/jiangcuo/Proxmox-Arm64
如果是标准的arm服务器,可用iso安装。请参考github仓库
发表评论