一. LVM 架構(gòu)

1.基本概念介紹:
- PP,物理分區(qū)(Physical Partition),如硬盤的分區(qū),或 RAID 分區(qū)。
- PV,物理卷(Physical Volume),是 PP 的 LVM 抽象,它維護(hù)了 PP 的結(jié)構(gòu)信息,是組成 VG 的基本邏輯單元,一般一個 PV 對應(yīng)一個 PP。
- PE,物理擴(kuò)展單元(Physical Extends),每個 PV 都會以 PE 為基本單元劃分。
- VG,卷組(Volume Group),即 LVM 卷組,它可由一個或數(shù)個 PV 組成,相當(dāng)于 LVM 的存儲池。
- LE,邏輯擴(kuò)展單元(Logical Extends),組成 LV 的基本單元,一個 LE 對應(yīng)一個 PE。
- LV,邏輯卷(Logical Volume),它建立在 VG 之上,文件系統(tǒng)之下,由若干個 LE 組成。
2. LVM 原理分析
LVM 在每個物理卷(PV)頭部都維護(hù)了一個MetaData,叫做卷組描述域(VGDA,Volume Group Description Area),每個VGDA中都包含了整個VG(Volume Group)的信息,包括每個VG的布局配置、PV 的編號、LV的編號,以及每個PE到LE的映射關(guān)系。同一個VG中的每個PV頭部的信息是相同的,這樣有利于發(fā)生故障時進(jìn)行數(shù)據(jù)恢復(fù)。
LVM 對上層文件系統(tǒng)提供 LV 層,隱藏了操作細(xì)節(jié)。對文件系統(tǒng)而言,對 LV 的操作與原先對 Partition 的操作沒有差別。當(dāng)對 LV 進(jìn)行寫入操作時,LVM 定位相應(yīng)的 LE,通過 PV 頭部的映射表,將數(shù)據(jù)寫入到相應(yīng)的 PE 上。
LVM 實(shí)現(xiàn)的關(guān)鍵在于在PE 和LE間建立映射關(guān)系,不同的映射規(guī)則決定了不同的LVM存儲模型。LVM 支持多個PV的Stripe和Mirror,這點(diǎn)和軟RAID的實(shí)現(xiàn)十分相似。
LVM 對上層文件系統(tǒng)提供抽象層,隱藏了操作細(xì)節(jié),對文件系統(tǒng)而言,對LV的操作與原先對分區(qū)( Partition)的操作沒有差別。當(dāng)對LV進(jìn)行寫入操作時,LVM定位相應(yīng)的LE,通過PV頭部的映射表,將數(shù)據(jù)寫入到相應(yīng)的PE上。
3. LVM 優(yōu)缺點(diǎn)分析
(1)LVM優(yōu)點(diǎn):
- 文件系統(tǒng)可以跨多個磁盤,因此大小不會受物理磁盤的限制。
- 可以在系統(tǒng)運(yùn)行狀態(tài)下動態(tài)地擴(kuò)展文件系統(tǒng)大小。
- 可以增加新磁盤到 LVM 的存儲池中。
- 可以以鏡像的方式冗余重要數(shù)據(jù)到多個物理磁盤上。
- 可以很方便地導(dǎo)出整個卷組,并導(dǎo)入到另外一臺機(jī)器上。
(2)LVM缺點(diǎn)
- 在從卷組中移除一個磁盤時必須使用 reducevg,否則會出問題。
- 當(dāng)卷組中的一個磁盤損壞時,整個卷組都會受影響。
- 僅支持有限個文件系統(tǒng)類型的減小操作(ext3不支持減少文件系統(tǒng)大小的操作)。
- 因?yàn)榧尤肓祟~外的操作,存儲性能會受影響(使用 Stripe 的情況另當(dāng)別論)
4. 使用LVM的基本步驟
(1)在物理分區(qū)(PP)上創(chuàng)建物理卷(PV)
- pvcreate /dev/sda1 //將傳統(tǒng)分區(qū)變?yōu)長VM中的物理卷
(2)在創(chuàng)建卷組(VG)
- vgcreate vg /dev/sda1 //將(1)中創(chuàng)建的物理卷加入卷組vg來完成卷組的創(chuàng)建
(3)從 VG 中分配空間,創(chuàng)建邏輯卷(LV)
- lvcreate -L 20G -n data vg //從卷組vg中創(chuàng)建大小為20G,名稱為data的邏輯卷分區(qū)
- mke2fs -j /dev/vg/data //將LV格式化為ext2文件系統(tǒng)類型
- mount -t reiserfs /dev/vg/data /mnt/