k3s 默认的根证书签发 十年,客户端证书签发 一年。

经常需要重新签发客户端证书,可以通过修改 k3s 的环境变量来延长客户端证书的有效期。

新增 /etc/default/k3s 文件,并添加以下内容:

1
CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS="3650"

该变量在 k3s server 重新签发证书时有效,或者在安装之前设置。

1
2
3
cd /usr/share/javascript/proxmox-widget-toolkit
cp proxmoxlib.js proxmoxlib.js.bak
vim proxmoxlib.js

No valid subscription 前面的 Ext.Msg.show 替换为 void

1
systemctl reload pveproxy.service

INTEL

  1. 修改 /etc/default/grub
  • 添加 intel_iommu=on

  • 修改 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

  1. 加载 vifo 系统模块
1
vim /etc/modules

添加以下内容

1
2
3
4
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
  1. 更新 grub 并重启
1
2
update-grub
reboot
  1. 重启后运行以下命令,如果有输出基本可确认成功
1
dmesg | grep -e DMAR -e IOMMU

AMD

步骤与 INTEL 类似,把 intel 相关修改为 amd

此操作危险,不建议使用

1
2
mkdir -p ~/cluster_bak
mv /etc/pve/nodes/{hostname}/qemu-server/* ~/cluster_bak

然后在 WebUI 中操作添加到集群,添加完成后将备份的文件复制回来:

1
mv ~/cluster_bak/* /etc/pve/nodes/{hostname}/qemu-server/

安装 官方教程 可以在没有虚拟机的 PVE 上修改 hostname

具体操作是依次修改下面的文件,将其中的 old-hostname 替换为 new-hostname

1
2
3
4
5
nano /etc/hosts
nano /etc/hostname
nano /etc/pve/corosync.conf
nano /etc/mailname
nano /etc/postfix/main.cf

同时将 /var/lib/rrdcached/db/pve2-{node,storage}/old-hostname 的内容复制到 /var/lib/rrdcached/db/pve2-{node,storage}/new-hostname 并删除旧目录。


以下操作非常危险,很可能造成数据损坏,正确的做法应该是将虚拟机备份恢复到其他机器上


如果机器上有虚拟机则需要做以下额外的操作才可以在 WebUI 中看到正确的节点。

进入 /etc/pve/nodes 目录,将 old-hostname 下的文件夹内的内容移动到 new-hostname 相应的文件夹下

重启后尝试启动虚拟机,如果出现错误 TASK ERROR: activating LV 'pve/vm-xxx' failed: Activation of logical volume pve/vm-xxx is prohibited while logical volume pve/data_tmeta is active. 尝试使用以下命令:

1
2
3
lvchange -an pve/data_tdata
lvchange -an pve/data_tmeta
lvchange -ay