一、lvm介紹
1.lvm概念
LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本為:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝Linux操作系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分好之后就無法改變其大小,當一個邏輯分區存放不下某個文件時,這個文件因為受上層文件系統的限制,也不能跨越多個分區來存放,所以也不能同時放到別的磁盤上。而遇到出現某個分區空間耗盡時,解決的方法通常是使用符號鏈接,或者使用調整分區大小的工具,但這只是暫時解決辦法,沒有從根本上解決問題。隨著Linux的邏輯卷管理功能的出現,這些問題都迎刃而解,用戶在無需停機的情況下可以方便地調整各個分區大小。
2.相關概念
PV(Physical Volume)- 物理卷
物理卷在邏輯卷管理中處于最底層,它可以是實際物理硬盤上的分區,也可以是整個物理硬盤,也可以是raid設備。
VG(Volumne Group)- 卷組
卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之后可動態添加物理卷到卷組中。一個邏輯卷管理系統工程中可以只有一個卷組,也可以擁有多個卷組。
LV(Logical Volume)- 邏輯卷
邏輯卷建立在卷組之上,卷組中的未分配空間可以用于建立新的邏輯卷,邏輯卷建立后可以動態地擴展和縮小空間。系統中的多個邏輯卷可以屬于同一個卷組,也可以屬于不同的多個卷組。
3.lvm圖示
二、lvm創建
1.準備創建lvm使用的物理盤區,這里我們使用sdb1,sdc,sdd,sdb1是sdb的一個分區,需要對其進行設備system id 為8e,sdc和sdd因為是使用整個盤區不需此步。
2.創建pv
與pv相關的一些管理命令:
pvcreate:將實體partition創建為PV
pvdisplay:顯示出目前系統上的pv狀態VG
pvs:顯示pv的簡要信息
pvscan:搜尋系統里面任務具有PV的磁盤
pvremove:將PV屬性移除,讓該partition不具有PV屬性
出現如下could't find …時解決方法是使用vgreduce–removemissing vg0
3.創建vg
與vg相關的一些管理命令:
vgcreate:創建vg的命令
vgdisplay:顯示目前系統上面的vg狀態
vgs:顯示vg的簡要信息
vgscan:搜尋系統上是否有VG存在
vgextend:在VG內添加額外的PV
vgchange:配置VG是否啟動(active)
vgremove:刪除一個VG
vgcreate的相關選項:
-s|–physicalextensize 指定PE大小
-t|–test
-v|–verbose
如:lvcreate -s 16M vg1 /dev/sdc
注:刪除卷組,先做pvmove,再做vgremove
4.創建lv
與lv相關的一些管理命令
lvcreate:創建LV
lvscan:查詢系統上面的LV
lvdisplay:顯示系統上面LV狀態
lvs:簡要顯示lv信息
lvextend:在LV里面添加容量
lvreduce:在LV里面減少容量
lvresize:對lv進行容量大小的調整
lvremove:刪除一個LV
創建邏輯卷
lvcreate-L #[mMgGtT] -n NAME VolumeGroup
刪除邏輯卷
lvremove/dev/VG_NAME/LV_NAME
重設文件系統大小
fsadm[options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
5.格式化并掛載邏輯卷
三、lvm的擴容和縮減
1.擴容LV
1).用fdisk配置新的具有82system id的partition-/dev/sdb2
2).利用pvcreate創建PV
3).利用vgextend將PV加入我們的vg1
4).利用lvresize將新加入的PV內的PE加入testlv中
5).通過resize2fs將文件系統的容量確實增加
2.縮減
1).先卸載掛載的LV
2).強制進行磁盤檢查:e2fsck -f /dev/vg1/testlv
3).resize2fs /dev/vg1/testlv 5000M
4).lvreduce -L 5000M /dev/vg1/testlv
5).mount /dev/vg1/testlv /mnt/testlv
3.刪除順序
1).首先要先卸載LV,并刪除LV
2).刪除VG
3).最后刪除PV
四、lvm快照
1.什么是快照
快照就是將當時的系統數據記錄下來,在未來若有數據變動,則會將變更前的數據放在快照區進行保存,那么快照去將有兩部分組成:變更之前的數據和未變更的數據組成。這樣一來LVM的系統快照就像是一種很棒的備份工具,因為他只備份有變更的數據,文件系統內沒被變動的數據依舊保持在原本的區塊內,LVM知道哪些數據是變動的哪些沒有變動,因此,通過LVM快照備份下來的數據所占用的容量非常小,所以LVM快照是一個很不錯的工具。
2.創建快照
1).創建快照:lvcreate -L 2G -s -n snap-testlv -p r /dev/vg1/testlv (或者使用-L指定大小,-l指定的是PE數量 ,-p r 指定只讀屬性)
2).顯示信息:lvdisplay
3).創建快照目錄/mnt/snaptestlv
4).掛載mount /dev/vg1/snap-testlv /mnt/snaptestlv/
3.利用快照恢復數據
需要注意的是:所要恢復的數據不能超過快照區的總大小,因為如果變動的數據大小超過了快照區的空間,那么快照區是不能容納所有變動的數據了,這個時候快照功能會失效
示例:
先在原來的lv中寫入一些數據,然后通過lvm的快照功能來恢復之前的操作
1).cp -R /etc /mnt/testlv
2).創建一個數據恢復的臨時目錄:mkdir -pv /tmp/backup
3).cd /mnt/snaptestlv
4).tar -zcf /tmp/backup/lvm.tar.gz *
5).將snap-testlv卸載并移除,因為里面的內容已經備份出來了
6).解壓備份出來的文件和/mnt/testlv中的數據做對比看是否已經恢復到相關操作之前了。
原創文章,作者:提著醬油瓶打醋,如若轉載,請注明出處:http://www.www58058.com/42658