不知道大家想過這麼一個問題沒有,如果一個文件大小是持續增長的,我們把它放到一塊分區上,但是有一天這個分區突然不能容下這個文件了,我們又不想再把這個文件複製到更大的分區上,那麼我們如何能在不損壞原文件的基礎上把分區擴大以容下不斷增長的文件呢?這裏我們就要引用邏輯卷的概念lvm.
什麼是邏輯卷?
我們把多快硬盤組織爲一個邏輯設備,在其中動態新建一個邏輯分區,那麼我們就把硬盤部分簡單的稱爲物理卷,把邏輯設備稱爲卷組,而把邏輯分區稱爲邏輯卷,如圖:
這裏我們就要引入物理邊界和邏輯邊界的定義。我們把硬件設備的大小定義爲物理邊界,而把其中邏輯分區的大小定義爲邏輯邊界。這裏我們要注意,邏輯邊界的大小取決於物理邊界的大小,不能超越。我們在使用過程中就可以根據自己的
需要來自行擴展和縮減邏輯捲了。
卷管理
根據不同的卷我們可以進行管理,如管理pv的pvreate,pvremove,pvs,pvdisplay,pvscan,pvmove等,vg和lv的命令格式和pv相同就不在說了,下面我們來講一下其使用格式:
pvreate name 設備路徑
-s 數字:指定pe
例:創建一個pe大小爲8m的pv. Pvreate mypv /dev/sda5 –s 8m
Vgreate name pv-name
lvreate -n name -L 數字 vgname 必須用-n指定名字,用-L指定大小。
擴展邏輯卷
在linux中,我們可以用lvextend命令來實現擴展物理邊界,格式如下:
Lvextend -L [+]數字 lv路徑 其中前邊加+則表示增加n,直接加數字則表示增加到n.
例:擴展mylv加3g。 lvextend –L +3g /dev/myvg/mylv
使用resize2fs來實現擴展邏輯邊界。
Resize2fs lv路徑 數字
-p:擴展邏輯邊界和物理邊界一樣大。
擴展邏輯捲風險較小,可放心使用。
縮減邏輯卷
其順序如下:
1、縮減邏輯卷
resize2fs 邏輯卷路徑 數字
例:把mylv縮減爲3g. resizefs /dev/myvg/mylv 3g
2、縮減物理卷
Lvreduce –L (-)數字 邏輯卷路徑
注意:1、不能在線縮減,得先卸載;
2、確保縮減後的空間大小依然能存儲原有的所有數據;
3、在縮減之前應該先強行檢查文件,以確保文件系統處於一至性狀態。
快照卷
lvm還支持快照功能,快照就是保存文件修改後的屬性,有速度快等優勢,是一個相當好用的功能。應注意:
1、生命週期爲整個數據時長;在這段時長內,數據的增長量不能超出快照卷大小;
2、快照卷應該是隻讀的;
3、跟原卷在同一卷組內。
使用格式如下:
Lvreate 選項 路徑
–s:指定爲快照卷
-p r|w:指定權限
-L 數字:指定大小
例:爲mylv創建大小爲512m的只讀快照。 Lvreate –s –p r –L 512m /dev/myvg/mylv.
Lvm屬於內核上dm模塊的功能,它的應用幫助我們方便的解決了很多問題,我們本次就介紹到這裏,你學會了嗎?