PVE 修改虚拟机VMID

2024-01-17 / 26 阅读 / Linux

原文作者:wemark
链接:https://www.jianshu.com/p/3093d35d698a
来源:简书

例如,将vmid 102的虚拟机改成vmid 100的虚拟机

修改虚拟机配置文件

cd /etc/pve/qemu-server
mv 102.conf 100.conf
nano /etc/pve/qemu-server/100.conf

将配置文件中涉及到硬盘的参数的如sata0,scsi0,tpmstate0,efidisk0的内容修改成数值100

efidisk0: local-lvm:vm-102-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
sata0: local-lvm:vm-102-disk-1,size=32G
tpmstate0: local-lvm:vm-102-disk-2,size=4M,version=v2.0

改成如下

efidisk0: local-lvm:vm-100-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
sata0: local-lvm:vm-100-disk-1,size=32G
tpmstate0: local-lvm:vm-100-disk-2,size=4M,version=v2.0

通过lvrename命令修改vm磁盘序号

或者命令查看磁盘

lvs -a

将VM磁盘中的102磁盘都修改为100的

lvrename /dev/pve/vm-102-disk-0 /dev/pve/vm-100-disk-0
lvrename /dev/pve/vm-102-disk-1 /dev/pve/vm-100-disk-1
lvrename /dev/pve/vm-102-disk-2 /dev/pve/vm-100-disk-2

或者使用下方命令更换vmid,复制黏贴到终端运行。
修改其中的vgNAME(当前节点名,如pve),newVMID(新VMID),oldVMID(旧VMID)参数名即可。

export \
#设置变量vgNAME,newVMID,oldVMID
vgNAME=pve newVMID=100 oldVMID=102 ;  \
#循环查找旧磁盘
for i in $(lvs -a|grep $vgNAME | awk '{print $1}' | grep $oldVMID); \
do \
#重命名磁盘序号
lvrename $vgNAME/vm-$oldVMID-disk-$(echo $i | awk '{print substr($0,length,1)}') vm-$newVMID-disk-$(echo $i | awk '{print substr($0,length,1)}'); done; \
#替换conf文件中的vmid数值
sed -i "s/$oldVMID/$newVMID/g" /etc/pve/qemu-server/$oldVMID.conf; mv /etc/pve/qemu-server/$oldVMID.conf /etc/pve/qemu-server/$newVMID.conf; \
#解绑变量
unset vgNAME newVMID oldVMID;
Reference

1.How to change VMID Proxmox (bobcares.com)
2.Changing VMID of a VM | Proxmox Support Forum

相关推荐