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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM