Linux LVM逻辑卷未占满磁盘分区【扩充LVM逻辑卷】

以前,安装linux按照传统的分区方式,选择custom,可以给磁盘划分出sda1, sda2...

这些在linux里称之为分区,partition,然后分别把//home/var等挂载到各个分区

但是随着LVM技术的推广,现在安装ubuntu如果采用默认的格式化整个磁盘的方式来安装,安装完成后发现磁盘空间没有占满,原本500多G的磁盘现在整个/挂载只占用了200多G。造成这种后果很大一部分原因是原本有系统,重装系统导致。(不确定,至少我是这么经历的)

如下图所示:

df -h

在这里插入图片描述

lsblk

在这里插入图片描述
如上图所示,可以看到lsblk看到的实际磁盘空间(物理)有446G多,但是却只有200G被挂载。

让我们再用

fdisk -l

查看分区,这个命令打印的比较多,包含了各种乱七八糟的分区,找到sda那块如下图:

在这里插入图片描述
我们发现原来分区没毛病,注意,sda1,2,3这是分区,相当于windows下c,d,e盘,而计算下发现图中sda1,2,3确实对应了真实的硬盘容量,也就是硬盘没有毛病,确实被ubuntu完全读了出来。

那么问题就可以缩小,确定是挂载少了。那么,挂载为什么少了?(注意,挂载是基于分区的,在分区上层)

原来这里没有直接挂载在物理分区上,而是把/挂载在了逻辑分区LVM文件系统上,而这里显示的/dev/mapper/ubuntu--vg-ubuntu--lv,这是一块逻辑分区文件(逻辑分区以文件形式存在)!它本身只有200G,那理所当然挂载在它之上的/最多就是200G咯。

要扩展/我们就扩展这个LVM文件,很简单,执行如下命令,让他占满磁盘剩余空间,乍干我们的磁盘!

sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

如果不想炸干:

sudo lvextend -L 50G /dev/mapper/ubuntu--vg-ubuntu--lv

上面这条扩充50G,当然这个扩充大小不能大于磁盘实际剩余大小。

如何查看LVM和实际磁盘大小区别,使用如下命令:

lvdisplay

显示如图:
在这里插入图片描述
这里看得到逻辑磁盘信息,看不到物理的,使用如下命令都可以看到:

vgdisplay

在这里插入图片描述
上面显示Free的246G,alloc的是200G!终于找到困惑的源头了,难怪我使用磁盘大小小于我的实际磁盘大小,原来是LVM捣的鬼。

最后,我们发现扩展之后输入上述命令还是显示200G alloc,原因是没有重新计算!还要输入如下命令进行重新计算:

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

现在再输入vgdisplay,容量充满,大功告成!

鸣谢:

https://blog.csdn.net/qq_40137850/article/details/110630758

posted @ 2020-12-23 16:10  devilyouwei  阅读(2555)  评论(0编辑  收藏  举报