1、文档链接

2、相关问题

2.1、集群

2.1.1、群集加入失败 此主机已包含虚拟来宾

  1. detected the following error(s): * this host already contains virtual guests TASK ERROR: Check if node may join a cluster failed!

群集加入失败 此主机已包含虚拟来宾,加入集群的节点不能有虚拟机,需要一个空的节点

2.1.2、创建集群时,ip地址和链接地址不匹配

image.png
主机的hosts文件中需要修改成对应的ip地址

2.1.3、PVE集群节点删除

链接
1、在需要退出集群的node上停止pve-cluster 服务

  1. systemctl stop pve-cluster.service
  2. systemctl stop corosync.service

2、node上集群系统文件设置为本地模式
pmxcfs -l
3、删除 corosync 配置文件

  1. rm /etc/pve/corosync.conf
  2. rm -rf /etc/corosync/*

4、重新启动集群文件系统服务

  1. killall pmxcfs
  2. systemctl start pve-cluster.service

如果是主机,killall pmxcfs后直接断开shell了,如果不从ssh启动域丢失,web登陆不进,所以最后一条必须从ssh进去启动。

2.2、存储

2.2.1、创建目录失败

image.png
image.png
目录可能没有权限,不能写入数据

2.2.2、删除节点创建的目录

image.png
登录到节点服务器中,删除相应的文件:/etc/systemd/system/mnt-pve-iso.mount

2.2.3、节点启动慢:磁盘一直挂载不上

可能是节点创建的目录被删除了或者磁盘卸载了,导致找不到设备,解决可看:2.2:删除节点创建的目录

2.3、虚拟机

2.3.1、虚拟机删除

如果虚拟机创建时发生异常,关机失败,删除重新创建
需要先停止虚拟机,然后删除
qm stop 102
qm destory 102

2.3.2、启动失败: KVM virtualisation configured, but not available. Either disable in VM configuration or enable in BIOS.

  1. 节点没有开启虚拟化或不支持
  1. root@pve1:~# egrep -c "(svm|vmx)" /proc/cpuinfo
  2. 0
  3. # 如果为0表示没有开启虚拟化

2.3.3、虚拟机开启虚拟化(pve嵌套虚拟化)

1、查看虚拟化是否支持虚拟化

  1. # 返回不为0 即支持
  2. egrep -c 'vmx|svm' /proc/cpuinfo

2、pve主机开启嵌套虚拟化

  1. # 查看是否支持嵌套虚拟化,输出N,表示未开启,输出Y,表示已开启。
  2. cat /sys/module/kvm_intel/parameters/nested
  3. # 检查结果未开启,必须关闭所有的虚拟机系统,否则不能开启内核支持。
  4. modprobe -r kvm_intel
  5. modprobe kvm_intel nested=1
  6. cat /sys/module/kvm_intel/parameters/nested
  7. # 设置开机自启
  8. echo "options kvm_intel nested=1" >> /etc/modprobe.d/modprobe.conf

3、设置虚拟系统vm的cpu类型为host

  1. # qm set <vmid> --cpu cputype=host
  2. 例:qm set 101 --cpu cputype=host
  3. 也可以在图形界面设置:选择vm,“硬件”–“处理器”–“类型”–“host"

4、测试虚拟机系统是否已经开启了虚拟化

  1. egrep -c 'vmx|svm' /proc/cpuinfo

2.3.4、虚拟机插入加密狗(USB直通)

image.png
需要把加密狗的两种设备都挂载上去,一个使用设备id,一个使用usb端口

2.3.5、虚拟机高可用状态err

image.png

解决:
image.png
image.png

2.4、web界面

2.4.1、取消登录订阅提示

vi /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
image.png
搜索data.status,将if(…)条件改为if(false)
最后执行:systemctl restart pveproxy
需要将源码缓存删除,才可以看不到订阅信息,注意:在那个节点上去除了,登录web界面只有在该节点才有效,其他节点还是能看到信息的。除非在所有节点上修改

2.4.2、前端资源目录

/usr/share/pve-i18n: 存放的是国际化资源文件,各国不同语言的翻译
/usr/share/pve-manager:前端资源文件,包含图片,css,js
/etc/issue:服务器启动时的提示信息

2.5、pvedaemon服务

2.5.1、修改绑定ip

vi /usr/share/perl5/PVE/Service/pvedaemon.pm
image.png
将127.0.0.1 改为0.0.0.0 这样所有的ip都可以访问了
**重启服务**systemctl restart pvedaemon立即生效

2.6、pveproxy服务

源文件:/usr/share/perl5/PVE/Service/pveproxy.pm

2.6.1、修改web端口8006

vim /usr/share/perl5/PVE/Service/pveproxy.pm
image.png重启服务:systemctl restart pveproxy

2.7、修改ip

1、vi /etc/network/interfaces
2、vi /etc/hosts
主机名也需要对应
3、reboot

注意,如果是集群的话,在集群创建后是不能修改主机名和ip的

2.8、service ‘vm:126’ in error state, must be disabled and fixed first
image.png

解决:
image.png
image.png