![Ubuntu 无法识别扩展逻辑卷,18.04](https://linux22.com/image/1017293/Ubuntu%20%E6%97%A0%E6%B3%95%E8%AF%86%E5%88%AB%E6%89%A9%E5%B1%95%E9%80%BB%E8%BE%91%E5%8D%B7%EF%BC%8C18.04.png)
我使用一个 lvm,一个用于 /home,另一个用于 /root(还有一个用于 swap,但这在这里无关紧要)。这个 lvm 包含 2 个硬盘:一个是 1.82 Tb,另一个是 476 Gb。我的 /home 是 2 Tb,我的 /root 是 25Gb,swap 是 6 Gb。
最近我的 /root lvm 分区空间不足,因此我使用 lvextend 命令将其扩展了 25 Gb。没有任何错误,我继续做我的事情。请参阅下面的 lvdisplay 输出。
~$ sudo lvdisplay
(truncated for brevity)
--- Logical volume ---
LV Path /dev/computer/home
LV Name home
VG Name computer
LV Size 2.00 TiB
--- Logical volume ---
LV Path /dev/computer/root
LV Name root
VG Name computer
LV Size 50.00 GiB
--- Logical volume ---
LV Path /dev/computer/swap
LV Name swap
VG Name computer
LV Size 6.00 GiB
但是,ubuntu 似乎无法识别 lvm 已扩展。我仍然收到警告,提示我的 /root 分区中的磁盘空间将用完。您可以在 Ubuntu 磁盘使用情况分析器中看到这一点,它无法识别此更改。
我担心我扩展了 lv 而没有足够的可用空间,但是 vgdisplay 命令告诉我这个卷组中有 235 GiB 的可用空间。
我的问题:这是怎么回事?我该怎么做才能解决这个问题?为什么 Ubuntu 无法识别扩展逻辑卷?扩展逻辑卷时我是否遗漏了什么?
答案1
我认为主要问题是您调整了卷(容器)的大小,但没有调整文件系统,因此操作系统只能看到已经存在的文件系统,它认为是可用的空间。
扩展包含文件系统的逻辑卷的方法基本上有两种:
自动,让 LVM 尝试在此过程中调整文件系统的大小,即使用
lvresize
带有--resizefs
标志的命令。根据您的文件系统,这可能会或可能不会起作用。在您的例子中,完整命令应该是lvresize --resizefs --size +25G /dev/computer/root
。现在这样做已经太晚了,所以您可以使用第二种方法:手动使用单独的
lvextend
和resize2fs
命令。这应该适用于 ext4 和其他常用文件系统,但可能不适用于某些文件系统。我让你自己决定是否扩展你选择的文件系统。在这种情况下,尝试运行resize2fs /dev/computer/root
,以便将文件系统扩展到其容器中的可用空间。
有一篇博客文章介绍了如何做到这一点这里。