一.LVM(LogicalVolume Manager)邏輯卷管理
是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。通過LVM系統管理員可以輕鬆管理磁盤分區,如:將若干個磁盤分區連接爲一個整塊的卷組(Volume group),形成一個存儲池。管理員可以在卷組上隨意創建邏輯卷組(logicalvolumes),並進一步在邏輯卷組上創建文件系統。管理員通過LVM可以方便的調整存儲卷組的大小,並且可以對磁盤存儲按照組的方式進行命名,管理和分配,例如按照使用用途進行定義,而不是使用物理磁盤名“sda”和“sdb”。而且當系統添加了新的磁盤,通過LVM就不必將磁盤的文件移動到新的磁盤上以充分利用新的存儲空間,而是直接擴展文件系統跨越磁盤即可。
二.LVM中相關概念:
1.物理存儲介質:
是指系統的物理存儲設備:磁盤,是存儲系統最底層的存儲單元。如:/dev/sda /dev/hda 等。
2.物理卷(Physical Volume,PV)
是LVM最底層的的元素。指磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID), 是LVM的基本存儲邏輯塊,但和基本的物理存儲介質比較,它包含了有與LVM相關的管理參數。
3.卷組(Volume Group,VG)
類似於非LVM系統中的物理磁盤,是由一個或多個物理卷組成。可以在卷組VG上創建一個或多個邏輯卷LV。VG的大小就是整個LV的空間大小。
4.邏輯卷(Logical Volume,LV)
類似於非LVM系統中的磁盤分區,邏輯卷建立在VG之上。LV可以別用戶格式化,掛載,存儲數據,還可以調整LV的大小。
5.物理塊(Physical Extent,PE)
每個物理卷PV被劃分爲成爲PE的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE大小是可以配置的,默認爲4MB。所以物理卷PV是由等同的基本單元PE組成。
6.邏輯塊(Logical Extent,LE)
邏輯卷也被劃分爲可被尋址的基本單位爲LE。在同一個卷組中LE和PE的大小是相同的,並一一對應。
三.LVM的模型和PV,VG,LV之間的關係:
邏輯卷的創建過程:創建物理卷-->創建卷組-->再創建邏輯卷。
四.邏輯卷的創建和修改:
邏輯卷創建所涉及的命令:
1.物理卷涉及的命令有:
pvcreate,pvremove,pvscan,pvdisplay,pvmove
2.卷組涉及的命令有:
vgcreate,vgremove,vgscan,vgdisplay,vgextend,vgreduce
3.邏輯卷涉及的命令有:
lvcreate,lvremove,lvextend,lvreduce,lvs,lvdisplay
邏輯卷的創建過程:
1.創建物理文件系統,將其文件系統的類型設置爲LVM,分區時修改文件系統類型爲8e:
添加一塊磁盤(做實驗準備)進行分區:
進行創建分區,在次創建的分區大小都爲3G,以便實驗。
在創建三個分區之後,修改文件系統類型:
最終結果:
2.創建物理卷(PV)
先查看一下和PV相關的命令;
pvcreate:創建PV
pvscan:查看系統中具有pv的磁盤
pvdisplay:顯示PV的狀態
pvremove:將PV屬性刪除,讓該分區不具有PV屬性
接下來創建PV:
查看PV:
3.創建卷組:
卷組涉及到的命令:
vgcreate:創建VG
vgscan:查看VG
vgdisplay:顯示VG狀態
vgextend:擴展VG,就是增加物理卷
vgreduce:縮小VG,就是去除一個或多個物理卷
vgremove:刪除VG
vgrename:vg重命名
創建VG的命令格式:vgcreate [-s size] VG名 PV
創建好卷組之後,我們來擴展VG:vgextend vgName PV
在此進行縮小卷組:vgreduce vgName PV(就是移除一個或多個PV)
修改卷組名字:
4.創建邏輯卷
邏輯卷涉及的命令:
lvcreate:創建LV
lvscan:查看系統上的LV
lvdisplay:
lvextend:擴展LV
lvreduce:縮小LV
lvremove:刪除一個LV
創建LV:命令格式 lvcreate -L (大小M,G,T) -n LV名 VG名
-l:也可以制定大小,後面跟的是PE個數,
格式化邏輯卷和掛在:
格式化邏輯卷mylv:
格式化之後我們創建一個目錄/mylv 用來掛在邏輯卷,並在該目錄下創建一個文件,爲下面實 驗做準備。
5.邏輯卷的擴展和縮小:
在擴展邏輯卷時,需要先擴展物理邊界,再擴展邏輯邊界,縮小邏輯卷則反之。如下圖:
1.擴展邏輯卷
邏輯卷的擴展命令:格式爲:lvextend -L [+]大小 LV名
-L +4G表示擴展4G
-L 4G 表示擴展到4G
邏輯卷mylv已經掛在到/mylv目錄下,並且該目錄還有一文件。此時我們擴展邏輯卷:
擴展物理邊界:
在擴展邏輯邊界:
2.縮小邏輯卷:
注意:縮小邏輯卷,不能再線縮減,必須先卸載。確保縮減之後的空間大小依然能夠存儲原有 的數據。檢查文件,文件系統處於一致性狀態。
(1).卸載邏輯卷和進行文件系統檢測(命令爲e2fsck -f /dev/myvg0/mylv):
(2).先縮小邏輯邊界(查看縮小之後的大小):
(3).再縮小物理邊界然後查看大小
命令:lvreduce -L [-](大小) LV名
總結:在擴大和縮小邏輯卷時,使用命令的順序剛好相反。但是縮減時必須先卸載邏輯卷
擴大:lvextend -L +1G /dev/myvg0/mylv
resize2fs -p /dev/myvg0/mylv
縮小:umount /dev/myvg0/mylv
e2fsck -f /dev/myvg0/mylv
resize2fs /dev/myvg0/mylv 2G(這裏2G指縮減到2G)
lvreduce -L -1G /dev/myvg0/mylv
五:實現快照,創建快照卷:
生命週期爲整個數據時長,在這段時間內,數據的增長量不能超出快照卷大小;
快照卷不能修改,只能只讀;
快照卷必須和原卷在同一個卷組中:
創建快照卷命令:lvcreate -s -L (數字大小) -n mylv-snap -p r /dev/myvg0/mylv
-s 創建快照卷
-L 指定大小
-n 快照名字
-p r|w 指定權限
對邏輯卷mylv創建快照卷並創建一目錄掛在此快照卷