Linux LVM(邏輯卷管理)刪除詳解

2020-07-16 10:04:49
建立好 LVM 之後,如果經過一段時間的執行,我們發現 LVM 技術並未像有些人吹噓的那樣為系統的管理和維護工作帶來很大的方便,可以手動刪除它。

與建立 LVM 的順序恰好相反,在釋放 LVM 所佔磁碟空間的操作中,首先要刪除捲組上所定義的邏輯卷(LV),之後刪除這個捲組(VG),最後才能刪除所有的物理卷(PV)。接下來,還是通過個範例來演示這些操作的全過程。

首先,要刪除一個邏輯卷,就必須先將這個邏輯卷從系統中解除安裝掉。例如,使用 umount 命令解除安裝掛載在 /disklvm 目錄上的邏輯卷,執行命令如下:

[[email protected] ~]# umount /disklvm

隨後,你需要使用如下的 df 系統再次列出所有掛載的檔案系統資訊:

[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 8.7G 7.0G 1.3G 85% /
......
/dev/md0 1004M 18M 936M 2% /oradata

從顯示結果中可以看到,再也找不到任何掛載的邏輯卷了,這表明掛載在 /disklvm 目錄上的邏輯卷 lamplv 已經被解除安裝了。

現在,就可使用 lvremove 命令移除裝置檔案 /dev/scvg/lamplv 所對應的邏輯卷了。在系統提示處輸入 【y】 確認要移除 lamplv 邏輯卷,執行命令如下所示:

[[email protected] ~]# lvremove /dev/scvg/lamplv
Do you really want to remove active logical volume "lamplv"? [y/n]:y
Logical volume "lamplv" successfully removed

之後,你可以使用 vgdisplay 命令再次列出 scvg 卷組的詳細資訊:

[[email protected] ~]# vgdisplay scvg
---Volume group ---
VG Name scvg
......
Cur LV 0
Open LV 0
Max PV 0
......

通過對比你會發現,Cur LV 和 Open LV 的值,都從原來的 1 變為了 0,這就進一步證實了原來在 scvg 捲組上定義的邏輯卷已經全都被刪除了。

接下來, 可以使用 vgremove 命令刪除 scvg 卷組,執行命令如下:

[[email protected] ~]# vgremove scvg
Volume group "scvg" successfully removed

可以看到,vgdog 捲組己經被成功地刪除了,但是為了慎重起您可以使用 vgdisplay 再次列出 vgdog 卷組的詳細資訊,如下所示:

[[email protected] ~]# vgdisplay scvg
Volume group "scvg" not found

顯示結果表明,系統已經找不到 scvg 捲組了,這就進一步證實了 scvg 捲組已經被刪除了。

注意,一些 Linux 教學認為在刪除了捲組之後就算完成了全部所需的操作,但是最好還是要移除所有分割區上的物理卷的卷標。因此,最好使用 pvremove 命令同時移除 /dev/sdb5、 /dev/sdb6 和 /dev/sdb7 這 3 個分割區上的物理卷的卷標,執行命令如下:

[[email protected] ~]# pvremove /dev/sdb5 /dev/sdb6 /dev/sdb7
Labels on physical volume "/dev/sdb5" successfully wiped
Labels on physical volume "/dev/sdb6" successfully wiped
Labels on physical votume "/dev/sdb7" successfuily wiped

完成了以上操作之後,我們不但刪除了邏輯卷和卷組,而且還釋放了物理捲所使用的所有磁碟空間,即將這些磁碟空間歸還給了 Linux 系統。