LVM是Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本爲:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝Linux操做系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分好以後就沒法改變其大小,當一個邏輯分區存放不下某個文件時,這個文件由於受上層文件系統的限制,也不能跨越多個分區來存放,因此也不能同時放到別的磁盤上。而遇到出現某個分區空間耗盡時,解決的方法一般是使用符號連接,或者使用調整分區大小的工具,但這只是暫時解決辦法,沒有從根本上解決問題。隨着Linux的邏輯卷管理功能的出現,這些問題都迎刃而解,用戶在無需停機的狀況下能夠方便地調整各個分區大小。css
邏輯的建立是由物理卷PV組合成卷組VG,而後再在卷組VG上劃分PE,而後建立LVapp
pv管理工具:ide
pvs:pv的簡要信息顯示工具
pvdisplay:顯示pv的詳細信息spa
pvmove /dev/DEVICE:把當前pv上的數據移動到其餘pv上操作系統
pvcreate /dev/DEVICE: 建立pv3d
vg管理工具: orm
vgs:vg的簡要信息顯示htm
vgdisplay:顯示vg的詳細信息blog
建立vg的語法格式:
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vg的擴展,增長
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vg的縮減
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
要作vg縮減,就必須先把pv中的數據移到其餘pv上,而後再作縮減,即先作pvmove 而後作 vgreduce
lv管理工具:
lvs:lv的簡要信息顯示
lvdisplay:顯示lv的詳細信息
建立lv的語法格式:
lvcreate -L#[mMgGtT] -n NAME VolumeGroup 指定的空間大小,要不能大於vg的空間;還有你指定的空間大小不會徹底匹配,這個取決於你指定的大小是否能被PE的空間大小整除
移除lv
lvremove /dev/VG_NAME/LV_NAME
擴展邏輯卷:
#lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
#resize2fs /dev/VG_NAME/LV_NAME
縮減邏輯卷:
#umount /dev/VG_NAME/LV_NAME
#e2fsck -f /dev/VG_NAME/LV_NAME
#resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
#lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
±5G是在原來的基礎上加上或減去5G;5G是設定如今的邏輯卷大小爲5G
lv的命名和調用時,使用的名稱格式:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
例:
快照:snapshot,就是把全部的文件作一個快速備份,可讓你回到之前的某個特定時間,快照只能在同一個分區內建立。
語法格式:
lvcreate -L #[mMgGtT] -p r -s -nsnapshot_lv_name original_lv_name
下面以一個實例,作下實驗
建立一個5G的pv,而後把它加入VG中,再給VG中添加一個5G的pv,作縮減操做後再添加回來,而後建立lv,並進行擴展及縮減操做
一、 首先建立幾個分區,而後把格式改成8e,加載到內核中(此步演示略,若有不會請看前面的博客)
二、 而後建立pv
重複幾回,pv就算建立成功了,能夠使用pvs或pvdisplay進行查看
由於沒有建立和加載到vg中,因此 VG Name爲空
三、 而後建立vg
查看下
再次查看下pv
而後爲vg擴展,使用vgextend ,並查看下vg
vg的縮減,必須先使用pvmove,而後在vgreduce,並查看
從新把/dev/sda6加入
四、 根據須要再添加pv到vg中
建立lv,使用lvcreate -L SIZE –n LV_NAME VG_NAME;使用ls 查看下會發下多了一個myvg-mylv的路徑,
對這個lv進行格式化
下面就能夠掛載使用了
這就是邏輯卷建立的整個過程
下面作下邏輯卷的擴展和縮減
之前的大小
擴展
如今仍是2G,這是由於你邏輯卷的邊界雖然大了,但文件系統的大小沒有變
須要使用resize2fs/dev/VG_NAME/LV_NAME 來擴展,這條命令只對ext系列的文件系統有效,不指定大小默認擴展到跟邏輯卷大小同樣
邏輯卷的縮減,必須先卸載文件系統,而後作文件系統的強制檢測和修復,而後把文件系統大小縮減(邏輯邊界縮小),最後縮減邏輯卷的大小(物理邊界)
縮減完成,在掛載就能夠使用了