本文主要针对存储类型为rbd的虚拟机磁盘改名操作。针对虚拟机备份还原后用户磁盘改变,需迁移到其他虚拟机的情况。如果虚拟机挂载的用户磁盘名称跟Deskpool的命名一样,则无需进行此操作。针对删除的虚拟机最好有备份,防止误杀。
- 找出数据盘存储的资源池。
第一次查看用户磁盘所在位置,本文数据磁盘为ceph,并根据数据盘在PVE里找到对应的资源池名称,且记住资源池名称:本文资源池名称为pvepool
桌面计算机列表中,记住虚拟机,桌面池,所属用户三者之间的关系
2. 推算用户磁盘名称,并记住用户磁盘名称。
根据计算机名称、所属用户,桌面池(如果一个用户有多个桌面池需记住桌面池,防止用户磁盘对应关系错乱),在用户磁盘列表中根据磁盘名称,跟VMID计算出PVE服务器上文件名称(文件名称为:vm-VMID-磁盘名称组合,如果列表列表中桌面空缺,可根据磁盘名称后缀推算出属于桌面池,如本文用户名为user01,桌面为ycl01,那么PVE上的磁盘文件名称为vm-100-user01_data )
注:如果桌面无显示,可根据磁盘名称后缀找到所属桌面池
例:如本文磁盘名称后缀为data,根据data在桌面池中查找桌面池配置的数据盘名为data的桌面池。
3. 备份用户磁盘并检查是否成功备份
根据第3步推算出来的用户磁盘名称,进入PVE服务器,执行用户磁盘备份 。
备份命令如下:
qemu-img convert -f raw rbd:资源池/用户磁盘名称.raw -O raw /备份文件路径/备份磁盘名称.raw
注:资源池为第1步找到的名称
用户磁盘名称为第3步推算出来的用户磁盘名称
备份文件路径:为存储类型为dir的目录
备份磁盘名称:可以跟用户磁盘名称一样
例:如本文资源池名称为pvepool 用户磁盘为vm-100-user01_data 备份到本机back目录上名字(因本文只测试,所以备份到服务器的back目录下)
qemu-img convert -f raw rbd:pvepool/vm-100-user01_data.raw -O raw /back/vm-100-user01_data.raw
4.删除用户磁盘文件
检查备份文件是否成功,成功后删除磁盘文件
通过下列命令删除磁盘文件
pvesh delete /nodes/{node}/storage/{storage}/content/{volume}
注:
{node}为PVE节点
{storage} 为存储 ,此为PVE上的存储,跟备份的资源池不一样。
{volume} 为磁盘文件名称
例:
5. D盘文件保存成用户磁盘
根据计算机名称,找到用户磁盘对应的D盘磁盘文件名称。
:记住此时磁盘文件名称不能加后缀raw 否则会报文件不存在。
qemu-img convert -f raw rbd:资源池/D盘磁盘文件 -O raw rbd:资源池/用户磁盘名称.raw
注:
资源池:为本文第一步记住的资源池
本文案例:
PVE上查看用户盘是否成功复制
6. 删除虚拟机后测试
在用用户登录,检测用户磁盘是否无数据丢失。