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

繁華似錦Fighting 發表於 2021-12-07
Linux

1、LVM邏輯卷管理的簡介

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

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

說明:

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

提示:

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

2、LVM邏輯卷管理的原理

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

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

image

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

  • 物理卷(PVPhysical Volume):就是真正的物理硬碟或分割槽。
  • 卷組(VGVolume Group):將多個物理卷合起來就組成了卷組,組成同一個卷組的物理卷可以是同一個硬碟的不同分割槽,也可以是不同硬碟上的不同分割槽。我們可以把卷組想象為一個邏輯硬碟。
  • 邏輯卷(LVLogicalVolume):卷組是一個邏輯硬碟,硬碟必須分割槽之後才能使用,這個分割槽我們稱作邏輯卷。邏輯卷可以格式化和寫入資料。我們可以把邏輯卷想象成為分割槽。
  • 物理擴充套件(PEPhysical Extend):PE是用來儲存資料的最小單元,我們的資料實際上都是寫入PE當中,PE的大小是可以配置的,預設是4MB。

提示:

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

注意:

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

3、總結建立LVM分割槽的步驟

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