LVM(邏輯卷)管理系統能夠將多個物理磁盤組裝爲一個大的邏輯磁盤進行使用,尤爲是管理大文件時很是方便。LVM能夠減小多個磁盤的部分空間閒置的狀況,集中使用提升磁盤利用率。LVM的卷能夠動態伸縮,方便使用。app
LVM由PV(物理卷)、VG(卷組)、LV(邏輯卷)組成,其中PV對應到物理磁盤的一個物理分區,LV至關於一個邏輯分區,VG創建起邏輯卷和物理卷之間的對應關係。工具
df -h
若是要將物理分區/dev/sdb2轉爲物理卷:操作系統
sudo pvcreate /dev/sdb2
將把LVM的標誌符寫入到磁盤之中。code
sudo pvs
以上面添加的第一個物理盤爲基礎,建立邏輯卷組ip
vgcreate vgdata /dev/sdb2
在被激活以前,VG與LV是沒法訪問的,這時可用命令:io
sudo vgchange -a y vgdata
激活所要使用的卷組。test
當再也不使用VG時,可用vgchange使之再也不可用。基礎
sudo vgchange -a n vgdata
語法以下:擴展
lvcreate [options] -n 邏輯卷名 卷組名 [PV1 ... ]
其中的經常使用可選項有:map
若是須要LV使用整個VG,可首先用vgdisplay 查找 Total PE 值,而後在運行lvcreate時指定,如:
# sudo vgdisplay vgdata | grep "Total PE" Total PE 10230 # sudo lvcreate -l 10230 vgdata -n data
這時建立了一個邏輯卷,名稱爲data。
建立出的邏輯卷至關於系統的一個「裸磁盤分區」,須要進一步建立文件系統和進行格式化。
sudo mke2fs /dev/vgdata/data
爲邏輯卷增長容量可用使用lvextend,便可以指定要增長的尺寸也能夠指定擴容後的尺寸,如
# lvextend -L12G /dev/vgdata/data lvextend -- extending logical volume "/dev/testvg/testlv" to 12 GB lvextend -- doing automatic backup of volume group "testvg" lvextend -- logical volume "/dev/testvg/testlv" successfully extended
將擴大邏輯卷data的容量爲12GB。
# lvextend -L+1G /dev/testvg/testlv lvextend -- extending logical volume "/dev/testvg/testlv" to 13 GB lvextend -- doing automatic backup of volume group "testvg" lvextend -- logical volume "/dev/testvg/testlv" successfully extended
將爲LV testlv再增大容量1GB至13GB。
爲LV擴容的一個前提是:LV所在的VG有足夠的空閒存儲空間可用。 在爲LV擴容以後,應同時爲LV之上的文件系統擴容,使兩者相匹配。對不一樣的文件系統有相對應的擴容方法。
# umount /dev/testvg/testlv # resize2fs /dev/testvg/testlv # mount /dev/testvg/testlv /home
這裏假設testlv安裝點爲/home。在es2fsprogs-1.19或以上版本中包含resize2fs命令。
在LVM發行包中有一個稱爲e2fsadm的工具,它同時包含了lvextend與resize2fs的功能,如:
# e2fsadm -L+1G /dev/testvg/testlv
等價於下面兩條命令:
# lvextend -L+1G /dev/testvg/testlv # resize2fs /dev/testvg/testlv
但用戶仍需首先卸載文件系統。
# resize_reiserfs -f /dev/testvg/testvl
# xfs_growfs /home
此時,操做系統中應該已經能夠看到這個邏輯捲了,與普通磁盤沒有任何區別。
按照普通磁盤格式化方法,進行格式化、賦予卷標,就能夠正常使用了。
當卷組空間不足時,能夠加入新的物理捲來擴大容量,這時可用命令vgextend,如:
# vgextend vgdata /dev/sdb2
其中/dev/sdb2是新的PV(物理卷,使用pvcreate從物理盤建立)。
須要如下幾個步驟(/dev/sdb2是須要加入的物理磁盤,經過df -h獲取磁盤標識):
sudo pvcreate /dev/sdb2
輸入sudo pvs
能夠看到建立的物理卷。
sudo vgextend vgdata /dev/sdb2
輸入sudo vgs
能夠看到vg中的物理卷列表。
#476899爲增長的空閒空間,經過vgdisplay命令顯示的Free PE值來肯定。 lvextend -l+476899 /dev/vgdata/appdata
再執行sudo vgs
能夠看到空閒空間被分配到了vgdata中,但這時文件系統中仍然沒法使用。
df -h
查看邏輯卷的名稱,而後調用resize2fs。sudo resize2fs /dev/mapper/vgdata-appdata #將所有的剩餘空間賦給虛擬卷appdata的文件系統。
這時候在操做系統中,點擊文件夾的「屬性」,能夠看到整個磁盤空間已經擴大了。
爲使系統啓動時可自動激活並使用LVM,可將如下幾行添加到啓動 rc 腳本中:
/sbin/vgscan /sbin/vgchange -a y
這些行將瀏覽全部可用的卷組並激活它們。要注意的是,它們應在安裝卷組上的文件系統操做以前被執行,不然將沒法正常安裝文件系統。
在系統關機時,要關閉LVM,這可將如下這行添加到關機 rc 腳本中,並確保它在卸裝了全部文件系統後執行:
/sbin/vgchange -a n