将物理卷添加到卷组lvm时出现问题

将物理卷添加到卷组lvm时出现问题

谁能帮我解决向 vg 添加更多 GB 的问题吗?

lsblk 输出

NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0  128G  0 disk
|-sda1              8:1    0  500M  0 part /boot/efi
|-sda2              8:2    0  500M  0 part /boot
|-sda3              8:3    0    2M  0 part
`-sda4              8:4    0  127G  0 part
  |-rootvg-tmplv  253:0    0    2G  0 lvm  /tmp
  |-rootvg-usrlv  253:1    0   10G  0 lvm  /usr
  |-rootvg-optlv  253:2    0    2G  0 lvm  /opt
  |-rootvg-homelv 253:3    0    1G  0 lvm  /home
  |-rootvg-varlv  253:4    0   35G  0 lvm  /var
  `-rootvg-rootlv 253:5    0   12G  0 lvm  /
# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  rootvg   1   6   0 wz--n- <63.02g <1.02g
 #lvs
  LV     VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  homelv rootvg -wi-ao----  1.00g
  optlv  rootvg -wi-ao----  2.00g
  rootlv rootvg -wi-ao---- 12.00g
  tmplv  rootvg -wi-ao----  2.00g
  usrlv  rootvg -wi-ao---- 10.00g
  varlv  rootvg -wi-ao---- 35.00g

我需要使用 sda4 中未使用的 GB 并扩展 rootvg-varlv 的大小,有人可以建议我执行此操作的步骤吗?

答案1

您似乎尚未使用/dev/sda4物理卷 (PV) 的所有可用空间。这里分配了 127GB:

`-sda4              8:4    0  127G  0 part

尽管 LV 加起来只有大约 62GB:

|-rootvg-tmplv  253:0    0    2G  0 lvm  /tmp
|-rootvg-usrlv  253:1    0   10G  0 lvm  /usr
|-rootvg-optlv  253:2    0    2G  0 lvm  /opt
|-rootvg-homelv 253:3    0    1G  0 lvm  /home
|-rootvg-varlv  253:4    0   35G  0 lvm  /var
`-rootvg-rootlv 253:5    0   12G  0 lvm  /

VG 声称 63GB 中只有大约 1GB 可用:

rootvg   1   6   0 wz--n- <63.02g <1.02g

尝试延长PV。 (顺便说一句,您是否调整过大小/dev/sda和/或/dev/sda4在某个时刻?看起来这是有可能的。)

pvresize /dev/sda4

假设它报告大小成功增加,vgs应该立即显示额外的可用空间,然后您可以根据需要分配这些空间。以下示例展示了如何向varlvLV 添加另外 10 GiB:

lvextend --size +10G --resizefs /dev/rootvg/varlv

varlv不要因为可以就全力以赴;只需分配您现在需要的内容即可。如果需要,您可以稍后添加更多,但如果有必要,您可以通过保留一些来增加其他 LV 的大小。添加空间比(安全地)删除空间容易得多。

答案2

您可以在 vg 上使用 vgextend 命令,然后使用 lvextend 或 lvresize 扩展 lv。问题是,通常你不能用 size 来扩展 vg ,只能用另一个/新的 vg 。另一个问题是,通常在实时系统上运行它们有些风险,因此我建议在 USB 启动上这样做。

vgextend command:

pvcreate /dev/sdX
vgextend rootvg /dev/sdX
# sdX being new drive that you are extending the rootvg with -> it can be even usb device, although ssd is prefered
# just to clarify -> not the same usb that you are booting from.

lvextend command:

lvextend -L+20G /dev/rootvg/rootlv
# you need path to lv that you are extending.

相关内容