lvm是 logical volume manager(邏輯卷管理)的簡寫,它由heinz mauelshagen在linux 2.4核心上實現。lvm將乙個或多個硬碟的分割槽在邏輯上集合,相當於乙個大硬碟來使用,當硬碟的空間不夠使用的時候,可以繼續將其它的硬碟的分割槽加入其中,這樣可以實現磁碟空間的動態管理,相對於普通的磁碟分割槽有很大的靈活性。
與傳統的磁碟與分割槽相比,lvm為計算機提供了更高層次的磁碟儲存。它使系統管理員可以更方便的為應用與使用者分配儲存空間。在lvm管理下的儲存卷可以按需要隨時改變大小與移除(可能需對檔案系統工具進行公升級)。lvm也允許按使用者組對儲存卷進行管理,允許管理員用更直觀的名稱(如"sales'、 'development')代替物理磁碟名(如'sda'、'sdb')來標識儲存卷。
lvm的工作原理其實很簡單,它就是通過將底層的物理硬碟抽象的封裝起來,然後以邏輯卷的方式呈現給上層應用。在傳統的磁碟管理機制中,我們的上層應用是直接訪問檔案系統,從而對底層的物理硬碟進行讀取,而在lvm中,其通過對底層的硬碟進行封裝,當我們對底層的物理硬碟進行操作時,其不再是針對於分割槽進行操作,而是通過乙個叫做邏輯卷的東西來對其進行底層的磁碟管理操作。比如說我增加乙個物理硬碟,這個時候上層的服務是感覺不到的,因為呈現給上層服務的是以邏輯卷的方式。
lvm最大的特點就是可以對磁碟進行動態管理。因為邏輯卷的大小是可以動態調整的,而且不會丟失現有的資料。如果我們新增加了硬碟,其也不會改變現有上層的邏輯卷。作為乙個動態磁碟管理機制,邏輯卷技術大大提高了磁碟管理的靈活性。
pv(physical volume)- 物理卷
物理卷在邏輯卷管理中處於最底層,它可以是實際物理硬碟上的分割槽,也可以是整個物理硬碟,也可以是raid裝置。
vg(volumne group)- 捲組
捲組建立在物理卷之上,乙個卷組中至少要包括乙個物理卷,在捲組建立之後可動態新增物理捲到卷組中。乙個邏輯卷管理系統工程中可以只有乙個捲組,也可以擁有多個捲組。
lv(logical volume)- 邏輯卷
邏輯卷建立在捲組之上,卷組中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立後可以動態地擴充套件和縮小空間。系統中的多個邏輯卷可以屬於同乙個捲組,也可以屬於不同的多個捲組。
關係圖如下:
pe(physical extent)- 物理塊
lvm 預設使用4mb的pe區塊,而lvm的lv最多僅能含有65534個pe (lvm1 的格式),因此預設的lvm的lv最大容量為4m*65534/(1024m/g)=256g。pe是整個lvm 最小的儲存區塊,也就是說,其實我們的資料都是由寫入pe 來處理的。簡單的說,這個pe 就有點像檔案系統裡面的block 大小。所以調整pe 會影響到lvm 的最大容量!不過,在 centos 6.x 以後,由於直接使用 lvm2 的各項格式功能,因此這個限制已經不存在了。
rpm -qa | grep lvm ##檢查系統中是否安裝了lvm管理工具
yum install lvm ##使用yum 方式安裝
首先要fdisk建立分割槽,特別要注意的是linux的lvm的格式為8e,做之前用watch命令監控
watch -n 1
'pvs;echo ====;vgs; echo ====;lvs; echo ====;df -h /mnt'
df -h /mnt ##檢視/mnt可以使用的裝置的情況
fdisk /dev/vdb ##建立分割槽
pvcreate /dev/vdb1 ##將分割槽轉化成物理卷
vgcreate vg0 /dev/vdb1 ##把物理卷製作成乙個物理組
lvcreate -l 100m -n lv0 vg0 ##在這個物理組中建立出乙個裝置,-l 指定裝置大小, -n 指定裝置名字
注:在xfs系統中,xfs檔案系統只能擴大不能縮減
lvextend -l 150m /dev/vg0/lv0 ##擴大lvm裝置到150m
xfs_growds /dev/vg0/lv0 ##將xfs檔案系統擴大到裝置一樣大小
fdisk /dev/vdb ##再建立乙個分割槽
partprobe ##同步分割槽資訊表
pvcreate /dev/vdb2 ##在pv中增加一塊裝置
vgextend vgo / ##將新建立的裝置增加到vg0中
lvextend -l 300m /dev/vg0/lv0 ##擴大到300m
xfs_growfs /dev/vg0/lv0 ##將xfs檔案系統擴大到裝置
注:xfs系統不能縮減,etx4系統可以,所以進行縮減的時候,先將xfs格式檔案轉化為ext4,格式化前必須取消掛載
umount /mnt/
##解除安裝
blkid ##檢視磁碟檔案系統
mkfs.ext4 /dev/vg0/lv1 ##如果不是ext4檔案系統的,格式化為ext4
e2fsck -f /dev/vg0/lv0 ##檢測磁碟內容防止內容丟失
resize2fs /dev/vg0/lv0 200m ##磁碟分割槽縮減
mount /dev/vg0/lv0 /mnt/
##掛載
lvreduce -l 200m /dev/vg/lv0 ##磁碟裝置縮減到200m
1 umount /mnt/
##取消掛載
2 lvcreate -l 40m -n lvmkz -s /dev/vg0/lv0 ##快照大小一般是原裝置的1/5, -s是模板物件
3 mount /dev/vg0/lvmkz /mnt/
##掛載
4 umount /mnt/
##取消掛載
5 lvremove /dev/vg0/lvmkz ##刪除快照
6 lvcreate -l 20m -n lvmkz -s /dev/vg0/lv0 ##重新拍照
在快照前建立的檔案,刪除後,再通過快照可以恢復。因為掛載到上面的只是資料備份,刪除了也不會影響原檔案。但是在快照之後儲存的資料會被永久性刪除。
刪除順序和建立順序相反
umount /mnt/
dflvremove /dev/vg0/lvmkz ##刪除快照
lvremove /dev/vg0/lv0 ##刪除邏輯卷
vgremove vg0 ##刪除物理組
pvremove /dev/vdbn(n=1.
.n-1,n) ##刪除物理卷
Linux邏輯卷管理
因為之前安裝系統的時候沒考慮使用邏輯卷管理 logical volume management,lvm 現在要用xen安裝多台虛擬機器導致分割槽混亂,所以現在才想到使用邏輯卷管理的好處。本文基本上是參照ibm中國社群的邏輯卷管理這篇文章。邏輯卷管理 lvm 指系統將物理卷管理抽象到更高的層次,常常會...
linux 邏輯卷管理
pv 物理卷 被lv命令組過的物理分割槽 vg 物理捲組 被u組裝到一起的物理卷 pe 物理擴充套件 lvm裝置的最小單元,lvm是pe的整數倍 lvm 邏輯卷 直接使用的裝置,可以增大縮減並保持原有資料 lvm的建立 1.分割槽並指定標籤為8e lvm拉伸 1.針對xfs檔案系統 xfs檔案系統只...
LINUX系統 之 LVM(邏輯卷)管理
概述 lvm是邏輯卷管理 logical volume manager 的簡稱,它是建立在物理儲存裝置之上的乙個抽象層,允許生成邏輯儲存卷,和直接使用物理儲存在管理上相比,提供了更好的靈活性。lvm將儲存虛擬化,使用邏輯卷不會受限於物理磁碟的大小,可以不用停止應用或解除安裝檔案系統來調整卷大小或資料...