LVM 縮減檔案系統的容量

2022-01-12 23:09:07 字數 2843 閱讀 4375

有擴充套件就有縮減,我們在前文《lvm : 擴充套件檔案系統的容量》中介紹了通過 lvm 擴充套件檔案系統的方法,本文我們接著前文的 demo 介紹通過 lvm 縮減檔案系統的方法。說明:本文的演示環境為 ubuntu 16.04。

接下來我們再把它重新縮減為 15g,並移除新新增的磁碟 /dev/sde。

與擴充套件檔案系統的容量不同,如果是縮減檔案系統的容量,需要解除安裝檔案系統後再進行縮減操作。

如果沒有解除安裝檔案系統,會有上圖中的提示。解除安裝檔案系統本身非常簡單,使用 umount 命令就可以搞定,我們要解除安裝的檔案系統的掛載點為 /home/doc:

$ sudo

umount /home/doc

解除安裝完檔案系統就可以使用 resize2fs 命令來縮減其容量了,我們的目標是把它縮回 15g:

$ sudo resize2fs /dev/nickvg/nicklv00 15g
提示先執行 e2fsck -f /dev/nickvg/nicklv00 命令。e2fsck 命令用於檢查 ext2/ext3/ext4 檔案系統的完整性,通過適當的選項可以嘗試修復出現的錯誤。e2fsck 執行後的傳回值及代表意義如下:

-f 選項表示即使檔案系統沒有錯誤跡象,仍強制檢查正確性。上圖中的 0 表示我們的檔案系統沒有被檢測出錯誤,我們重新執行 resize2fs 命令,這次就可以成功執行了:

在縮減 lv 前先檢視一下其基本資訊:

$ sudo lvs nickvg/nicklv00
上圖顯示 lv nickvg/nicklv00 的容量為 65g,而我們縮減後的檔案系統只有 15g,所以我們是可以縮減這個 lv 的,我們直接把它縮減到 15g:

$ sudo lvreduce -l 15g nickvg/nicklv00或$ 

檢視下結果:

lv 的容量變成了 15g,current le 的數量為 480。

檢查名稱為 nickvg 的 vg 的資訊:

結果顯示 vg 的總容量為 69.94g,已經分配了 15g,還有 54.94g 空閒。接下來通過 pvs 命令來檢視 pv 與 vg 的關係:

名稱為 nickvg 的 vg 由 /dev/sdd1 和 /dev/sde1 兩個 pv 組成,其中 /dev/sde1 完全空閒,我們可以把這個 pv 從 vg 中移除掉。vgreduce 命令可以從 vg 中移除 pv:

$ sudo vgreduce nickvg /dev/sde1
從 vg 中移除 pv /dev/sde1 後再次檢視 pv 的狀態:

此時 /dev/sde1 已經不屬於任何 vg。

所謂的移除 pv,就是使用 pvremove 命令移除 pv 裝置上的標籤,讓 lvm 無法識別該裝置是乙個 pv。下面我們就來移除 pv /dev/sde1:

在 pvremove 命令移除 /dev/sde1 後,pvs 命令輸出的結果中就找不到名稱為 /dev/sde1 的 pv 了。

檢視裝置檔案:

$ ls /dev/sde*
其中的 /dev/sde1 就是磁碟分割槽的裝置檔案,讓我們先用 gdisk 命令檢視這個分割槽的資訊:

$ sudo gdisk /dev/sde
然後再刪除它:

再去檢視 sde 開頭的裝置檔案,發現 /dev/sde1 已經不見了:

最後關機移除硬碟就可以了。

與擴充套件檔案系統容量不同,在 ubuntu 16.04 中使用 resize2fs 命令縮減檔案系統的容量需要事先解除安裝檔案系統。其實實際使用中縮減檔案系統的時候並不多,大家往往寧願犧牲一些儲存空間也不願看到折騰丟資料的情況。

參考:

縮小 lvm 空間

鳥哥的私房菜:縮小 lv 容量

LVM 擴充套件檔案系統的容量

如果發現檔案系統的容量不足了,可以通過 lvm 輕鬆的進行擴充套件 當然也可以進行縮減操作 本文將緊接前文中的 demo 詳細的介紹擴充套件檔案系統的操作過程。說明 本文的演示環境為 ubuntu 16.04。當我們收到可用磁碟空間不足的警報時,就需要去診斷磁碟空間相關的問題了。一般的結果是 增加磁...

Linux系統 檔案系統與LVM 邏輯

格式化命令 mkfs mkswap mkfs格式化資料磁碟 mkfs t ext4 dev sdb1 mkfs.ext4 dev sdb1 t 指定格式化檔案型別 b 指定 block 大小,單位位元組 i inode大小 u 設 uuid 號 q 執行不顯示資訊 mkswap格式化虛擬磁碟 swa...

vector的容量進行縮減

在c primer 上看到vectors的容量不會進行縮減 即便是刪除元素,其references pointers iterators也會繼續有效,繼續指向動作發生前的位置。但是安插操作可能使這些references pointers iterators失效 因為安插可能導致記憶體的重新分配 有乙...