LVM邏輯卷管理


LVM:Logical Volumn Manager 邏輯卷管理linux


是用來作什麼的?bash


lvm將存儲設備變成PV,而後把一個或多個PV組織成一個或多個卷組,再在卷組上建立LV。建立好LV後對其格式化,就能夠掛載使用了。用LVM管理的硬盤好處是:不關機對分區大小調整,擴容方便,一個分區能夠位於多塊硬盤上。對每一個分區的大小沒有須要。能夠作快照卷。ide



名詞解釋url


 pv:物理卷,位於LVM的最底層,每一個pv由一個分區組成。只有把分區標記爲pv後才能加入vg。spa


 vg: 卷組,由一個或多個pv組成,卷組用來管理pv,刪除、添加pv在這裏完成。pe的大小也在這裏指定。3d


 pe:物理盤區,位於pv中。默認4M,單位只能爲2的N次方,4M、8M等。建立卷組的時候指定後不能再更改。是卷組分配給lv最小容量單位。blog


 lv:邏輯卷,建立好lv後格式化lv,而後再掛載就可使用了。進程


 快照卷: 經過很短的時間對某個分區作一個快照。是一種特殊的lv,通常不住這裏寫數據,用來作備份。應用場景:對某個分區作備份時,可能須要一個小時。假如第一個複製是的A文件,最後一個複製的B文件,就有可能出現A文件的內容是一小時以前的,複製B文件時可能時間已通過去了一個小時,B文件內容是一小時以後的。這樣整個數據就出現了有始無終,這就很不妥了。若是沒有鏡像卷,就須要中止原卷寫入,而後再備份,這樣的耽誤時間後果是可想而知的。而快照圈會把在快照以後有變更的文件放到本身的空間保存一份,沒有變更的文件還會存儲在原分區上。有了這個機制,經過快照卷備份的數據都是同一個時刻的。快照卷大小由變更文件多少決定,最大與原卷同樣。快照卷與原卷必須在一個vg上。ip



lvm建立順序:硬盤分區-->把分區變成pv-->建立vg-->建立lv-->格式化lv-->掛載rem

   注意:硬盤分區時,必定要標記分區類型爲8e。如不標記有可能把pv拿到其它系統上掃描不到此分區作過pv。



命令


PV相關命令


pvcreate 建立卷組

pvs 查看當前系統的物理卷組

pvdisplay 查看當前系統的物理卷組的詳細信息

pvremove 移除pv

 如:pvremove /dev/sdb1

pvmove 把指定pv中的數據都移動到其它pv中,前提其它pv有足夠空間。

 如:pvmove /dev/sdb1

pvscan 當pv移動到其它計算機上時pv掃描,



VG相關命令


vgcreate 建立vg

 -s: 指定pe的大小,單位有k,m,g,t,e,p 但要是2的N次方,沒有特殊要求不用指定。

vgs 顯示當前系統的vg信息,(vg0是系統自帶的。)

vgdisplay 顯示當前系統的vg詳細信息

vgremove 刪除vg命令

vgextend vg擴展

vgreduce 對vg進行縮減,若是vg中的pv有數據,須要用pvmove移動pv中的數據

vgscan vg掃描命令

vgrename vg更名


LV相關命令

lvcreate 建立lv

 -n lvname:指定lv名字

 -L 2G:指定lv的大小經常使用的單位有m,M,g,G,t,T。好比這裏指定2G。

 -s 建立快照卷

 -p 指定權限,r爲只讀,rw爲讀寫。

 

 lvcreate -n mylv -L 2500G myvg

 lvs 顯示lv

 lvdisplay 顯示lv,更詳細

 lvremove 移除lv

 lvextend 擴展lv

 lvreduce 縮減lv

 lvscan 掃描lv


其它命令

resizee2fs  增長或縮減文件系統的命令

fuser 查看某個掛載點是否有進程使用

ex2fsck 檢測ext繫系文件系統。



建立一個2t的lv,建立好後對其擴展到2.5T。而後對其作快照卷。(以ext系統文件系統示例)


建立LVM


1,系統上掛了5塊500G的硬盤,先對2塊硬盤分區,指定分區類型標記爲8e。

#fidsk /dev/sdc

spacer.gifwKioL1PH61CzbqZgAAM-J3QtguE925.jpg


2,把這分好區的硬盤建立成pv

#pvcreate /dev/sd{c,d}1

wKiom1PH6n7Rw05wAABt96r33YQ840.jpg

  提示建立成功

#pvs

wKioL1PH65jSMSzrAACA5TN58RM874.jpg

    /dev/sda2 是系統自帶的。

3,建立卷組

 #vgcreate myvg /dev/sd{c,d}1
 #vgs

spacer.gifwKiom1PH6n7hGcL6AADAPXR_2k4926.jpg

使用pvdisplay命令查看更詳細的信息

spacer.gifwKioL1PH65jRi3ZxAAKFILPqWkw789.jpg


4,建立好vg後就能夠建立lv了。

 #lvcreate -n mystor -L 999g myvg
 #lvs

spacer.gifwKiom1PH6n7iYsM7AACjNxHhIuM695.jpg

建立好lv後其設備文件在/dev/下和vg名同樣的目錄裏看到鏈接文件。

spacer.gif

wKioL1PH65iw3lePAABpu0ihyp0839.jpg


5,格式化,掛載使用。

 #mkfs -t ext4 /dev/myvg/mystor
 #mount /dev/myvg/mystor /data

spacer.gifwKioL1PH65iCDeYJAAD4CTWhst0303.jpg

爲了之後開機系統自動掛載,給/etc/fstab文件中加入一行

wKiom1PJMOexR0BiAAA-JNxmP_k960.jpg


擴展LVM

1,新硬盤分區,而後添加到vg中

#vgextend myvg /dev/sde1 /dev/sdf1
#vgs

wKiom1PH65LStvLaAADv2Pw6GJE014.jpg

2,加進來了,開始擴展lv

#lvextend -L +500g /dev/myvg/mystor

wKioL1PH7KyxKB6tAAB7ulWXWlw919.jpg

成功了

#lvs

wKioL1PH7KzhzFB8AACq99GXM8I927.jpg

3,該擴展文件系統了。

#resize2fs /dev/myvg/mystor

wKiom1PH65OBVWHEAAEcspfnlEs274.jpg

擴展前

wKioL1PH7KygEmTQAADxQt4AWDE868.jpg

擴展後

wKiom1PH65PBiQQiAAEBgNCRt5s080.jpg



lvm 建立快照卷

    在建立快照卷前必定要確保沒有程序對原卷作寫操做,不然有建立快照時會把文件內容正在改變時候時態作爲快照。爲了確保儘可能減小作快照時佔用lv的時候,這裏把三條命令放在一塊兒執行了,第一句命令的意思是臨時把原卷的掛載點設置爲只讀,第二句命令建立快照卷,第三句命令把前面修改原卷掛載點還原。

 mount -o remount,ro /dev/myvg/mystor && lvcreate -L 1g -s -p r -n mystor-snap /dev/myvg/mystor && mount -o remount,rw /dev/myvg/mystor /data


wKiom1PH7EqSiJVxAABYlq4hrKs071.jpg

命令太長,沒有所有截下來。

而後掛載快照卷

wKioL1PH7WSBXHG_AAB9xMxuzX8369.jpg

備份完成後快照卷卸載,而後刪除快照卷。這時留下快照卷已經沒有意義了。

wKiom1PH7ErQZcgXAAA6-nrqB8c991.jpg


總結

    建立LVM的步驟:fdisk建立分區,並標記分區類型爲8e(linux lvm)-->建立pv-->建立vg(是否指定pe大小)-->建立lv-->格式化lv-->掛載


    擴展lv的步驟:若是vg空間不夠須要給vg添加空間,若是空間足夠則使用lvextend命令擴展,而後使用resizee2fs命令擴展分區容量。


    快照卷:必須與原卷在一個vg,且vg要有足夠空間。建立快照卷的時候要保證原卷沒有程序訪問。儘可能用最小時間建立原卷。掛載快照卷,備份完成後刪除快照卷。


    縮減lv:卸載lv(umount)-->使用(e2fsck -f)強制檢測文件系統,確保檢測後沒有問題-->使用resize2fs 命令縮減文件系統-->使用lvreduce  命令縮減-->掛載縮減後的lv。  注:縮減最小不能低於已使用的空間。



    縮減vg:使用pvmove命令移動要取出pv上的文件到其它pv。前題其它pv空間要足夠-->用vgreduce命令移除pv。

        

           


最後附上馬哥說過的話:「縮減有危險,操做需謹慎!」

相關文章
相關標籤/搜索