服务器移动到虚拟机后,lvm 物理卷集无法分配。我可以改变它吗?

del*_*ray 6 lvm

我有一个在 LVM 上运行的虚拟机。它工作正常,只是现在我无法扩展或创建任何逻辑卷。它给了我错误:

# lvcreate -L10G -n test LocalVG
 Insufficient free space: 320 extents needed, but only 0 available
Run Code Online (Sandbox Code Playgroud)

但我对卷组的可用范围远不止于此:

# vgdisplay LocalVG
  --- Volume group ---
  VG Name               LocalVG
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  13
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                9
  Open LV               9
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               299.84 GB
  PE Size               32.00 MB
  Total PE              9595
  Alloc PE / Size       6656 / 208.00 GB
  Free  PE / Size       2939 / 91.84 GB
Run Code Online (Sandbox Code Playgroud)

该虚拟机所在的奶牛映像大小为 300MB,并且位于当前有 101GB 可用空间的主机上的文件系统上。所以应该不会失败。我确实注意到 VG 在 VM 中使用的物理卷被设置为不可分配:

# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/vda2
  VG Name               LocalVG
  PV Size               299.85 GB / not usable 6.83 MB
  Allocatable           NO
  PE Size (KByte)       32768
  Total PE              9595
  Free PE               2939
  Allocated PE          6656
Run Code Online (Sandbox Code Playgroud)

也许这是正常的,但我的其他主机显示他们的 PV 设置为可分配 = 是。所以我的问题是,我应该在此 PV 上运行“pvchange -xy /dev/vda2”还是还有其他问题?我执行此操作时主机可以在线吗?为了让 LV 从 VG 获取盘区,PV 是否必须是可分配的?

del*_*ray 7

嗯,这是不久前的事了,但当时我尝试将 PV 切换为可分配的,如上所示,这解决了问题。从那时起已经两年了,我没有再遇到任何问题。一定是一个不起眼的错误。希望这些信息有一天能对有同样想法的人有所帮助。

您可以使用 来将物理卷标记为可分配pvchange

# pvchange -x y /dev/volume
Run Code Online (Sandbox Code Playgroud)