理论

磁盘

磁盘有三种类型

  • physic volume
  • logic volume
  • volume group 下面分别用pv,lv,vg简称 抽象的一点是,lv大小可以超过pv的大小 例如,pv A的大小是5G,而在pv上的lv a的磁盘大小可以设置为10G,已经超出了物理限制. 但是,lv a对应的虚拟机a认为,你有10G磁盘大小.虚拟机a不会阻止你占用超过5G的磁盘. 当磁盘占用超过5G时,你的虚拟机就会进入io/error的状态.😅😅😅 这点要注意

pve磁盘

pve会默认创建两个存储分区locallocal-lvm(下称lvm) pve使用local,一般情况下,虚拟机使用lvm.

可能会存在lvm过小,而local过大的情况.

方案

有两种思路:

  • 减小local,增大lvm
  • 移动lvm中的内容至local

很不幸,由于pve使用的是local,对local进行减小操作是困难的.如果你想尝试可以参考这个

所以我选择第二种方法,将lvm所有虚拟机移动到local上.并删除lvm,将释放的空间分配给local.

操作

编辑存储内容

目标是只是用一个磁盘,所以将所有格式的文件都放在同一个lv下 数据中心-存储-local

备份虚拟机

gui可以直接将放置在lvm上的虚拟机备份.备份文件默认存放在local位置.

删除lvm

将lvm上所有的虚拟机进行备份之后,删除这些虚拟机,再进入pve控制台

 lvremove /dev/pve/data   #删除lvm对应的`/dev/pve/data`
 lvextend -rl +100%FREE /dev/pve/root #将多余空间全部扩容至local

此时你在web中还是能够看到lvm的存在. 在数据中心-存储中删除local lvm.(操作时候没截图,图片来自参考) 就能彻底删除lvm了.

备份恢复

在local中找到备份,选中再还原就可以了.