我最近将我的 ubuntu 从 250GB SSD 克隆到我的新 2TB SSD。它自动创建了一个 248GB 的 LVM,其中包含我的根文件系统。
我想将 LVM 大小调整为 2TB。
nvme0n1 259:1 0 1.8T 0 disk
├─nvme0n1p1 259:7 0 512M 0 part /boot/efi
└─nvme0n1p2 259:8 0 1.8T 0 part
├─vgubuntu-root 253:0 0 231.4G 0 lvm /
└─vgubuntu-swap_1 253:1 0 976M 0 lvm [SWAP]
然而 PSize 只有 250 GB,而不是 2TBsudo pvs
PV VG Fmt 属性 PSize PFree /dev/nvme0n1p2 vgubuntu lvm2 a-- 232.38g 0
我看到以下输出lvdisplay
:
--- 逻辑卷 --- LV 路径 /dev/vgubuntu/root LV 名称根 VG 名称 vgubuntu LV UUID 0wM6pq-o26o-qVBf-1x61-vFbP-Poyf-fFW3f7 LV 写访问 读/写 LV Creation 主机,时间 ubuntu,2021-04-24 06:13:08 +0800 LV 状态可用 # 打开 1 LV 大小 <231.43 GiB 当前 LE 59246 段 2 分配继承 自动预读扇区 - 目前设置为 256 块设备 253:0
我尝试了以下lvextend
命令,但是它的大小没有超出 248GB:
lvextend -l +100%FREE /dev/vgubuntu/root/
输出为:
New size (59246 extents) matches existing size (59246 extents).
有人可以给出建议吗?
答案1
看起来你需要的是 growpart。我不确定你已经做了哪些步骤。以下是我在类似机器上所做的:
在扩展存储之前,这是我所拥有的
root@agw:~# lsblk /dev/vda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1M 0 part
├─vda2 252:2 0 513M 0 part /boot/efi
└─vda3 252:3 0 19.5G 0 part
├─vgxubuntu-root 253:0 0 18.5G 0 lvm /
└─vgxubuntu-swap_1 253:1 0 976M 0 lvm [SWAP]
root@agw:~# vgs
VG #PV #LV #SN Attr VSize VFree
vgxubuntu 1 2 0 wz--n- 19.49g 0
我向底层磁盘添加了 2G。您会看到 vda 现在有 22G 的空间,而 vda3 并未自动使用所有空间。
root@agw:~# lsblk /dev/vda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 252:0 0 22G 0 disk
├─vda1 252:1 0 1M 0 part
├─vda2 252:2 0 513M 0 part /boot/efi
└─vda3 252:3 0 19.5G 0 part
├─vgxubuntu-root 253:0 0 18.5G 0 lvm /
└─vgxubuntu-swap_1 253:1 0 976M 0 lvm [SWAP]
root@agw:~# vgs
VG #PV #LV #SN Attr VSize VFree
vgxubuntu 1 2 0 wz--n- 19.49g 0
扩展 vda3 后,运行 lvextend 和 resize2fs(如果您使用的是 ext4)。
root@agw:~# growpart /dev/vda 3
CHANGED: partition=3 start=1054720 old: size=40888287 end=41943007 new: size=45082591 end=46137311
root@agw:~# pvs
PV VG Fmt Attr PSize PFree
/dev/vda3 vgxubuntu lvm2 a-- 21.49g 2.00g
root@agw:~# lvextend -l+100%FREE /dev/vgxubuntu/root
Size of logical volume vgxubuntu/root changed from <18.54 GiB (4746 extents) to <20.54 GiB (5258 extents).
Logical volume vgxubuntu/root successfully resized.
root@agw:~# df -hPT /
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vgxubuntu-root ext4 19G 11G 7.2G 59% /
root@agw:~# resize2fs /dev/mapper/vgxubuntu-root
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/vgxubuntu-root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
The filesystem on /dev/mapper/vgxubuntu-root is now 5384192 (4k) blocks long.
root@agw:~# df -hPT /
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vgxubuntu-root ext4 21G 11G 9.1G 53% /
答案2
您即将扩展它。我们正在寻找的名称是LV Path
命令中的状态lvdisplay
。 LV Path
将名称显示为/dev/vgubuntu/root
。
扩展它的命令应该是:
lvextend -l +100%FREE /dev/vgubuntu/root
答案3
你需要使用pvresize
在这种情况下pvresize /dev/nvme0n1p2
然后您应该能够使用所采用的方法调整 lv 的大小。