虛擬機中CentOS-7.9的硬盤空間擴容(EXSI)
大家好,我是LSF,發現一台虛機上 /dev/mapper/centos-root Use%已經快滿了,決定擴容,安全起見,先搞一台閑置的虛機,試驗一下。

一、增加虛機容量
在exsi管理web界面中,先關閉虛機,點擊 「編輯」,選擇擴展後的容量。我這個原先總容量是200G。需要單獨給centos-root目錄從50G擴展待100G,所以將總容量改成250G。然後啟動虛機。

切換 root 用戶,fdisk -l 一下,看到 /dev/sda: 空間已經增加了,但是分區還是原來的,還需要添加新分區,才能去擴展指定的系統文件。

二、創建新的分區
fdisk /dev/sda 看一下,命令參考如下,之後根據提示選擇相應的命令即可。
Command (m for help): m
Command action
a toggle a bootable flag // 切換一個可引導標誌
b edit bsd disklabel // 編輯bsd磁盤標籤
c toggle the dos compatibility flag // 切換dos兼容性標誌
d delete a partition // 刪除分區
g create a new empty GPT partition table // 創建一個新的空GPT分區表
G create an IRIX (SGI) partition table // 創建一個IRIX(SGI)分區表
l list known partition types // 列出已知的分區類型
m print this menu // 查看幫助菜單
n add a new partition // 增加新分區
o create a new empty DOS partition table // 創建一個新的空DOS分區表
p print the partition table // 查看分區表
q quit without saving changes // 不保存更改而退出
s create a new empty Sun disklabel // 創建一個新的空 Sun 磁盤標籤
t change a partition's system id // 更改分區的系統id
u change display/entry units // 更改顯示/輸入單位
v verify the partition table // 驗證分區表
w write table to disk and exit // 將表寫入磁盤並退出
x extra functionality (experts only) // 額外功能(僅限專家)
過程截圖如下

使用以下 fdisk 命令創建新分區
p: (print)可查看現有分區
n:(new)創建新分區
p:(primary)選擇主分區
3:選擇的分區號(sda1、sda2主分區編號佔用,可選3和4)
回車:起始扇區用默認即可
回車:結束刪除用默認即可
t: 更改分區的系統id
3: 選擇剛創建的分區sda3
8e: 修改成使用ID為8e的LVM (LVM是邏輯盤卷管理機制(Logical Volume Manager))
w:將分區表寫入磁盤並退出
過程截圖如下

根據最後的提示 The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8) 讓你重啟虛機、或者 partprobe 重讀分區表、 或者 kpartx 重新掛載虛擬文件系統。我這裡使用 partprobe 重讀分區表,這樣不用重啟虛機。再執行 fdisk -l 可以查看到新創建的分區sda3

三、格式化新分區
通過 lsblk -f 查看分區的原先分區的文件系統類型為xfs,centos 7 使用的是xfs文件系統

通過 mkfs.xfs -f /dev/sda3 格式化 sda3 分區。

四、lvm實現卷擴容
查看需要擴展的文件系統目錄,df -h 查看目錄鏈接為 /dev/mapper/centos-root,或者 lvdisplay 查看目錄為 /dev/centos/root


lvm 管理命令擴展指定卷
lvm 進入 lvm 指令模式
vgdisplay
查看虛機卷組 (包含多個物理卷)我這裡卷組為 centos,
pvcreate /dev/sda3
初始化剛創建的分區為物理卷
vgextend centos /dev/sda3
將新創建的物理卷擴展到虛機卷組
centos 為 卷組名稱,可通過 vgdisplay 查看
vgdisplay
記住 Free PE:如12800
lvextend -l +12800 /dev/mapper/centos-root
擴展已有文件系統邏輯卷的容量
lvextend 指令用於在線擴展邏輯卷的空間大小,而不中斷應用程序對邏輯卷的訪問。
-l: 指定邏輯卷要擴展大小,單位為PE數(如上面Free PE 的12800)
-L: 指定邏輯卷的大小,單位為Size(如K、M、G、T等)
quit
退出 lvm
lvm 操作截圖如下:
-
查看虛機卷組 (包含多個物理卷)我這裡卷組為 centos,

-
初始化剛創建的分區為物理卷、將新創建的物理卷擴展到虛機卷組

-
擴展已有文件系統邏輯卷的容量

-
查看擴展結果

五、文件系統的擴容
完成卷擴容,接下來做文件系統的擴容,這一步很簡單,xfs_growfs /dev/mapper/centos-root 即可,然後 df -h 查看一下。






