1. 程式人生 > 實用技巧 >Linux自學筆記——LVM2的建立與管理

Linux自學筆記——LVM2的建立與管理


LVM2,Logical VolumeManager,邏輯卷管理,它是linux環境下對磁碟分割槽進行管理的一種機制,它由Heinz Mauelshagen在linux 2.4核心上實現。Linux使用者安裝Linux作業系統時遇到一個常見的難以決定的問題就是如何正確的評估各分割槽的大小,已分配合適的硬碟空間。普通的磁碟分割槽管理方式在邏輯分區劃分好之後就無法改變其大小,當一個邏輯分割槽存放不下某個檔案時,這個檔案因為受上層檔案系統的限制,也不能跨越多個分割槽來存放,所以不能同時放到別的磁碟上。而遇到出現某個分割槽空間耗盡時,解決的方法通常是使用符號連結,或者使用調整分割槽大小的工具,但這只是暫時解決辦法,沒有從根本上解決問題。隨著linux的邏輯管理卷功能的出現,這些問題也都迎刃而解,使用者在無需停機的情況下便可以方便的調整各個分割槽的大小。

基本術語:

PV:Physical Volume,物理卷,指磁碟分割槽或從邏輯上與磁碟分割槽具有同樣功能的裝置(如RAID),是LVM的基本儲存邏輯塊,但和基本的的物理儲存介質比較,卻包含與LVM相關的物理引數。

PE:Physical Extent,物理塊,每個物理卷PV被劃分為的基本單元稱為PE,PE的大小是可以配置的,預設為4MB,所以物理卷PV由大小等同的基本單元PE組成。

VG:Volume Group,卷組,類似於非LVM系統的物理磁碟,其由一個或多個物理卷PV組成。可以在卷組上建立一個或多個LV(邏輯卷)。

LV:類似於非LVM系統中的磁碟分割槽,邏輯卷建立在VG之上。在邏輯卷之上可以建立檔案系統。

下圖為PV,VG,LV三者之間的關係:

wKioL1mefpOR7l-IAABSzkp7-V4982.png-wh_50

LVM的建立和管理:

建立前準備:

本文實在虛擬機器中測試LVM的建立,首先新增一塊磁碟,劃分分割槽,分割槽號分別為sdb1,sdb2,sdb3,sdb5。

具體過程如下:

1.檢視磁碟分割槽

wKiom1mefr6yUAU2AABY03SfEhE207.png-wh_50

2.用fdisk命令對/dev/sdb進行分割槽,且每一個分割槽分2G的空間:

wKiom1mefsjBb_FeAADJm09otlk177.png-wh_50

分完之後檢視分割槽列表,並儲存退出:

wKioL1mefsuQDtWdAABs_cp0AZM027.png-wh_50

3.更改分割槽型別為8e:

wKioL1meftSC6lssAADYp9KahCo852.png-wh_50

4.使用partx命令讓核心重新識別新分割槽:

wKiom1mefurjMp-aAAA-jG2C83Y173.png-wh_50

PV管理工具:

pvcreate /dev/DEVICE:建立pv

pvs:簡要pv資訊顯示

pvdisplay:顯示pv的詳細資訊

pvchange:改變物理卷的屬性

pvmove:移動部分空間到其它物理卷

pvremove:移除物理卷

pvresize:調整物理卷的大小

VG管理工具:

vgs:顯示卷組資訊

vgdisplay:顯示卷組詳細資訊

vgcreate [-s #[kKmMgGtTpPeE]]VolumeGroupName PhysicalDevicePath[PhysicalDevicePath...]:建立卷組

-s:指明卷組上物理卷PE的大小

-p:卷組中允許新增的最大的物理卷的個數

-l:卷組上允許新增的最大的邏輯卷的個數

vgchange:改變卷組屬性

vgrename:重新命名組卷

vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]:擴充套件組卷

vgremove:移除組卷

vgscan:掃描所有卷組

vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]:縮減組卷的空間,需先做pvmove

LV管理工具:

lvcreate -L #[mMgGtT] -n NAME VolumeGroup:建立邏輯卷

-n:指定邏輯卷名字

-L:指定邏輯卷大小

lvremove /dev/VG_NAME/LV_NAME:移除邏輯卷

df –lh:顯示邏輯卷的空間資訊

lvs:顯示邏輯卷資訊

lvdisplay:顯示邏輯卷詳細資訊

擴充套件邏輯卷:

# lvextend -L [+]#[mMgGtT]/dev/VG_NAME/LV_NAME

# resize2fs /dev/VG_NAME/LV_NAME

縮減邏輯卷:

# umount /dev/VG_NAME/LV_NAME

# e2fsck -f /dev/VG_NAME/LV_NAME

# resize2fs /dev/VG_NAME/LV_NAME#[mMgGtT]

# lvreduce -L [-]#[mMgGtT]/dev/VG_NAME/LV_NAME

# mount

快照:snapshot

lvcreate -L #[mMgGtT] -p r -s -nsnapshot_lv_name original_lv_name

練習1:建立一個至少有兩個PV組成的大小為6G的名為myvg的VG;要求PE大小為16MB, 而後在卷組中建立大小為4G的邏輯卷mylv;掛載至/users目錄;

1.建立pv,並檢視pv的詳細資訊;

wKiom1mefvuQ17btAACi_HSM6Yk477.png-wh_50

2.建立vg,並檢視vg詳細資訊;

wKiom1mefwbSN_3bAABFLra0BqU611.png-wh_50

3.建立lv,並檢視lv詳細資訊;

wKioL1mefwagYQqLAABDCdOiV6o506.png-wh_50

4.格式化邏輯卷並掛載;

wKiom1mefxuCfUNvAACVDv8U56k939.png-wh_50

練習2:擴展卷組myvg;

wKiom1mefyaCv9MoAABFNR-Jmxk838.png-wh_50

練習3:擴充套件mylv至5G;

wKiom1mefzHyp_h-AACdk4K_EHQ282.png-wh_50

練習4:收縮mylv至3G;

wKioL1mefzDCMzeDAADW26vZXpY639.png-wh_50

練習5:對mylv建立快照,並嘗試基於快照備份資料,驗正快照的功能;

1.在/dev/myvg/mylv邏輯卷裡首先建立檔案,然後做快照;

wKioL1mef0GyWvsNAABWZuCzyC0597.png-wh_50

2.檢視快照;

wKiom1mef1qwLR94AACY-iQACEE208.png-wh_50

3.移除快照;

wKiom1mef2aCViT1AABJaazj5E0303.png-wh_50

練習6:若lvm系統中其中一塊磁碟後者分割槽發生損壞,如何轉移資料;

wKioL1mef2TwD-jJAABjW-1BefU107.png-wh_50

練習7:刪除整個邏輯卷;

wKioL1mef3GiOWuuAACcYbCYNSk482.png-wh_50


轉載於:https://blog.51cto.com/claude666/1959030