1. 程式人生 > >LVM邏輯卷的新增、拉伸、縮小、刪除、move操作

LVM邏輯卷的新增、拉伸、縮小、刪除、move操作

一、基本概念
pe(邏輯卷最小單元,大小為4M)
pv(物理卷,即新加的硬碟,若干個pe組成pv)檢視命令:pvs pvdisplay pvscan(搜尋所有的pv)
vg(卷組,將物理卷pv抽象成的一個組合,可將多個pv組合成一個vg)檢視命令:vgs vgdisplay
lv(邏輯卷) 檢視命令:lvs lvdisplsy

二、新增
1、先檢視是否有新硬碟 # fdisk -l
2、新增pv(如新增一個pv) # pvcreate /dev/sdb
3、新增一個vg(如建立一個testVg) # vgcreate testVg /dev/sdb 如果有多個新硬碟直接空格接上即可
4、新增一個lv(如建立一個testLv其中-n指定名稱,-L指定大小) # lvcreate -n testLv -L 1G testVg
5、格式化testLv命令為 # mkfs.ext4 /dev/testVg/testLv
6、至此已經成功新增一個lv邏輯卷,掛載即可使用,如掛載到test資料夾 # mount /dev/testVg/testLv /test

三、拉伸(或者叫擴充套件,可以線上執行)

1)拉伸一個邏輯卷
1、 首先先確定卷組vg是否有足夠的空間 # vgdisplay
2、 比如給/dev/testVg/testLv在新增1G的空間 # lvextends -L +1G /dev/testVg/testLv
3、 檢視擴充套件後的空間大小 # lvdisplay
4、 更新檔案系統 # resize2fs /dev/testVg/testLv
5、 檢視更新後的檔案系統 # df -l
2)拉伸一個卷組
1、首先建立一個pv物理卷 # pvcreate /dev/sdc
2、將新的pv拉伸到tesetVg卷組 # vgextend testVg /dev/sdc
3、檢視拉伸後vg的大小 # vgdisplay

四、縮小(無法線上執行,只能離線執行)

1)縮小一個邏輯卷(順序為先縮小檔案系統,在縮小lv邏輯卷,一定要按順序來,否則會損壞資料,造成重大損失)
1、解除安裝已經掛載的邏輯卷 # umount /dev/testVg/testLv
2、新進行檔案系統的校驗 # e2fsck -f /dev/testVg/testLv
3、進行檔案系統的縮小將testLv縮小到2G的大小 # resize2fs /dev/testVg/testLv 2G
4、縮小lv邏輯卷,我這裡testLv邏輯卷原來大小為4G,要縮減為上面檔案系統的2G必然是要減去2G的,那麼就應該為 # lvreduce -L -2G /dev/testVg/testLv
5、檢視縮小後的lvdisplsy
6、把縮小後的邏輯卷,重新掛載 mount /dev/testVg/testLv /test

2)縮小卷組
1、縮小卷組即從卷組中拿走若干塊硬碟即pv即可 # vgreduce /dev/sdc
2、檢視縮小後的vg情況 # vgdisplay

五、刪除(按照下面順序刪除)
1、先解除安裝引用 # umount /test
2、然後刪除lv邏輯卷 # lvremove /dev/testVg/testLv
3、在刪除卷組 # vgremove /dev/testVg
4、最後移除pv物理卷,得先刪除卷組後才能移除 # vgreduce testVg /dev/sdb
刪除卷組後即可移除物理卷 # pvremove /dev/sdb

六、移動(pvmove該操作並非可靠,容易引起資料丟失)
通過pvmove命令可將某一個物理卷中的資料轉移到同卷組的其他物理卷中,多用於更換卷組中的硬碟,
比如,在一個卷組中有兩個物理卷,並且在某一個物理捲上存在一個邏輯卷(必須存在邏輯卷),可以通過命令pvmove進行操作,格式:pvmove 源物理卷路徑名稱

pvmove /dev/sda1

執行命令之後會有互動性提示,選擇物件輸入y即可。

現在有一個例子:在一個vg中有兩個80g的pv分別是/dev/sdb與/dev/sdc現在需要將一個pv上的資料完整移動到一個新的pv(/dev/sdd)上(該pv很可能是一塊320g的硬碟),那麼可以使用pvremove,操作步驟如下(操作之前最好備份資料):
pvcreate /dev/sdd
vgextend vg1 /dev/sdd 能夠move的pv必須是在同一個卷組之內
pvmove /dev/sdb /dev/sdd
pvmove /dev/sdc /dev/sdd
該命令執行完成之後被移動的pv上的lv被掛載和使用的情況下也能夠正常移動到另一個pv上,該操作要求對整個硬碟建立pv而不是僅僅針對一個分割槽建立pv。