標籤:pe 快照 lvm lv pv
LVM:Logical Volumn Manager 邏輯卷管理
是用來做什麼的?
lvm將存放裝置變成PV,然後把一個或多個PV組織成一個或多個卷組,再在卷組上建立LV。建立好LV後對其格式化,就可以掛載使用了。用LVM管理的硬碟好處是:不關機對分區大小調整,擴容方便,一個分區可以位於多塊硬碟上。對每個分區的大小沒有需要。可以做快照卷。
名詞解釋
pv:物理卷,位於LVM的最底層,每個pv由一個分區組成。只有把分區標記為pv後才能加入vg。
vg: 卷組,由一個或多個pv組成,卷組用來管理pv,刪除、添加pv在這裡完成。pe的大小也在這裡指定。
pe:物理盤區,位於pv中。預設4M,單位只能為2的N次方,4M、8M等。建立卷組的時候指定後不能再更改。是卷組分配給lv最小容量單位。
lv:邏輯卷,建立好lv後格式化lv,然後再掛載就可以使用了。
快照卷: 通過很短的時間對某個分區做一個快照。是一種特殊的lv,一般不住這裡寫資料,用來做備份。應用情境:對某個分區做備份時,可能需要一個小時。假如第一個複製是的A檔案,最後一個複製的B檔案,就有可能出現A檔案的內容是一小時之前的,複製B檔案時可能時間已經過去了一個小時,B檔案內容是一小時之後的。這樣整個資料就出現了虎頭蛇尾,這就很不妥了。如果沒有鏡像磁碟區,就需要停止原卷寫入,然後再備份,這樣的耽誤時間後果是可想而知的。而快照圈會把在快照之後有變動的檔案放到自己的空間儲存一份,沒有變動的檔案還會儲存在原分區上。有了這個機制,通過快照卷備份的資料都是同一個時刻的。快照卷大小由變動檔案多少決定,最大與原卷一樣。快照卷與原卷必須在一個vg上。
lvm建立順序:硬碟分區-->把分區變成pv-->建立vg-->建立lv-->格式化lv-->掛載
注意:硬碟分區時,一定要標記分區類型為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
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3E/DD/wKioL1PH61CzbqZgAAM-J3QtguE925.jpg" title="1.png" alt="wKioL1PH61CzbqZgAAM-J3QtguE925.jpg" />
2,把這分好區的硬碟建立成pv
#pvcreate /dev/sd{c,d}1
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/3E/DE/wKiom1PH6n7Rw05wAABt96r33YQ840.jpg" style="float:none;" title="2.png" alt="wKiom1PH6n7Rw05wAABt96r33YQ840.jpg" />
提示建立成功
#pvs
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3E/DE/wKioL1PH65jSMSzrAACA5TN58RM874.jpg" style="float:none;" title="3.png" alt="wKioL1PH65jSMSzrAACA5TN58RM874.jpg" />
/dev/sda2 是系統內建的。
3,建立卷組
#vgcreate myvg /dev/sd{c,d}1 #vgs
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/3E/DE/wKiom1PH6n7hGcL6AADAPXR_2k4926.jpg" style="float:none;" title="4.png" alt="wKiom1PH6n7hGcL6AADAPXR_2k4926.jpg" />
使用pvdisplay命令查看更詳細的資訊
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/3E/DE/wKioL1PH65jRi3ZxAAKFILPqWkw789.jpg" style="float:none;" title="5clipboard.png" alt="wKioL1PH65jRi3ZxAAKFILPqWkw789.jpg" />
4,建立好vg後就可以建立lv了。
#lvcreate -n mystor -L 999g myvg #lvs
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3E/DE/wKiom1PH6n7iYsM7AACjNxHhIuM695.jpg" style="float:none;" title="6.png" alt="wKiom1PH6n7iYsM7AACjNxHhIuM695.jpg" />
建立好lv後其裝置檔案在/dev/下和vg名一樣的目錄裡看到串連檔案。
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/3E/DE/wKioL1PH65iw3lePAABpu0ihyp0839.jpg" style="float:none;" title="7.png" alt="wKioL1PH65iw3lePAABpu0ihyp0839.jpg" />
5,格式化,掛載使用。
#mkfs -t ext4 /dev/myvg/mystor #mount /dev/myvg/mystor /data
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3E/DE/wKioL1PH65iCDeYJAAD4CTWhst0303.jpg" style="float:none;" title="8.png" alt="wKioL1PH65iCDeYJAAD4CTWhst0303.jpg" />
擴充LVM
1,新硬碟分區,然後添加到vg中
#vgextend myvg /dev/sde1 /dev/sdf1#vgs
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/3E/DE/wKiom1PH65LStvLaAADv2Pw6GJE014.jpg" style="float:none;" title="9.png" alt="wKiom1PH65LStvLaAADv2Pw6GJE014.jpg" />
2,加進來了,開始擴充lv
#lvextend -L +500g /dev/myvg/mystor
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3E/DE/wKioL1PH7KyxKB6tAAB7ulWXWlw919.jpg" style="float:none;" title="10.png" alt="wKioL1PH7KyxKB6tAAB7ulWXWlw919.jpg" />
成功了
#lvs
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/3E/DE/wKioL1PH7KzhzFB8AACq99GXM8I927.jpg" style="float:none;" title="11.png" alt="wKioL1PH7KzhzFB8AACq99GXM8I927.jpg" />
3,該擴充檔案系統了。
#resize2fs /dev/myvg/mystor
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3E/DE/wKiom1PH65OBVWHEAAEcspfnlEs274.jpg" style="float:none;" title="12.png" alt="wKiom1PH65OBVWHEAAEcspfnlEs274.jpg" />
擴充前
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/3E/DE/wKioL1PH7KygEmTQAADxQt4AWDE868.jpg" style="float:none;" title="13.png" alt="wKioL1PH7KygEmTQAADxQt4AWDE868.jpg" />
擴充後
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/3E/DE/wKiom1PH65PBiQQiAAEBgNCRt5s080.jpg" style="float:none;" title="14.png" alt="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
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/3E/DE/wKiom1PH7EqSiJVxAABYlq4hrKs071.jpg" style="float:none;" title="15.png" alt="wKiom1PH7EqSiJVxAABYlq4hrKs071.jpg" />
命令太長,沒有全部截下來。
然後掛載快照卷
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3E/DE/wKioL1PH7WSBXHG_AAB9xMxuzX8369.jpg" style="float:none;" title="16.png" alt="wKioL1PH7WSBXHG_AAB9xMxuzX8369.jpg" />
備份完成後快照卷卸載,然後刪除快照卷。這時留下快照卷已經沒有意義了。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/3E/DE/wKiom1PH7ErQZcgXAAA6-nrqB8c991.jpg" style="float:none;" title="17.png" alt="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。
最後附上馬哥說過的話:“縮減有危險,操作需謹慎!”
本文出自 “紅顏易逝豪情長” 部落格,請務必保留此出處http://wukui.blog.51cto.com/1080241/1439748