pve lvm磁盘管理

理论

磁盘

磁盘有三种类型

  • 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控制台

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

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

就能彻底删除lvm了.

备份恢复

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