如何對Linux的默認(rèn)LVM空間進(jìn)行擴(kuò)容
1.Linux LVM簡介
Linux Logical Volume Manager(LVM)是一種用于管理磁盤和存儲空間的軟件工具, 它提供了一種靈活的方式來管理邏輯卷(Logical Volumes)和卷組(Volume Groups)。LVM的工作原理涉及到幾個核心概念:
- 物理卷(Physical Volume, PV):物理卷是物理硬盤或分區(qū), 被LVM用于存儲數(shù)據(jù)。LVM將一個或多個物理卷組合成卷組。
- 卷組(Volume Group, VG):卷組是由一個或多個物理卷組成的邏輯存儲單元。在卷組上創(chuàng)建邏輯卷,它們可以動態(tài)分配和回收存儲空間。一個系統(tǒng)可以包含多個卷組。
- 邏輯卷(Logical Volume, LV):邏輯卷是在卷組上創(chuàng)建的邏輯存儲單元。它們可以被格式化成文件系統(tǒng), 并像普通硬盤分區(qū)一樣被掛載到文件系統(tǒng)樹上。邏輯卷的大小和位置是可以在運(yùn)行時動態(tài)調(diào)整的, 而無需停機(jī)或重啟系統(tǒng)。
下面是一個可視化的LVM工作原理圖, 假設(shè)有5個不同的磁盤, 每個磁盤都有一個映射到物理卷(PV)的分區(qū), 所有磁盤都被分組成單個卷組(VG), 卷組被分成兩個不同的邏輯卷(LV), 每個LV都用于一個文件系統(tǒng),如圖:
圖片
假設(shè)在ubuntu系統(tǒng)上劃分了一個100GB空間的磁盤, 根據(jù)LVM原理,劃分層次如下:
2.Linux系統(tǒng)安裝程序默認(rèn)設(shè)置
以ubuntu系統(tǒng)為例, 在安裝ubuntu系統(tǒng)的過程中, 會出現(xiàn)批準(zhǔn)存儲布局的屏幕提示, 默認(rèn)情況下, 存儲布局將有幾個小的引導(dǎo)分區(qū)和第三個分區(qū), LVM將使用該分區(qū)來創(chuàng)建根文件系統(tǒng), 如圖:
圖片
圖片
3.使用默認(rèn)可用空間
在ubuntu默認(rèn)情況下, 根文件系統(tǒng)使用的空間還不到總磁盤空間的一半, 首先使用df -h命令檢查根文件系統(tǒng)的可用空間, 如下圖:
從上圖可以看到, 只使用了大約49GB空間的14%, 在實際正常使用過程中, 這點空間可能一瞬間就會被占滿, 這次的目標(biāo)就是對這49GB的卷進(jìn)行擴(kuò)容。
要檢查卷組上的現(xiàn)有可用空間(安裝程序默認(rèn)設(shè)置留下的空間), 可以運(yùn)行: vgdisplay命令檢查可用空間,如圖:
從上圖中可以看到, 大約還有49.25GB的空間可使用, 當(dāng)然, 這里的可用空間也可能會不夠, 在下面會講到。
要使用根邏輯卷(LV)的卷組(VG)上的可用空間, 可以先運(yùn)行: lvdisplay命令檢查邏輯卷大小, 然后運(yùn)行:
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
將LV擴(kuò)充到可用的最大大小, 之后再次運(yùn)行l(wèi)vdisplay以確保其更改成功,如圖:
此時已經(jīng)增加了根文件系統(tǒng)所在的塊卷的大小, 但仍然需要在其之上擴(kuò)展文件系統(tǒng), 運(yùn)行df -h來檢查根文件系統(tǒng), 然后運(yùn)行命令:
resize2fs /dev/mapper/ubuntu — vg-ubuntu — lv
擴(kuò)展文件系統(tǒng), 并再次運(yùn)行df -h確認(rèn),如圖:
圖片
可以看到, 已經(jīng)將系統(tǒng)默認(rèn)留下的空間分配成功, 如果空間仍然不夠, 則需要擴(kuò)展基礎(chǔ)磁盤來分配更多空間。
4.擴(kuò)展物理磁盤空間
假設(shè)擴(kuò)展空間計劃是將現(xiàn)在的100GB擴(kuò)展到200GB, 在實際應(yīng)用中, 擴(kuò)展的空間可能是虛擬機(jī)或RAID控制器或其它存儲系統(tǒng), 首先執(zhí)行:cfdisk命令檢查并查看是否列出了可用空間, 完成后使用q退出,如圖:
如果沒有看到列出的可用空間,可以使用:
echo 1>/sys/class/block/sda/device/rescan
啟動 /dev/sda 的重新掃描, 完成后, 重新運(yùn)行cfdisk, 這時應(yīng)該可以看到新的可用空間了,如圖:
從列表中選擇/dev/sda3分區(qū),然后從底部菜單中選擇"調(diào)整大小"。按下Enter鍵, 它會提示確認(rèn)新大小, 再次按Enter鍵, 將看到/dev/sda3分區(qū)擁有新的空間大小。
從底部菜單中選擇"Write", 輸入yes進(jìn)行確認(rèn), 然后按Enter鍵, 輸入q退出程序。
現(xiàn)在/dev/sda3物理卷(PV)的LVM分區(qū)已經(jīng)完成擴(kuò)展, 接著需要擴(kuò)展PV, 運(yùn)行命令:
pvresize /dev/sda3
執(zhí)行該操作, 然后使用pvdisplay檢查新大小,如圖:
圖片
現(xiàn)在可以看到, PV已從98.5GB增加到198.5GB, 再次使用vgdisplay檢查卷組(VG)的可用空間,如圖:
圖片
可以看到VG有100GB的可用空間, 繼續(xù)輸入命令:
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
擴(kuò)展LV以用完VG的所有可用空間, 然后執(zhí)行l(wèi)vdisplay命令確保更改成功,如圖:
圖片
此時根文件系統(tǒng)的塊卷已完成擴(kuò)展, 但文件系統(tǒng)本身還沒有調(diào)整大小來適應(yīng)新的卷, 首先df -h檢查一下文件系統(tǒng)的當(dāng)前大小, 然后運(yùn)行命令:
resize2fs /dev/mapper/ubuntu — vg-ubuntu — lv
調(diào)整大小, 并再次運(yùn)行df -h檢查新文件系統(tǒng)可用空間,如圖:
圖片
可以看到,已經(jīng)成功擴(kuò)展了物理磁盤,并將可用空間一直向上延續(xù)到LVM抽象層, 根文件系統(tǒng)已經(jīng)有足夠的空間使用。