前言:
存儲備份的服務器空間不足了,需要給服務器硬盤加空間,好在操作系統安裝時分區是基於lvm邏輯卷的,可以直接將空間加到邏輯卷上,流程如下:
先df -Th查看下文件系統格式,並確認下邏輯卷名稱,確認是否為lvm邏輯卷的安裝方式
如圖所示,/dev/mapper/centos-root,表示邏輯卷,xfs表示使用了xfs的文件系統格式,掛載在/目錄下
使用fdisk命令查看當前硬盤的分區情況:
20G的系統盤,centos-root用了5G,交換分區用了1G,還有很大的空間沒有分配。
將剩余的空間分區:
查看系統當前的pv,vg:
重新讀取分區表並將新建的/dev/sda3分區划分為pv卷,添加到centos的vg卷組中:
添加后:
比較重要的是上圖中Free PE參數,它表示以4.00MB為大小的未分配PE還有3532個,將未分配的PE分配有兩種方式,分別為按個數和按大小:
lvextend -l 21759 /dev/mapper/centos-root lvextend -L +84G /dev/mapper/centos-root
lvextend -l +100%FREE /dev/mapper/centos-root 直接將所有空余PE分配給centos-root邏輯卷
這里我選擇的是按個數,直接分配所有:
最后,使用命令來針對對應的文件格式來進行加載空間,就可以完成了,根據xfs還是ext4選擇不同的命令:
xfs_growfs /dev/mapper/centos-root xfs文件格式 resize2fs /dev/mapper/centos-root ext4文件格式
可以看到,就完成了根分區的擴容。
梳理邏輯:
可以看到基本的邏輯就是,將磁盤未分配空間或新磁盤空間分區 >> 將新分區創建為pv >> 將pv添加到vg卷組中 >> 將vg卷組的PE划分到邏輯卷中 >> 邏輯卷加載新PE,這樣,就完成了分區的擴充。需要注意的是,lv即lvm是基於vg創建的,也就是說,我們要為哪個lvm擴容,就要將新的pv加入到對應的vg中,而后,才能將新的空間分配給lv
補充部分未用到的命令:
針對LVM底層PV的一些基本操作
對於底層的PV而言,操作的命令如下表所示:
命令 解釋
pvchange 控制指定PV是否可以分派新空間的權限
pvck 檢查PV的LVM元數據的一致性
pvcreate 將指定磁盤或分區轉化為PV
pvdisplay 詳細地查看系統當前的PV情況
pvmove 在同一VG卷組里面移動一個PV的數據到另一個PV里面
pvremove 刪除PV標簽,即移除PV
pvs 簡略地查看系統當前的PV情況
pvresize 當PV對應的設備分區(如md軟raid)擴容之后,利用該命令可以擴容PV
pvscan 掃描所有打着PV標簽的設備文件
針對LVM中層VG的一些基本操作 對於中層的VG而言,操作的命令如下表所示 命令 命令解釋 vgcfgbackup 備份VG描述文件(默認/etc/lvm/backup,亦可自由指定) vgcfgrestore 從備份的VG描述文件對VG元數據進行恢復 vgck 檢查VG vgchange 修改特定VG的屬性,包括是否激活,uuid號,…… vgconvert 修改VG元數據格式,例如從LVM1改為LVM2 vgcreate 創建VG卷組 vgs 簡略地查看系統VG卷組情況 vgdisplay 詳細地查看系統VG卷組的使用情況 vgexport 將特定VG變為未知狀態,用於遷移卷組到別的系統上面 vgimport 將未知狀態的特定VG卷組變為正常狀態,用於遷移卷組到別的系統上面 vgextend 將PV添加到特定VG中 vgimportclone 用於導入重復的卷組(例如某卷組的快照),並修改其UUID vgmerge 在滿足特定條件下,對多個卷組進行歸並 vgmknodes 重新創建卷組設備目錄以及邏輯卷特殊文件 vgreduce 將未使用的PV從特定VG中移除 vgremove 移除特定VG vgrename 重命名指定VG的名稱 vgsplit 將指定的PV從一個VG里面挪動到另一個VG里面 vgscan 掃描系統的VG
針對LVM上層LV的一些基本操作
對於上層的LV而言,操作命令如下表所示:
命令 命令解釋
lvchange 修改指定LV的一些屬性,包括是否是激活狀態、是否只讀……
lvconvert 轉換指定LV的屬性,從線性轉化為鏡像或者快照
lvcreate 創建LV
lvs 簡略地查看系統內的LV情況
lvdisplay 詳細地查看系統內的LV情況
lvextend 擴展指定LV的容量大小
lvm 管理LVM的一個shell工具
lvmconf LVM配置修改器
lvmconfig 查看LVM配置的工具
lvmdiskscan 掃描所有LVM2可見的設備
lvmdump 創建LVM的dump文件,用於診斷
lvmetad 緩存LVM元數據的守護程序
lvmpolld LVM操作命令的輪詢守護程序
lvreduce 縮容指定的LV
lvremove 刪除指定的LV
lvrename 重命名指定的LV
lvresize 調整指定LV的大小,即可以擴容也可以縮容
lvscan 掃描系統的LV