『學了就忘』Linux文件系統管理 — 65、LVM邏輯卷管理介紹

1、LVM邏輯卷管理的簡介

LVM是Logical Volume Manager的簡稱,中文就是邏輯卷管理。(是我們進行分區的一種方法)

LVM邏輯卷管理和我們前面說的基本分對比,區最大的特徵是,可以動態調整硬碟的分區大小。比如說當我的Linux系統有三個分區,分別是boot分區,swap分區和根分區,當我用了一段時間,發現根分區的空間不夠用了,我買了一塊新的硬碟,這個時候你是不能直接把新硬碟加入根分區里的(基本分區是不支援分區擴容的),這時候按照我們前面學的,就只能夠創建一個目錄,掛載一個新的分區。這樣就會造成,之前很多把數據存儲在根分區的配置都需要進行修改,這不是我們需要的。而LVM邏輯卷管理就可以動態的把新硬碟的容量加入到所需的分區中。

說明:

  • Linux中默認標準的分區,就應該採用LVM邏輯卷的方式進行分區。在實際工作中也盡量使用LVM邏輯卷的方式進行分區。
  • 我們在安裝Linux系統的時候,如果你沒有選擇手工進行分區,而是選擇默認自定義分區,系統直接就會用LVM邏輯卷進行分區。

提示:

明確的說明,基本分區,包括主分區,擴展分區,邏輯分區,是不支援分區大小調整的。一些分區調整工具,全部是使用強制調整或者修改分區表的方式進行擴容。(強制分區調整有可能失敗,導致硬碟崩潰,所有數據都消失,幾率很大。)

2、LVM邏輯卷管理的原理

LVM邏輯卷管理基本原理是:首先我要有一些基本分區,比如一塊真實的物理硬碟,分成一個分區也好,多個分區也好,把這些基本分區組成物理卷,然後再把這些物理卷組合成卷組,卷組是允許動態擴容的。再比如我還在有一塊新的硬碟,把新硬碟變成物理卷,還能夠往卷組裡添加。也就是說組成卷組的這些物理卷,可以是來自一塊硬碟,也可以來自不同硬碟。最後在卷組裡,把空間可以分成需要大小的邏輯卷,邏輯卷在卷組裡也是可以擴容的。卷組是可以隨時動態擴容的,只要卷組裡有空閑空間,卷組中的邏輯卷也可以隨時進行擴容。而邏輯卷就是我們實際使用的分區。

LVM邏輯卷管理原理圖如下:

image

LVM邏輯卷管理的一些名稱如下:

  • 物理卷(PV,Physical Volume):就是真正的物理硬碟或分區。
  • 卷組(VG,Volume Group):將多個物理卷合起來就組成了卷組,組成同一個卷組的物理卷可以是同一個硬碟的不同分區,也可以是不同硬碟上的不同分區。我們可以把卷組想像為一個邏輯硬碟。
  • 邏輯卷(LV,LogicalVolume):卷組是一個邏輯硬碟,硬碟必須分區之後才能使用,這個分區我們稱作邏輯卷。邏輯卷可以格式化和寫入數據。我們可以把邏輯卷想像成為分區。
  • 物理擴展(PE,Physical Extend):PE是用來保存數據的最小單元,我們的數據實際上都是寫入PE當中,PE的大小是可以配置的,默認是4MB。

提示:

我們之前用fdisk命令進行的分區,劃分空間是按柱面數轉換成最終分配的空間大小,也就是柱面是基本分區的最小單位。而邏輯卷是按PE作為最小單位進行分配空間。還有我們最早說的block塊是文件或者目錄存儲數據的最小單位。這些一定要分清楚。

注意:

前面一直說的都是擴容,沒有說縮減,縮減分區容量是有可能造成數據丟失的。實際應用或者工作中也沒有縮減分區容量的需求。

3、總結建立LVM分區的步驟

  • 首先需要把物理硬碟分成分區,當然也可以是整塊物理硬碟。
  • 然後把物理分區建立成為物理卷(PV),也可以直接把整塊硬碟都建立為物理卷。
  • 接下來把物理卷整合成為卷組(VG)。卷組就已經可以動態的調整大小了,可以把物理分區加入卷組,也可以把物理分區從卷組中刪除(不許做縮減操作)。
  • 最後就是把卷組再劃分成為邏輯卷(LV),當然邏輯卷也是可以直接調整大小的。我們說邏輯卷可以想像成為分區,所以邏輯卷使用之前也需要格式化和掛載。