Linux下lvm線上擴容步驟?

LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁碟分割槽進行管理的一種機制,LVM是建立在硬碟和分割槽之上的一個邏輯層,來提高磁碟分割槽管理的靈活性。LVM是在磁碟分割槽和檔案系統之間新增的一個邏輯層,來為檔案系統遮蔽下層磁碟分割槽佈局,提供一個抽象的盤卷,在盤捲上建立檔案系統。物理卷(physical volume)物理卷就是指硬碟分割槽或從邏輯上與磁碟分割槽具有同樣功能的裝置(如RAID),是LVM的基本儲存邏輯塊,但和基本的物理儲存介質(如分割槽、磁碟等)比較,卻包含有與LVM相關的管理引數。

優勢:

能夠線上擴容當前的分割槽容量。

Linux使用者安裝Linux作業系統時遇到的一個最常見的難以決定的問題就是如何正確地給評估各分割槽大小,以分配合適的硬碟空間。而遇到出現某個分割槽空間耗盡時,解決的方法通常是使用符號連結,或者使用調整分割槽大小的工具(比如PatitionMagic等),但這都只是暫時解決辦法,沒有根本解決問題。隨著Linux的邏輯盤卷管理功能的出現,這些問題都迎刃而解,使用者在無需停機的情況下方便地調整各個分割槽大小。

結構:

在整個LVM結構當中以此分為:“物理卷、物理卷分割槽、卷組、邏輯卷”,下面我詳細解釋一下這四種結構:

1:物理卷:Physical Volume,簡稱PV,一個物理卷只不過是一個有LVM管理資料新增在裡面的物理儲存介質。要使用LVM系統,首先對要用於LVM的磁碟進行初始化,初始化的目的就是將磁碟或分割槽標識為LVM 的物理卷。使用pvcreate 命令可以將一個磁碟標記為 LVM 物理卷。

2:物理分割槽:Physical Extents,簡稱PE,LVM將每個物理卷分別叫做物理分割槽的可定址儲存單元,儲存單元的大小通常為幾MB。磁碟的開頭部分為LVM元資料,之後從索引為零開始,每個物理分割槽的索引依次遞增一,按順序進行分配。

3:卷組:Volume Group,簡稱VG,物理卷可以組織為卷組。卷組可以由一個或多個物理卷組成,同時系統中可以有多個卷組。建立了卷組之後,該卷組(而不是磁碟)便是表示資料儲存的實體。因此,儘管以前是將磁碟從一個系統移動到另一個系統,使用了 LVM 之後,會將卷組從一個系統移動到另一個系統。出於這種原因,通常在一個系統上建立多個卷組會比較方便。

4:邏輯分割槽:Logical Extents,簡稱LE,邏輯卷的基本分配單元稱為邏輯分割槽。邏輯分割槽對映到物理分割槽,因此,如果物理分割槽的尺寸小為4MB,那麼邏輯分割槽的尺寸也將為4MB。邏輯卷的大小取決於所分配的邏輯分割槽數量。

Linux下lvm線上擴容步驟

工具/原料

一臺安裝有Linux作業系統的伺服器或者筆記本

虛擬機器環境也可以

方法/步驟

要建立LVM,首先需要為LVM準備磁碟或者分割槽。如果使用磁碟分割槽作為物理卷的話,需要將分割槽標識為“Linux LVM”,其分割槽ID為“0x8e”,接下來我為大家演示一下配置的過程和分割槽的線上擴容。

本次試驗目標:將線上擴容LINUX系統的根分割槽

下面截圖解釋一下:

我在安裝系統的時候選擇的是預設分割槽,這時系統預設分配2個區,boot和root,而root分割槽為LVM系統,以方便未來的線上擴容,現在我要做的就是將根分割槽擴大5G,當前為17G,擴大5G之後大小為22G,擴容方式為線上擴容,業務不中斷,機器也不需要關機,擴容目標為根分割槽。

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

擴容順序:

建立新的PV---將新的PV加入到當前VG---擴容現有LV----擴容檔案系統

下圖劃分出一個分割槽,大小5G,分割槽標識號:83,我需要修改成8E,繼續下面配置,如果想知道分割槽標識號有哪些,可以檢視幫助。

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

建立新PV並將新的PV加入到現有的VG:

命令:pvcreate (建立PV,如果是建立VG前面修改成VG即可,只是語法稍有區別)

命令:vgextend (對VG進行擴容)

語法:vgextend 現有的VG + PV絕對路徑

語法:pvcreate 分割槽1 + 分割槽2 + 分割槽3 + …

語法:vgcreate –s pe vgname pv + + + (這裡的引數-S表示在建立VG的時候修改PE塊的大小)

注:PE塊的大小隻能是2的倍數,最低從4開始,以此類推8、16、32… 最大應該是64M

下圖中是原來的VG,大小為17G,這裡新的VG還未加入進來,將新的VG加入進來之後的檢視結果,可以看到大小變成了22G,可分配的PE也有了159個。

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

進行LV的擴容和檔案系統的擴容:

命令:lvresize 或者lvextend

語法:lvresize -L size 需要擴容的LV絕對路徑

下圖顯示現在已經擴容成功,當前容量已經達到了21G,擴容前容量為16G,下面使用命令檢視一下當前的LV狀態。

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

到這裡LV的容量已經成功擴容到21G,比之前增加了5G,但是當前檔案系統還未擴容,所以根分割槽的大小依然不變,還是17G,如下截圖

整個根目錄就已經成功擴容到22G,相比之前的17G,增加了5G的容量,整個操作過程全部是線上完成的,業務沒有中斷,系統也不需要重啟。

Linux下lvm線上擴容步驟

Linux下lvm線上擴容步驟

注意事項

如果是將根分割槽縮減,是不能線上進行的,縮減的風險往往大於擴容的風險,如縮減不成功將導致整個檔案系統損毀

相關問題答案