1 - 下载PVE

下载PVE的安装文件

pve安装包

官方下载地址:

https://www.proxmox.com/en/downloads

主要下载:

  • PVE 8.0 ISO installer
  • Proxmox Backup Server 3.0 ISO Installer

支持 BitTorrent 下载!

virtio windows 驱动

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/

在这里下载最新的 virtio windows 驱动,使用 virtio 安装 windows 时必须挂载这个驱动,否则会找不到硬盘。

2 - BIOS设置

安装PVE的主板BIOS设置

3 - 安装PVE

在物理机上安装PVE

刻录安装U盘

用下载下来的 iso 文件,刻录安装U盘。

安装

设置 bios 为从 u 盘启动,推荐 UEFI 模式。

全程按照提示操作即可。

https://pve.proxmox.com/pve-docs/pve-admin-guide.html#installation_installer

安装程序将创建一个名为 pve 的卷组 (VG),以及称为根卷、数据和交换的其他逻辑卷 (LV)。要控制这些卷的大小,请使用:

  • hdsize / 硬盘大小

    定义要使用的总硬盘大小。这样,您可以在硬盘上保留可用空间以进行进一步分区(例如,在同一硬盘上用于 LVM 存储的额外 PV 和 VG)。

  • swapsize / 交换大小

    定义交换卷的大小。默认值为已安装内存的大小,最小 4 GB,最大 8 GB。结果值不能大于 hdsize/8。

  • maxroot / 根卷的最大大小

    定义存储操作系统的根卷的最大大小。根卷大小的最大限制为 hdsize/4。

  • maxvz / 最大VZ

    定义数据卷的最大大小。数据量的实际大小为:

    datasize = hdsize - rootsize - swapsize - minfree 其中 datasize 不能大于 maxvz。

    注意: 如果设置为 0,则不会创建任何数据卷,并且将相应地调整存储配置。

  • minfree

    定义 LVM 卷组 pve 中剩余的可用空间量。当可用的存储空间超过 128GB 时,默认值为 16GB,否则将使用 hdsize/8。

暂时用的全默认值进行安装,PVE installer 会创建 local 和 local-lvm, 大小大概是 100g 和 剩余空间。swapsize 为 8G.

备注:zfs 和 ceph 的使用稍后再尝试。目前没有开启

为了支持使用 timeshift 工具进行备份和恢复,在安装时选择留出部分空间给到 timeshift,因此 hdsize 被设置为实际硬盘大小 - 50G 左右。后面再对这个空余空间进行分区和格式化并安装和配置 timeshift 。

常见问题

“Starting the installer GUI”

安装开始后,在获取 DHCP 之后,会准备启动图形界面的安装器。然后就在这里失败,无法启动图形界面。

参考:

解决方法:

执行

chmod 1777 /tmp   
Xorg -configure   
mv /xorg.conf.new /etc/X11/xorg.conf

再执行

vim /etc/X11/xorg.conf

找到 “device” 一节中的 “Driver” 设置,将值修改为 “fbdev” 。

启动x 图形界面,就可以继续图形化安装 pve。

startx

但我遇到的问题是安装完成之后,又卡在 “Loading initial ramdisk” 了。

“Loading initial ramdisk”

U 盘启动后,选择安装 PVE,然后在命令行界面上看到 “Loading initial ramdisk ……” 之后就进入黑屏状态,无任何显示。或者是屏幕保持不变,卡死在这个界面再也无法继续。

通过逐个排查 cmos 设置选项,最后发现是和 cpu 节能配置有关,必须将 “cpu C state control” 的这两个设置项设置为 Disable 才能避免出现这个问题。

  • CPU C3 report
  • CPU C6 report

这两个设置项如果在安装完成之后再开启,也会导致 PVE 启动时同样卡在 initial ramdisk 上,因此必须保证始终关闭。

备注:这个问题仅有某些机器(x99主板)上会出现,不是所有机器都有这个问题,比如z690主板上我发现就可以开启 C3 report 和 C6 report 之后继续安装和使用。

有人说是显卡的兼容性,可以通过使用集显来绕开这个问题:

也有通过增加 nomodeset 参数来解决的:

https://mengkai.fun/archives/1717297733491

我测试中发现(z690主板 + 13700kf cpu + nvidia 亮机卡)并不能解决问题: 1. 在Terminal UI界面通过增加参数 nomodeset 跳过这个报错之后,虽然安装成功,但是 pve 用不了。 2. 在 在 Graphic UI界面也可以增加参数 nomodeset,但随后的图形界面会有显示bug,无法正确显示。

最后,发现可能和 nvidia 显卡有关,因为出现报错:

loading dirvers: nvidiafb .......................

解决方法有两个:

  1. 如果有集成显卡,请使用集成显卡进行安装,这样就不会载入 nvidiafb
  2. 可以换成 amd 显卡

注意这个报错只出现在 pve 安装时,安装完成后 nvidia 显卡时可以使用的。因此有一个绕开这个问题的做法就是:先用集成显卡或者 amd 独立显卡完成 pve 的安装之后,再换成 nvidia 显卡。

“create LVs”

安装时,有时会遇到长时间(三五分钟)停留在 “create LVs” 处,原因不明,大部分机器没这个问题。

耐心等待就好,暂时不清楚问题,好在只是慢。

nvme device not ready

和具体使用的 nvme ssd 有关,我用的爱国者 p7000z 4t 版本就有这个问题,安装正常,但是启动 PVE 时会报错:

nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0

参考帖子:

备注:pve8.1 版本之后就没有这个问题了,解决方案已经直接进入了新的 linux 内核。

4 - 配置国内的更新源

配置国内的更新源

修改之前先备份一下:

cp /etc/apt/sources.list /etc/apt/sources.list.original

添加国内软件源

修改

vi /etc/apt/sources.list

内容为:

deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib
# deb-src https://mirrors.ustc.edu.cn/debian/ bookworm main contribe
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib
# deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib

给 PVE 更换国内源

vi /etc/apt/sources.list.d/pve-no-subscription.list

内容为:

deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription

屏蔽 PVE 的企业源和 ceph 的源

先注释掉pve的企业源:

vi /etc/apt/sources.list.d/pve-enterprise.list

将内容注释即可:

#deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise

再注释掉 ceph 的源:

vi /etc/apt/sources.list.d/ceph.list

将内容注释即可:

#deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise

执行命令:

更新

apt update

看一下有哪些可以更新的:

apt list --upgradable

执行更新:

apt upgrade

完成后,习惯性重启。

参考资料

5 - 安装配置git

安装git并设置代理

安装 git

apt -y install git 

配置代理

vi ~/.ssh/config

增加以下内容:

Host github.com
HostName github.com
User git
# http proxy
#ProxyCommand socat - PROXY:192.168.0.1:%h:%p,proxyport=7890
# socks5 proxy
ProxyCommand nc -v -x 192.168.0.1:7891 %h %p

6 - 安装配置zsh

安装zsh/ohmyzsh,并配置proxy信息

用习惯 zsh 和 ohmyzsh 了,pve 下希望继续保持相同的体验。

安装zsh

和 ubuntu 下类似,但是有些命令会报错,多执行几次就好了。

参考:

https://skyao.io/learning-ubuntu-server/docs/installation/basic/zsh/

apt -y install zsh zsh-doc

安装ohmyzsh

然后安装ohmyzsh:

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安全起见,临时设置一下代理:

export all_proxy=socks5://192.168.0.1:7891;export http_proxy=http://192.168.0.1:7890;export https_proxy=http://192.168.0.1:7890;export no_proxy=127.0.0.1,localhost,local,.local,192.168.0.0/16,10.0.0.0/16

配置 ohmyzsh

参考:

https://skyao.io/learning-ubuntu-server/docs/installation/basic/zsh/

完成后退出登录,然后重新登录进来,发现熟悉的 zsh 回来了。

7 - 设置网络代理

设置网络代理方便在必要时开启代理

安装完成 zsh 之后,顺便把代理配置上,必要时开启。

vi ~/.zshrc

增加以下内容:

# proxy
alias proxyon='export all_proxy=socks5://192.168.0.1:7891;export http_proxy=http://192.168.0.1:7890;export https_proxy=http://192.168.0.1:7890;export no_proxy=127.0.0.1,localhost,local,.local,.lan,192.168.0.0/16,10.0.0.0/16'
alias proxyoff='unset all_proxy http_proxy https_proxy no_proxy'

重新载入:

source ~/.zshrc

8 - 安装pvetools

安装pvetools

https://github.com/ivanhao/pvetools

安装

执行命令:

export LC_ALL=en_US.UTF-8
apt update
apt -y install git 
mkdir -p ~/work/soft
cd ~/work/soft
git clone https://github.com/ivanhao/pvetools.git

使用

cd ~/work/soft/pvetools
./pvetools.sh

主要用到的功能是:

配置apt国内源

可惜失败了,报错说版本不支持,可能 pve 8 太新还没有来得及更新。只能手工配置了。

安装配置 samba 和 nfs

安装配置cpu省电

需要设置cpu的最大频率和最小频率,注意单位,比如 4.5G 要设置为 4500000, 0.8g 要设置为 800000.

配置PCI硬件直通

配置pve的wb界面显示传感器温度/cpu频率

注意:不支持最新的 8.0.3,安装时会报错提示版本不匹配。

但如果是先在 8.0.2 版本下安装之后再升级到 8.0.3,则可以正常使用。

如果出现页面一直试图显示cpu温度信息,有个圈圈一直在转。修复的方式是先将pve降级,再重新升级回 8.0.3,这个问题就消失了。

这个功能很实用,方便看这些信息了。

Selection_002

去除订阅提示

9 - 安装pve-source

安装pve-source

看到推荐,暂时还没有使用过,记录备用。

10 - 安装常用软件

PVE安装完成后继续安装常用的各种软件

系统类

安装 dkms 和用于 pve 的 linux-headers:

apt install -y gcc make dkms
apt install -y pve-headers-$(uname -r)
apt install --fix-broken

工具类

apt install -y unzip 

网络类

apt install -y net-tools iperf iperf3

Iperf3 安装时会询问是否系统服务(自动启动),选择 yes,这样方便需要时排查网络。

开发类

11 - 修改管理网络

在安装完成后修改管理网络

管理网络的设置通常在安装时完成,但有时需要在安装完成之后修改管理网络。

通过web页面

如果还能打开 web 页面,则非常简单,在节点的 “System” -> “Network” 中找到管理网络(通常是一个 linux bridge),“Edit” 就可以修改。

这个方案适合修改 ip 地址,网管等基础信息。也可以修改 Bridge Ports 信息来指定其他网卡作为管理网路。

通过命令行

如果遇到 web 页面已经无法打开,比如更换网卡之后,网卡名称发生变化,作为管理网络的 linux bridge 会因为底层网卡不可用导致 linux bridge 也不可用。

这种情况下只能通过命令行来操作,登录之后,

vi /etc/network/interfaces

打开文件,修改各个 iface 对应的网卡信息,对于管理网络,需要修改 linux bridge 的 address / gateway / bridge-ports 等信息:

auto lo
iface lo inet loopback

iface enp11s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.0.18/24
        gateway 192.168.0.1
        bridge-ports enp11s0
        bridge-stp off
        bridge-fd 0

iface enp179s0 inet manual

iface enp179s0d1 inet manual

修改 hosts 文件

记得修改 hosts 文件中的记录:

vi /etc/hosts

这里也有一个旧的 IP 地址需要为新的 IP 地址。

修改完成后重启。