首頁 > 軟體

LVM邏輯卷管理器 基礎

2020-06-16 17:14:53

一、LVM簡介

邏輯卷管理器LVM(Logcal Volume Manager),LVM可以彈性的調整檔案系統的容量,不必要再去煩惱檔案系統空間不夠的問題。LVM的實現是將幾個物理分割區(或磁碟)通過軟體組合成為一塊看起來是獨立的大磁碟(VG),然後將這塊大磁碟再經過分成可使用分割區(LV),最終就能夠掛載使用。

以下是LVM一些名詞的解釋,解釋來自百度LVM:

PhysicalStorageMedia 物理儲存裝置

指系統的物理儲存裝置:磁碟,如:/dev/hda、/dev/sda等,是儲存系統最底層的儲存單元

PV(Physical Volume)物理卷

指磁碟分割區或從邏輯上與磁碟分割區具有同樣功能的裝置,是LVM的基本儲存邏輯塊,但和基本的物理儲存媒介相比,卻包含有與LVM相關的管理引數。

VG(Volume Group)卷組

類似於非LVM系統中的物理磁碟,其由一個或多個物理卷PV組成,可以在捲組上建立一個或多個LV

LV(Logical Volume)邏輯卷

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

PE(Physical Extent)物理塊

每一個物理卷PV被劃分為稱為PE的基本單元,具有唯一編號的PE是可以被LVM定址的最小單元,PE的大小是可以設定的,預設為4MB。所以物理卷(PV)大小等同的基本單元PE組成。

LE(Logical Extent)邏輯

邏輯卷LV也被劃分為可被定址的基本單位,稱為LE。在同一個捲組中,LE的大小和PE是相同的,並且一一對應。

LVM各元件的實現流程圖如下圖,圖 1-1

圖 1-1 LVM各元件的實現流程圖示

二、LVM基礎實踐

1、建立一個大小為5G的LVM

使用fdisk 建立兩個大小分別為3G,7G的磁碟分割區

fdisk /dev/sdb

將新建的/dev/sdb5和/dev/sdb6的system ID改為Linux LVM(8e)

w儲存退出

讓系統識別分割區表

partprobe /dev/sdb

檢視系統是否識別了新的分割區表

cat /proc/partitions

建立PV,使用pvcreate將物理分割區新建為PV (pvcreate使用格式可參考man手冊,簡單的使用格式 pvcreate /PATH/TO/BLOCKDEVICE)

pvcreate /dev/sdb{5,6}

使用pvs檢視所有的pv裝置

使用pvdisplay 檢視pv裝置的詳細資訊

將新建的pv裝置新建為VG(vgcreate VGDEVICENAME /PATH/TO/PVDEVICE)

vgcreate myvg /dev/sdb{5,6}

可以使用-s選項設定PE的大小,預設為4MB

使用vgs檢視所有的vg裝置

使用vgdisplay檢視vg裝置的詳細資訊

(vgscan和pvscan分別可以產看當前檔案系統上存在的vg裝置和pv裝置)

使用lvcreate再myvg上新建lv(lvcreate -n LV_NAME -L #G|M VG_NAME)

lvcreate -n mylv -L 5G myvg
lvs
lvdisplay

格式化新建的lv

mke2fs -j /dev/myvg/mylv

掛載lv

mount /dev/myvg/mylv /mnt/mylv

使用mount檢視掛載的lv裝置

mount

2、拓展mylv到12GB

拓展mylv前,要解除安裝mylv

umount /dev/mapper/myvg-mylv

使用fdisk 新建一個大小為5G的新分割區/dev/sdb7,並將其的System ID 設定為8e

將新分割區設定為PV

pvcreate /dev/sdb7

使用新建的PV將myvg拓展

vgextend myvg /dev/sdb7

拓展lv

lvextend -L 12G /dev/myvg/mylv

或者使用

lvextend -L +7G /dev/myvg/mylv

使用lvs或者lvdisplay檢視mylv

為拓展的mylv的檔案系統重新劃分大小

劃分之前需要強制檢查磁碟,使用e2fsck檢查mylv,使用-f強制檢查

e2fsck -f /dev/myvg/mylv

使用resize2fs重新劃分mylv檔案系統的大小

resize2fs -p /dev/myvg/mylv

-p選項為劃分至物理邊界(就是將mylv全部劃分,如果指定大小劃分的話resize2fs /dev/myvg/mylv #G)

重新掛載mylv至/mnt/mylv

拓展lv結束

3、縮減mylv到3GB

縮減要保證mylv中存貯資料的大小一定要小於縮減後的大小,否則會產生資料損壞的情況

使用df命令檢視mylv被使用的大小

df -lh |sed -n '1p;/mylv/p'

縮減mylv前,要解除安裝mylv

umount /dev/mapper/myvg-mylv

縮減的步驟和拓展的步驟相反

首先resize mylv的fs

照樣要進行強制檢查

e2fsck -f /dev/myvg/mylv

將/dev/myvg/mylv縮減至3G

resize2fs /dev/myvg/mylv 3G

使用lvreduce縮減mylv的空間

lvreduce -L 3G /dev/myvg/mylv

或者使用

lvreduce -L -9G /dev/myvg/mylv

重新掛載mylv至/mnt/mylv

縮減mylv結束

4、為mylv建立快照捲

注意

(1)建立快照捲生命週期為整個資料存取時長,在這段時長內,資料的增長量不能超出快照捲大小

(2)快照捲應該是唯讀的

(3)快照捲和原卷在同一卷組內

使用lvcreate建立快照捲

lvcreate -L 50M -n mysnapshot -s -p r /dev/myvg/mylv

-L指定大小,-n指定名稱,-s建立為快照,-p設定讀寫屬性,r為readonly,rw為read and write

使用lvdisplay檢視建立的快照捲

lvdisplay /dev/myvg/mysnapshot

掛載快照捲

mount /dev/myvg/mysnapshot /mnt/mysnapshot

建立快照捲完成

這裡掛載的快照捲是建立快照時mylv的狀態,可以使用tar命令將快照卷中的檔案備份。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-05/143823.htm


IT145.com E-mail:sddin#qq.com