2021-05-12 14:32:11
在Linux中新增LVM邏輯卷
LVM概述
LVM是邏輯卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁碟分割區進行管理的一種機制,LVM是建立在硬碟和分割區之上的一個邏輯層,來提高磁碟分割區管理的靈活性。
LVM的工作原理其實很簡單,它就是通過將底層的物理硬碟抽象的封裝起來,然後以邏輯卷的方式呈現給上層應用。在傳統的磁碟管理機制中,我們的上層應用是直接存取檔案系統,從而對底層的物理硬碟進行讀取,而在LVM中,其通過對底層的硬碟進行封裝,當我們對底層的物理硬碟進行操作時,其不再是針對於分割區進行操作,而是通過一個叫做邏輯卷的東西來對其進行底層的磁碟管理操作。比如說我增加一個物理硬碟,這個時候上層的服務是感覺不到的,因為呈現給上層服務的是以邏輯卷的方式。
LVM最大的特點就是可以對磁碟進行動態管理。因為邏輯卷的大小是可以動態調整的,而且不會丟失現有的資料。如果我們新增加了硬碟,其也不會改變現有上層的邏輯卷。作為一個動態磁碟管理機制,邏輯卷技術大大提高了磁碟管理的靈活性。
基本的邏輯卷管理概念:
PV(Physical Volume)- 物理卷
物理捲在邏輯卷管理中處於最底層,它可以是實際物理硬碟上的分割區,也可以是整個物理硬碟。
VG(Volumne Group)- 卷組
捲組建立在物理卷之上,一個捲組中至少要包括一個物理卷,在捲組建立之後可動態新增物理捲到卷組中。一個邏輯卷管理系統工程中可以只有一個捲組,也可以擁有多個捲組。
LV(Logical Volume)- 邏輯卷
邏輯卷建立在捲組之上,捲組中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立後可以動態地擴充套件和縮小空間。系統中的多個邏輯卷可以屬於同一個捲組,也可以屬於不同的多個卷組
LVM的管理命令
LVM管理命令主要分為三大類:PV物理卷管理、VG捲組管理、LV邏輯卷管理,對應的命令程式檔案分別以"pv"、"vg"、"lv"開頭,如下表所示:
功能 PV管理命令 VG管理命令 LV管理命令
scan 掃描 pvscan vgscan lvscan
create 建立 pvcreate vgcreate lvcreate
display 顯示 pvdisplay vgdisplay lvdisplay
remove 移除 pvremove vgremove lvremove
extend 擴充套件
vgextend lvextend
reduce 減少
vgreduce lvreduce
PV物理卷管理
pvscan命令:用於掃描系統所有物理卷,並輸出相關資訊
pvcreare命令:用於將分割區或整個硬碟轉換成物理卷
例如:把分割區 /dev/sdb1、/dev/sdb2 轉換成物理卷
# pvcreate /dev/sdb1 /dev/sdb2
pvdisplay命令:用於顯示物理卷的詳細資訊,需要指定物理卷作為命令引數
# pvdisplay /dev/sdb1
pvremove命令:用於將物理卷還原成普通分割區或磁碟,不在屬於LVM體系
# pvremove /dev/sdb1
VG捲組管理
vgscan命令:用於掃描系統以建立的LVM捲組及相關資訊
vgcreare命令:用於將一個或多個物理捲建立成一個捲組
例如:使用物理卷 /dev/sdb1、/dev/sdb2 建立名為 ysf 的卷組
# vgcreate ysf /dev/sdb1 /dev/sdb2
vgdisplay命令:用於顯示各卷組的詳細資訊,需要指定捲組名作為命令引數
# vgdisplay ysf
pvremove命令:用於刪除指定的卷組,需要指定捲組名作為命令引數
# vgremore ysf
vgextend命令:用於擴充套件卷組的磁碟空間
例如:將物理卷 /dev/sdb3 新增到卷組 ysf 中
# vgextend ysf /dev/sdb3
LV邏輯卷管理
lvscan命令:用於掃描系統中已建立的邏輯卷及相關資訊
lvcreare命令:用於從指定的卷組中分割空間,以建立新的邏輯卷
基本格式:lvcreare -L 容量大小 -n 邏輯卷名 捲組名
例如:在卷組 ysf 中建立一個新的邏輯卷,容量為8GB,名稱為 yang# lvcreate -L 8G -n yang ysf
lvdisplay命令:用於顯示邏輯卷的詳細資訊,需要指定邏輯卷的裝置檔案作為命令引數
# pvdisplay /dev/ysf/yang
lvextend命令:用於動態擴充套件邏輯卷的磁碟空間
基本格式:lvextend -L +容量大小 /dev/ 捲組名 / 邏輯卷名
例如:為 ysf 邏輯捲擴充套件10GB的磁碟空間,並使用 resize2fs 命令重設大小
lvextend -L +10G /dev/ysf/yang
resize2fs /dev/ysf/yang
lvremove命令:用於刪除指定的邏輯卷,需要指定邏輯卷的裝置檔案作為命令引數
lvremove /dev/ysf/yang
邏輯卷建立之後,使用 mkfs 命令對邏輯卷進行格式化,建立xfs檔案系統,並掛載到 /maibox 目錄下
# mkfs -t xfs /dev/ysf/yang # mount /dev/ysf/yang /maibox
下面具體開始做實驗
首先在VM虛擬機器上給Linux新增3塊20G的硬碟一共60G
三塊20G的硬碟已經新增完成,接下來使用reboot命令重新啟動系統init 6也可以,如果不重新啟動系統系統將無法識別硬碟
使用cd /dev ;ls命令檢視了dev目錄,確定新新增的三塊硬碟已經被識別
別識別之後還沒有分割區還沒有格式化,首先要分割區格式化使他們變成物理卷,使用fdisk /dev/sdb進入新增的第一塊硬碟的設定模式按n建立一個主分割區接著直接一直迴車把所以的空間都分配給分割區1,最後檢視已經生成分割區1,20個G
接下來輸入t 更改分割區的檔案型別,LVM的檔案型別是8e,輸入8e然後w退出
新增的第二塊磁碟跟第三塊磁碟也是一樣的操作
接下來輸入fdisk -l檢視一下硬碟資訊,確認已經設定完成
使用pvcreate /dev/sd{b..d}1命令把剛才已經分配好的三塊硬碟成為物理卷
使用pvscan命令檢視物理卷情況,確定空閒未被使用的物理捲就是剛才新增的三塊硬碟60個G
接下來使用vgcreate vg /dev/sd{b..d}1的命令建立一個名叫“vg”的卷組
使用vgdisplay命令檢視一下就看到剛剛建立的卷組vg,每個物理卷由多個PE組成,而基本組成單位PE的大小是4M
接下來使用命令lvcreate -L 25G -n vg1 vg 建立一個邏輯卷,-L 25G的意思是指邏輯卷為25G,而-n vg1是指它的邏輯卷的卷名
現在使用cd /dev; ls命令進入dev目錄並檢視已經看到vg卷組的裝置檔案
接下來繼續使用lvcreate建立一個容量為15G名字為vg2的邏輯卷
接下來使用lvdisplay檢視檢視邏輯卷的詳細資訊,看到剛才的兩個邏輯卷都已經建立成功了
順便使用ls -l /dev/vg命令看看我們的vg1 跟vg2已經建立成功存在於dev目錄下的vg裡面
如果邏輯卷的容量不夠用了怎麼辦,這邊邏輯卷主要有一個彈性收縮的特點如果不想使用可以刪除,如果不夠使用的話可以隨時新增容量。這邊使用vextend -L +10G /dev/vg/vg1 給剛剛新增的vg1邏輯卷增加了10G 並使用lvdisplay檢視
現在的邏輯卷已經新增完成,接下來必須要去格式化它才能使用。格式化命令mkfs -t xfs /dev/vg/vg1, mkfs -t xfs /dev/vg/vg2
格式化完成之後接下來要做的是建立兩個掛載點,並把建立的兩個邏輯捲掛載就可以使用了。如果想刪除邏輯卷的話直接使用lvremove命令就可以刪除指定的邏輯卷,需要指定邏輯卷的裝置檔案作為命令引數
如果被掛載當中的邏輯卷新增了容量能不能使用呢?答案是可以的我們試一下。使用lvextend -L +2G /dev/vg/vg1給vg1的邏輯卷新增了2G的容量,顯示已經從原來的35G增長到了37G
但是現在的系統還是無法識別到剛剛新增的2G,那怎麼辦呢
增加容量完成夠必須使用xfs_growfs ( xfs檔案系統擴充套件命令)給它更新一下
更新完成後再使用df -hT命令檢視一下,就能看見容量已經從原來的35G增加成為37G了
相關文章