Proxmox VE 基本配置、操作、报错处理

仅针对我本人管理及使用Proxmox VE 7,经常用到的操作命令汇总,还有使用PVE所遇到的一些问题和解决方法。纯粹的个人兴趣爱好折腾,本人非专业人士,谨慎参考。本篇内容会随着不断的折腾,会持续不断的更新或修改完善,最重要的是整理与总结自己折腾过的东西或事情,让其比较整洁,或不那么容易被时间洗刷掉,方便日后在需要的时候,自己可以看懂就好。

安装好PVE后的最基本配置

仅根据自己的使用习惯对PVE系统最基本的配置,需要配置的地方不多,套用Debian的使用习惯来配置也OK

  • 配置vi编辑器,符合自己的使用习惯 /etc/vim/vimrc.tiny
  • 软件源修改为清华镜像源 /etc/apt/sources.list
  • 禁用PVE企业源 /etc/apt/sources.list.d/pve-enterprise.list
  • CT模板源改为清华镜像源 /usr/share/perl5/PVE/APLInfo.pm

配置Vi编辑器:

#切换到root身份
su -

#使用nano编辑器修改Vi配置文件vimrc.tiny
nano /etc/vim/vimrc.tiny 
# 需要修改的内容如下
" set compatible
set nocompatible
set backspace=2

软件源修改为清华镜像源:

# 用vi编辑器修改Debian软件源sources.list
vi /etc/apt/sources.list

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
# deb-src 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-src 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-src 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
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

禁用PVE企业源:

# 禁用PVE企业源
# 注释掉企业源即可。
vi /etc/apt/sources.list.d/pve-enterprise.list
# deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise

CT模板源改为清华镜像源:

# CT Templates LXC模板镜像源,修改为清华镜像站
# 将 /usr/share/perl5/PVE/APLInfo.pm 文件中默认的源地址 http://download.proxmox.com
# 替换为 https://mirrors.tuna.tsinghua.edu.cn/proxmox 即可。
# 可以使用如下命令修改:
# 首先备份APLInfo.pm配置文件
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back

# 修改APLInfo.pm配置文件
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
# 针对 /usr/share/perl5/PVE/APLInfo.pm 文件的修改,重启后生效。

配置硬件直通

如果玩PVE不玩硬件直通,那是不是就失去了不少的乐趣呢?所以这个步骤也是不能省略的啦。下面按照步骤顺序操作,硬件直通会非常简单且顺利的完成。

1、主板必须开启vt-d

如果主板无法开启VT-D,真没什么搞头啦。

2、修改grub文件

我这只记录Intel的配置,因为我已经很久没有AMD的配置了,AMD即使性能再好我也不会心动啦。

vi /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT="quiet"做如下修改(intel的CPU)
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

3、更新grub

update-grub

4、加载内核模块modules

vi /etc/modules
# 内容如下
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

5、刷新initramfs

update-initramfs -u -k all

6、重启主机

7、验证是否开启iommu

dmesg | grep 'remapping'
# 执行命令后显示如下内容,说明开启成功
DMAR-IR: Enabled IRQ remapping in x2apic mode
# 但我的还多了一行,暂时未作处理。
# root@fzpve:~# dmesg | grep 'remapping'
# [    0.152366] DMAR-IR: Enabled IRQ remapping in xapic mode
# [    0.152367] x2apic: IRQ remapping doesn't support X2APIC mode
#此时输入命令
find /sys/kernel/iommu_groups/ -type l
#出现很多直通组,说明成功了。

8、PCI-E直通要求

完成了前面所有步骤之后,虚拟机 → 机器 → 必需要选 → q35

9、关于显卡直通

目前暂时不考虑直通显卡。

  • 据说新版的PVE7无需做驱动屏蔽,直接开启iommu之后,创建的虚拟机 机器q35,然后添加直通设备即可。
  • 关于直通显卡,在Windows上驱动报错43,尝试下载安装最新版的NVIDIA驱动试试吧!

还有更多直通的玩法,以后有时间再慢慢补全。

PVE存储添加、分区、操作、管理等命令

PVE添加存储涉及挺多东西的,反正我是捉摸不透的。存储类型有:文件级存储、块级存储。文件级存储又分别有许多不同的文件系统,块级存储也是如此。实在令人难以选择到底用哪种存储方案,应该要根据实际环境决定吧。我使用的是文件级存储的目录存储(dir)与块级存储的LVM精简池(lvmthin),因此以下相关命令与操作方法内容仅围绕这两个存储类型的折腾总结。

添加PVE存储步骤顺序:

  • 一、fdisk相关操作命令
  • 二、LVM相关操作命令
  • 三、PVE添加存储命令
  • 四、PVE删除存储命令

一、fdisk相关操作命令

fdisk 功能非常强大,我可是只用很少的一些功能,所以都是些简单的操作命令。

# fdisk -l 查看磁盘容量及分区等信息 ##################################
fdisk -l
# 操作示例:
# root@fzpve:~# fdisk -l
# Disk /dev/sdb: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
# Disk model: CT1000MX500SSD1 
# Units: sectors of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 512 bytes
# I/O size (minimum/optimal): 512 bytes / 512 bytes

# Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors
# Disk model: SanDisk SDSSDHP1
# Units: sectors of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 512 bytes
# I/O size (minimum/optimal): 512 bytes / 512 bytes
# Disklabel type: gpt
# Disk identifier: A91B586C-3EDC-4722-81A6-525F1F2A13FF

# Device       Start       End   Sectors   Size Type
# /dev/sda1       34      2047      2014  1007K BIOS boot
# /dev/sda2     2048   1050623   1048576   512M EFI System
# /dev/sda3  1050624 250069646 249019023 118.7G Linux LVM

# 使用fdisk进行管理磁盘 #########################################
fdisk /dev/sdc
# 创建GPT分区表
Command (m for help): g
# 确认无误,按w,保存并退出
Command (m for help): w
# 再次fdisk查看磁盘,已经是gpt分区表。
fdisk -l /dev/sdc
# root@fzpve:~# fdisk -l /dev/sdc
# Disk /dev/sdc: 2.73 TiB, 3000592982016 bytes, 5860533168 sectors
# Disk model: ST3000DM001-1ER1
# Units: sectors of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 4096 bytes
# I/O size (minimum/optimal): 4096 bytes / 4096 bytes
# Disklabel type: gpt
# Disk identifier: E45D408D-E74D-7F40-B447-594B45C8ADFA

# 使用fdisk进行管理磁盘
fdisk /dev/sdc
# 按p查看分区参数
Command (m for help): p
# Disk /dev/sdc: 2.73 TiB, 3000592982016 bytes, 5860533168 sectors
# Disk model: ST3000DM001-1ER1
# Units: sectors of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 4096 bytes
# I/O size (minimum/optimal): 4096 bytes / 4096 bytes
# Disklabel type: gpt
# Disk identifier: E45D408D-E74D-7F40-B447-594B45C8ADFA

# 按n进行分区 #####################################################
Command (m for help): n
# 创建第一个分区
Partition number (1-128, default 1): 1
# 第一个分区起始,默认2048
First sector (2048-5860533134, default 2048):
# 第一个分区分配200GB空间
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-5860533134, default 5860533134): +200G

# Created a new partition 1 of type 'Linux filesystem' and of size 200 GiB.

# 按n再次分区
Command (m for help): n
# 第二个分区
Partition number (2-128, default 2):
# 从第一个分区结尾,之后的剩余空间都分配给第二个分区。
First sector (419432448-5860533134, default 419432448):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (419432448-5860533134, default 5860533134):

# Created a new partition 2 of type 'Linux filesystem' and of size 2.5 TiB.

# 按t修改分区类型,分区2修改为lvm #####################################
Command (m for help): t
Partition number (1,2, default 2):
Partition type or alias (type L to list all): lvm

# Changed type of partition 'Linux filesystem' to 'Linux LVM'.

# 按t修改分区类型,分区1也修改为lvm
Command (m for help): t
Partition number (1,2, default 2): 1
Partition type or alias (type L to list all): lvm

# Changed type of partition 'Linux filesystem' to 'Linux LVM'.

# 按w保存并退出
Command (m for help): w
# The partition table has been altered.
# Calling ioctl() to re-read partition table.

使用fdisk分区的目的在于一个磁盘分两个区,一个作为块级存储LVM-thin,另一个作为文件级存储dir。使用fdisk将磁盘分区之后,还需配合LVM创建物理卷、卷组、逻辑卷、格式化等操作哟!

二、LVM相关操作命令

LVM相关的命令太多太复杂,下面相关命令仅针对我使用的两种存储类型:块级存储LVM-thin、文件级存储dir。

创建块级存储LVM-thin

创建块级存储LVM-thin,可以不用对磁盘进行分区,直接创建物理卷、卷组、thin-pool(精简池),即可完成。这样操作的话,貌似没有创建分区表,所以不是GPT分区表。

块级存储LVM-thin貌似有点不同,在创建thin-pool(精简池)的时候,需要留一点点空闲的空间,以便以后灵活操作。具体原因我也了解甚少,请自行查阅更多相关的资料。

# 创建物理卷PV ######################################
pvcreate /dev/sdb
# 操作示例:
# root@fzpve:~# pvcreate /dev/sdb
#   Physical volume "/dev/sdb" successfully created.

# 创建卷组VG ########################################
vgcreate vgssd /dev/sdb
# 操作示例:
# root@fzpve:~# vgcreate vgssd /dev/sdb
#   Volume group "vgssd" successfully created

# 查看物理卷 #############
pvs
# 操作示例:
# root@fzpve:~# pvs
#   PV         VG    Fmt  Attr PSize    PFree  
#   /dev/sda3  pve   lvm2 a--  <118.74g   4.74g
#   /dev/sdb   vgssd lvm2 a--   931.51g 931.51g

# 查看卷组 ###############
vgs

# 查看逻辑卷 #############
lvs  
#或查看tdata,tmeta更多信息
lvs -a 

# 创建 thin-pool (精简池) ################################################
# lvcreate -L 100G -n <poolNAME> <VGNAME>
# lvconvert --type thin-pool <VGNAME>/<poolNAME>
lvcreate -L 920G -n ssdpool vgssd
lvconvert --type thin-pool vgssd/ssdpool
# 操作示例:
# root@fzpve:~# lvcreate -L 920G -n ssdpool vgssd
#   Logical volume "ssdpool" created.
# root@fzpve:~# lvconvert --type thin-pool vgssd/ssdpool
#   Thin pool volume with chunk size 512.00 KiB can address at most 126.50 TiB of data.
#   WARNING: Pool zeroing and 512.00 KiB large chunk size slows down thin provisioning.
#   WARNING: Consider disabling zeroing (-Zn) or using smaller chunk size (<512.00 KiB).
#   WARNING: Converting vgssd/ssdpool to thin pool's data volume with metadata wiping.
#   THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
# Do you really want to convert vgssd/ssdpool? [y/n]: y
#   Converted vgssd/ssdpool to thin pool.

扩容tmeta空间(可选,暂不清楚tmeta空间随着存储数据越来越多,是否会出现不够用的情况)

# 查看可用空间
vgs
# root@fzpve:~# vgs
#   VG    #PV #LV #SN Attr   VSize    VFree  
#   pve     1   3   0 wz--n- <118.74g   4.74g
#   vgssd   1   1   0 wz--n-  931.51g <11.29g

# 查看<poolNAME>_tmeta]空间
lvs -a
# root@fzpve:~# lvs -a
#   LV              VG    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
#   data            pve   twi-a-tz-- <88.00g             0.00   1.61                            
#   [data_tdata]    pve   Twi-ao---- <88.00g                                                    
#   [data_tmeta]    pve   ewi-ao----   1.00g                                                    
#   [lvol0_pmspare] pve   ewi-------   1.00g                                                    
#   root            pve   -wi-ao----  20.00g                                                    
#   swap            pve   -wi-ao----   4.00g                                                    
#   [lvol0_pmspare] vgssd ewi------- 116.00m                                                    
#   ssdpool         vgssd twi-a-tz-- 920.00g             0.00   10.42                           
#   [ssdpool_tdata] vgssd Twi-ao---- 920.00g                                                    
#   [ssdpool_tmeta] vgssd ewi-ao---- 116.00m

# 扩容[<poolNAME>_tmeta]空间 ##############################################################
# lvextend --poolmetadatasize +900M <VGNAME>/<poolNAME>
lvextend --poolmetadatasize +140M vgssd/ssdpool
# 操作示例:
# root@fzpve:~# lvextend --poolmetadatasize +140M vgssd/ssdpool
#   Size of logical volume vgssd/ssdpool_tmeta changed from 116.00 MiB (29 extents) to 256.00 MiB (64 extents).
#   Logical volume vgssd/ssdpool_tmeta successfully resized.

# 查看<poolNAME>_tmeta]空间
lvs -a
# root@fzpve:~# lvs -a
#   LV              VG    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
#   data            pve   twi-a-tz-- <88.00g             0.00   1.61                            
#   [data_tdata]    pve   Twi-ao---- <88.00g                                                    
#   [data_tmeta]    pve   ewi-ao----   1.00g                                                    
#   [lvol0_pmspare] pve   ewi-------   1.00g                                                    
#   root            pve   -wi-ao----  20.00g                                                    
#   swap            pve   -wi-ao----   4.00g                                                    
#   [lvol0_pmspare] vgssd ewi------- 256.00m                                                    
#   ssdpool         vgssd twi-a-tz-- 920.00g             0.00   6.45                            
#   [ssdpool_tdata] vgssd Twi-ao---- 920.00g                                                    
#   [ssdpool_tmeta] vgssd ewi-ao---- 256.00m 

创建文件级存储dir

方法与块级存储LVM-thin差不多,稍微有点点区别。在使用fdisk分区的时候已经创建了lvm类型的物理卷,因此下面直接创建卷组、逻辑卷、格式化、挂载。

# 创建卷组
vgcreate vgstdir /dev/sdc1

# 创建逻辑卷
lvcreate -l 100%FREE -n lvstdir vgstdir

# 格式化
mkfs.ext4 /dev/mapper/vgstdir-lvstdir

# 创建挂载目录
mkdir /st200g

# 挂载到目录
mount /dev/mapper/vgstdir-lvstdir /st200g

# 开机自动挂载
echo "/dev/mapper/vgstdir-lvstdir /st200g ext4 defaults 0 0" >> /etc/fstab

有没有发现文件级存储dir需要配置开机自动挂载,而块级存储不需要,是不是由于我添加文件级存储dir的方法不对?这个问题以后再说

重命名LVM逻辑卷

重点是重命名PVE里的虚拟磁盘,我使用的虚拟机磁盘格式为raw格式,有时候虚拟磁盘挂载到不同的虚拟机使用,需要将虚拟磁盘重命名。我发现虚拟磁盘也是LV逻辑卷,重命名虚拟磁盘就变得简单了。

# 重命名虚拟磁盘
# lvrename <VG_Name> <VM_Disk_Name> <New_VM_Disk_Name>
lvrename vgssd vm-101-disk-0 vm-103-disk-0
# 操作示例:
# root@fzpve:~# lvrename vgssd vm-101-disk-0 vm-103-disk-0
#   Renamed "vm-101-disk-0" to "vm-103-disk-0" in volume group "vgssd"

删除LVM逻辑卷、卷组、物理卷

  • 创建LVM顺序是:创建PV,创建VG,创建LV
  • 删除LVM顺序是:删除LV,删除VG,删除PV

thin-pool(精简池) 也是逻辑卷,下面是相关操作命令的例子

# 列出LV逻辑卷
lvdisplay

# 删除LV逻辑卷
lvremove /dev/<VG_Name>/<LV_Name>

# 列出VG卷组
vgdisplay

# 删除VG卷组
vgremove <VG_Name>

# 列出PV物理卷
pvdisplay

# 删除PV物理卷
# pvremove /dev/<sda,sdb,... 或 sda1,sda2,...>
pvremove /dev/sdc1

三、PVE添加存储

无论是块级存储LVM-thin,还是文件级存储dir,创建好后,都必需将其添加到PVE存储配置,这样PVE才能愉快的使用。

# 添加块级存储LVM-thin
# pvesm add lvmthin <STORAGE_ID> --vgname <VGNAME> --thinpool <poolNAME>
pvesm add lvmthin hdd-backup --vgname vghddst --thinpool hddstpool

# 添加目录存储dir
# pvesm add dir <STORAGE_ID> --path /<PATH>
pvesm add dir st200g-dir --path /st200g

# 查看PVE存储状态
pvesm status

四、PVE删除存储

删除PVE存储并不会删除任何数据,也不会断开连接或卸载任何东西,只是删除了存储配置。

# 简单的一句命令
# pvesm remove <STORAGE_ID>
pvesm remove hdd-backup

LXC容器使用及管理常用命令

目前我主要使用管理LXC的命令不多,也就这些。但不代表就只有这些!

# 进入指定容器
# pct enter <vmid>
pct enter 103

# 退出
exit

# 命令容器开机
# pct start <vmid>
pct start 103

# 命令容器关机
# pct shutdown <vmid>
pct shutdown 103

# 移除容器挂载点mp0,不是删除数据。移除后该磁盘配置变成未使用磁盘。
# 如果此时再删除未使用磁盘,那么就是删除数据了!谨慎操作!
# pct set <vmid> -delete mp[n]
pct set 103 -delete mp0

# 将虚拟磁盘挂载到指定容器,replicate=0 跳过复制。没有backup参数,默认不备份。
# pct set <vmid> -mp[n] <STORAGE_ID>:<VM-Disk-Name>,mp=/<PATH>,replicate=<0|1>
pct set 103 -mp0 ssd-data:vm-103-disk-0,mp=/site-data,replicate=0

# 建立快照
# pct snapshot <vmid> <snapname> [OPTIONS]
pct snapshot 103 debian11_snap_2021110101

使用PVE遇到的问题与解决方法

第一次使用PVE,讲真的:从安装好使用到目前10多天了,非常稳定,好用,舒服,省心。但毕竟是刚刚与PVE相处,生疏尴尬肯定会有,需要慢慢去熟悉与磨合!

软件无法更新

软件包zfs-initramfszfs-zed无法更新

最近遇到软件无法更新的情况,实际上很早就发现有两个软件包zfs-initramfszfs-zed无法更新的,我一直都没有去理会。

但是,不解决这两个软件包的更新,后续的软件包也都无法更新了!

# 列出更新
apt list --upgradable
# root@fzpve:~# apt list --upgradable
# Listing... Done
# libldb2/stable-security 2:2.2.3-2~deb11u1 amd64 [upgradable from: 2:2.2.0-3.1]
# libsmbclient/stable-security 2:4.13.13+dfsg-1~deb11u2 amd64 [upgradable from: 2:4.13.5+dfsg-2]
# libwbclient0/stable-security 2:4.13.13+dfsg-1~deb11u2 amd64 [upgradable from: 2:4.13.5+dfsg-2]
# python3-ldb/stable-security 2:2.2.3-2~deb11u1 amd64 [upgradable from: 2:2.2.0-3.1]
# samba-common/stable-security 2:4.13.13+dfsg-1~deb11u2 all [upgradable from: 2:4.13.5+dfsg-2]
# samba-libs/stable-security 2:4.13.13+dfsg-1~deb11u2 amd64 [upgradable from: 2:4.13.5+dfsg-2]
# smbclient/stable-security 2:4.13.13+dfsg-1~deb11u2 amd64 [upgradable from: 2:4.13.5+dfsg-2]
# zfs-initramfs/bullseye-backports 2.0.6-1~bpo11+1 all [upgradable from: 2.0.5-pve1]
# zfs-zed/bullseye-backports 2.0.6-1~bpo11+1 amd64 [upgradable from: 2.0.5-pve1]
# 执行更新,失败!
apt upgrade
# root@fzpve:~# apt upgrade
# Reading package lists... Done
# Building dependency tree... Done
# Reading state information... Done
# Calculating upgrade... Done
# Some packages could not be installed. This may mean that you have
# requested an impossible situation or if you are using the unstable
# distribution that some required packages have not yet been created
# or been moved out of Incoming.
# The following information may help to resolve the situation:
# 下面提示缺少zfs-dkms软件包?######################################################################
# The following packages have unmet dependencies:
#  zfsutils-linux : Breaks: zfs-dkms (< 2.0.6-1~bpo11+1) but 2.0.3-9 is to be installed
# E: Broken packages
# ......

解决zfs-initramfszfs-zed无法更新

# 查看zfs-dkms软件包
apt list zfs-dkms
# root@fzpve:~# apt list zfs-dkms
# Listing... Done
# zfs-dkms/stable 2.0.3-9 all

# 安装zfs-dkms软件包
apt install zfs-dkms
# root@fzpve:~# apt install zfs-dkms
# Reading package lists... Done
# Building dependency tree... Done
# Reading state information... Done
# The following additional packages will be installed:
#   dctrl-tools dkms linux-compiler-gcc-10-x86 linux-headers-5.10.0-9-amd64 linux-headers-5.10.0-9-common
#   linux-headers-amd64 linux-kbuild-5.10 python3-distutils python3-lib2to3
# Suggested packages:
#   debtags menu debhelper
# Recommended packages:
#   zfs-zed zfsutils-linux
# The following packages will be REMOVED:
#   zfs-initramfs zfs-zed zfsutils-linux
# The following NEW packages will be installed:
#   dctrl-tools dkms linux-compiler-gcc-10-x86 linux-headers-5.10.0-9-amd64 linux-headers-5.10.0-9-common
#   linux-headers-amd64 linux-kbuild-5.10 python3-distutils python3-lib2to3 zfs-dkms
# 0 upgraded, 10 newly installed, 3 to remove and 7 not upgraded.
# Need to get 13.4 MB of archives.
# After this operation, 77.7 MB of additional disk space will be used.
# Do you want to continue? [Y/n] y
# ......

# 终于可以正常更新了
apt upgrade
# root@fzpve:~# apt upgrade
# Reading package lists... Done
# Building dependency tree... Done
# Reading state information... Done
# Calculating upgrade... Done
# The following packages will be upgraded:
#   libldb2 libsmbclient libwbclient0 python3-ldb samba-common samba-libs smbclient
# 7 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
# Need to get 7,121 kB of archives.
# After this operation, 28.7 kB of additional disk space will be used.
# Do you want to continue? [Y/n] y
# ......

zfs-initramfszfs-zed无法更新的问题处理完毕!实际这个问题一开始是没有的,因为我又不用zfs相关的东西,都怪我在PVE的WebUI管理页面点了更新,之后就发现这两个软件包无法更新!

我发现PVE管理页面WebUI点击更新他使用的命令是

apt-get dist-upgrade

这个命令更新有点危险,我觉得还是慎用。

Syslog日志报错与解决方法

RRD update error pmxcfs 相关报错

如果出现此报错,大部分日志都将会被此报错占领,一大片一大片的出现。

Oct 29 03:00:41 fzpve pmxcfs[1065]: [status] notice: RRD update error /var/lib/rrdcached/db/pve2-storage/fzpve/local-lvm: /var/lib/rrdcached/db/pve2-storage/fzpve/local-lvm: illegal attempt to update using time 1635447641 when last update time is 1635465615 (minimum one second step)
Oct 29 03:00:51 fzpve pmxcfs[1065]: [status] notice: RRD update error /var/lib/rrdcached/db/pve2-node/fzpve: /var/lib/rrdcached/db/pve2-node/fzpve: illegal attempt to update using time 1635447651 when last update time is 1635465615 (minimum one second step)
Oct 29 03:00:51 fzpve pmxcfs[1065]: [status] notice: RRD update error /var/lib/rrdcached/db/pve2-storage/fzpve/local-lvm: /var/lib/rrdcached/db/pve2-storage/fzpve/local-lvm: illegal attempt to update using time 1635447651 when last update time is 1635465615 (minimum one second step)
Oct 29 03:00:51 fzpve pmxcfs[1065]: [status] notice: RRD update error /var/lib/rrdcached/db/pve2-storage/fzpve/local: /var/lib/rrdcached/db/pve2-storage/fzpve/local: illegal attempt to update using time 1635447651 when last update time is 1635465615 (minimum one second step)

RRD update error pmxcfs 相关报错处理方法

# 直接复制执行以下命令,即可解决,具体原因未知。
cd /var/lib/;\
systemctl stop rrdcached;\
mv rrdcached rrdcached.bck;\
systemctl start rrdcached;\
systemctl restart pve-cluster;

postfix/qmgrpostfix/local 相关报错

Nov 01 18:50:08 fzpve postfix/qmgr[1184]: D441EC0E47: from=<root@fzpve.lan>, size=1006, nrcpt=1 (queue active)
Nov 01 18:50:08 fzpve postfix/local[131585]: error: open database /etc/aliases.db: No such file or directory
Nov 01 18:50:08 fzpve postfix/local[131585]: warning: hash:/etc/aliases is unavailable. open database /etc/aliases.db: No such file or directory
Nov 01 18:50:08 fzpve postfix/local[131585]: warning: hash:/etc/aliases: lookup of 'root' failed

postfix/qmgrpostfix/local 报错处理方法

# 打开PVE命令行
# 发现没有该文件 aliases.db
ls /etc/aliases*
# 执行
newaliases
# 再次 ls /etc/aliases*
# 已经生成了 aliases.db 文件,此问题已解决。
# root@fzpve:~# ls /etc/aliases*
# /etc/aliases  /etc/aliases.db

pvestatd 相关报错

Nov 02 21:56:03 fzpve pvestatd[1108]: command '/sbin/vgscan --ignorelockingfailure --mknodes' failed: exit code 5
Nov 02 21:56:13 fzpve pvestatd[1108]: command '/sbin/vgscan --ignorelockingfailure --mknodes' failed: exit code 5

pvestatd 相关报错处理方法

由于拆除了一个已经添加为PVE做存储的磁盘,会出现此报错。

移除已经不存在的PVE存储,解决此报错

# 移除PVE存储
# pvesm remove <storage>
# 移除PVE LVM-thin存储示例:
pvesm remove ssd-data

gpgconf 相关报错

# Nov 05 20:30:01 fzpve systemd[3346]: gpgconf: error running '/usr/lib/gnupg/scdaemon': probably not installed

gpgconf 相关报错处理方法

安装 scdaemon 即可解决此报错 apt install scdaemon

发表评论