LVM 邏輯卷管理詳解

一、什麼是LVM

       邏輯卷管理器,LVM是Linux環境中對磁盤分區進行管理的一種機制,是建立在硬盤和分區之上、文件系統之下的一個邏輯層,可提高磁盤分區管理的靈活性。LVM的作法是將幾個物理的分區(或磁盤)通過軟件組合成爲一塊看起來是獨立的大磁盤(VG),然後將這塊大磁盤再分成爲可使用的分區(LV),最終就能夠掛載使用了。

二、LVM的相關概念
       PhysicalVolume,PV,物理卷:物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),   是 LVM的本存儲邏輯塊。
       Volume,VG,卷組:所謂的LVM大磁盤就是將許多PV整合成這個VG,所以VG就是LVM組合起來的大磁盤。
       Physical Extend,PE,物理擴展塊每一個物理卷被劃分爲稱爲PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的   最小單元。PE          的大小是可配置的,默認爲4MB。
       Logical Volume,LV,邏輯卷:LVM的邏輯卷類似於非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。

三、創建LVM邏輯卷的具體過程

1、創建物理文件系統,並將其文件系統類型設置爲lvm,分區時修改文件系統類型爲8e,如下:

wKioOVLDfYDBnltpAABAfHohIv8557.jpg

以上爲我們要創建LVM邏輯卷準備的兩個分區。

2、創建物理卷(PV),我們來看下和PV相關的命令:
pvcreate:將物理分區創建成爲物理卷(PV),創建命令;
pvscan:查詢目前系統裏面任何具有PV的磁盤;
pvdisplay:顯示出目前系統上面的PV狀態;
pvremove:將PV屬性刪除,讓該分區不具有PV屬性;

下面我看來創建PV吧,其實非常簡單了。
[root@lab02 ~]# pvcreate /dev/sd{c,d}3
[root@lab02 ~]# pvscan

wKioJlLDfcPjK3gbAACjSEGUc5s911.jpg


[root@lab02 ~]# pvdisplay /dev/sd{c,d}3

wKioJlLDhqXigMlPAADaIlqw6I0890.jpg

       查看當前的PV狀態, /dev/sd{c,d}3 指定查看那個sdc3、sdd3的PV狀態,如果不指定即查看所有PV狀態。這樣我們的PV就創建好了,分別是sdc3、sdd3!


[root@lab02 ~]# pvs
wKioJlLDh5XQHSt_AABO-GCSKHk628.jpg

查看PV的簡要信息,看到和上面命令的區別了吧!



3、創建卷組(VG)我們來看下和VG相關的命令:
vgcreate:創建VG的命令;
vgscan:查找系統上面是否有VG存在;
vgdisplay:顯示目前系統上面的VG狀態;
vgextend:在VG內增加額外的PV;
vgreduce:在VG內刪除PV;
vgchange:設置VG是否啓動;
vgremove:刪除一個VG;

格式:vgcreate  [-s N[mgt]]  VG名稱  PV名稱
參數:
-s:後面接PE的大小(size),單位可以是m,g,t(大小寫均可)默認爲4MB
[root@lab02 ~]# vgcreate -s 8M test_vg /dev/sd{c,d}3
[root@lab02 ~]# vgscan

wKioJlLDf5iQIrrlAAB20UzpGYY922.jpg


[root@lab02 ~]# vgdisplay test_vg

wKioOVLDf-KCW6xWAACtf8ORWME131.jpg

看當前的PV狀態,這裏就不多做解釋了


[root@lab02 ~]# vgs

wKioOVLDgTfi43niAAA5ZSSEAfU331.jpg

       大家應該可以看明白吧,和之前介紹的pvs差不多哦!從這裏可以看到,我們的VG已經創建好了,將之前創建的兩個PV的大小,整合到一起了,我們新建的VG大小爲10G。



4、創建邏輯卷(LV)我們來看下和LV相關的命令
lvcreate :新建LV;
lvscan:查詢系統上面的LV;
lvdisplay:顯示系統上面LV狀態;
lvextend:在LV裏面增加容量;
lvreduce:在LV裏面減少容量
lvremove:刪除一個LV;
lvresize:對LV進行容量大小的調整;

我們來創建一個LV吧!


格式:lvcreate  [-L N[mgt]] [-n LV名稱]  [VG名稱]

參數:
    -L:後面接容量,容量的單位可以是M,G,T等,最小單位爲PE,這個單位必須是PE的倍數,若不相符,系統自動計算相近的容量。
       -l:後面接PE的個數,而不是數量
       -n:後面接的就是LV的名稱。

創建一個4G大小的LV吧,看看如何創建。

[root@lab02 ~]# lvcreate -L 4G -n my_lv test_vg    # 創建大小爲4G的LV
[root@lab02 ~]# lvscan    # 查看系統上面的LV
[root@lab02 ~]# lvs    # 查看LV簡要信息。

wKioJlLDgYjjhI7VAADsjDvRdsg636.jpg


[root@lab02 ~]# lvdisplay /dev/test_vg/my_lv

wKioOVLDggeRE-MSAAC1S_zyuXo315.jpg


       LV 到這裏我們也創建好了,下面我們就來對新創建的LV進行格化、掛載等操作吧,這裏我就不對格式化掛載等操作進行過多的解釋了,我們直接來操作吧。要注意VG的全稱是test_vg;LV的名稱必須要使用全名,/dev/test_vg/my_lv這樣纔對哦,所以千萬不要格式化錯了哦,路徑要選對哦


[root@lab02 ~]# mke2fs -t ext4 /dev/test_vg/my_lv
[root@lab02 /]# mount /dev/test_vg/my_lv /mnt

wKioOVLDglyRhkAUAADQjTNQgHk519.jpg


       從上圖可以看出,我們已經成功把my_lv掛載到了/mnt目錄下,通過df命令也可以查看到大小爲4G。到這裏lvm的基本內容就講解完了,下面我們還看看如何擴展VG、縮減VG、擴展LV、縮減LV以及快照卷等用法


5、擴展VG的容量
[root@lab02 ~]# fdisk -l /dev/sdb | grep sdb9
[root@lab02 ~]# vgs
[root@lab02 ~]# pvcreate /dev/sdb9
[root@lab02 ~]# vgextend test_vg /dev/sdb9

wKioJlLDgqbyyfMkAAEDFA5mS94370.jpg

通過上圖可以看出擴展VG的容量擴展了2G,應該不難理解吧。下面我們在來看看如何縮減VG


6、縮減VG的容量
[root@lab02 ~]# pvmove /dev/sdc3
[root@lab02 ~]# vgreduce test_vg /dev/sdc3
[root@lab02 ~]# pvremove /dev/sdc3

wKioOVLDgvPTrcv-AADZTD3pFo8622.jpg

現在我們VG的容量,已經減少到7G了,到這裏我們就能看到使用LVM的好處了吧。下面我們繼續往下看!


7、擴展邏輯卷(LV)
[root@lab02 ~]# lvextend -L +2G /dev/test_vg/my_lv
[root@lab02 ~]# resize2fs /dev/test_vg/my_lv

wKioJlLDgzPyXpcpAAE5nWPYuTw880.jpg

wKioJlLDg2Wg14fyAABV6a2UzOc580.jpg

在次查看LV容量,已經增加到6G,至此完成了LV容量的擴展。


8、縮減邏輯卷(LV)
[root@lab02 ~]# resize2fs /dev/test_vg/my_lv 3G
[root@lab02 ~]#lvreduce -L 3G /dev/test_vg/my_lv

wKioJlLDg4bDriNNAAG2O0Zp-Ak152.jpg

LV容量已經縮減到3G,完成LV容量的縮減
注:這裏在提一個,進行LV擴展、縮減操作時最好對文件系統進行檢查,以免出現問題。可以通過e2fsck命令進行檢查。


9、快照卷
       LVS快照就是將當時的系統信息記錄下來,就好像照相記錄一樣。將來若有任何數據改動了,則原始數據會被移到快照區,沒有被動的區域則由快照區與文件系統共享。下面我們來看一個創建快照的過程吧,其實很簡單
[root@lab02 ~]# lvcreate -L 100M -s -p r -n my_lv-snap /dev/test_vg/my_lv
[root@lab02 ~]# ls /dev/test_vg
[root@lab02 ~]# mount -o ro /dev/test_vg/my_lv-snap /media

wKioJlLDg97xBrKJAAChmooegiA885.jpg


10、刪除LV、VG、PV
   lvremove
   vgremove
   pvremove

       例:將剛剛創建的my_lv-snap快照刪除。
       # lvremove /dev/test_vg/my_lv-snap         這樣就可以了,簡單吧,VG、PV刪除都是一樣的,在這裏就不舉例了。

       總結:本文介紹了關於LVM的相關概念,並詳細的講解了物理卷(PV)、卷組(VG)、邏輯卷(LV)的創建,物理卷(VG)的擴展與縮減,邏輯卷(LV)的擴展與縮減。最後簡單介紹瞭如何創建快照卷等功能,希望對大家有所幫助


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章