VMware虛擬機(jī)CentOS磁盤擴(kuò)容的全過程
前言
在日常開發(fā)和運(yùn)維中,我們經(jīng)常遇到 VMware 虛擬機(jī)磁盤空間不足的問題。本文記錄了如何為一臺正在運(yùn)行的 CentOS 7 虛擬機(jī)安全地?cái)U(kuò)容磁盤空間的全過程。本次操作不僅涵蓋了標(biāo)準(zhǔn)的擴(kuò)容步驟,還重點(diǎn)解決了實(shí)際操作中可能遇到的兩個關(guān)鍵問題:
- growpart 工具報(bào)錯:
unexpected output in sfdisk --version - 在標(biāo)準(zhǔn)的 LVM (Logical Volume Manager) 結(jié)構(gòu)下如何正確擴(kuò)容
本文提供兩種方法:推薦的標(biāo)準(zhǔn)LVM流程 和 備用方案,成功解決了從 VMware 層面到操作系統(tǒng)內(nèi)部的完整擴(kuò)容。最終成功將系統(tǒng)根目錄從 26G 擴(kuò)容至 76G。
一、環(huán)境與背景
- 虛擬化平臺: VMware Workstation 16/17 (ESXi 步驟類似)
- 客戶機(jī)系統(tǒng): CentOS 7.x
- 初始磁盤: 20G
- 目標(biāo)磁盤: 80G
- 問題現(xiàn)狀: 根目錄 (/) 空間不足,需將其擴(kuò)容。
- 關(guān)鍵特征: 系統(tǒng)采用 LVM 分區(qū)結(jié)構(gòu)。
擴(kuò)容前使用 lsblk 和 df -h 查看磁盤情況:
$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 80G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─centos-root 253:0 0 26G 0 lvm / └─centos-swap 253:1 0 3G 0 lvm [SWAP]
二、第一階段:VMware 層面擴(kuò)容
警告:操作前請務(wù)必對虛擬機(jī)創(chuàng)建快照或備份,以防數(shù)據(jù)丟失!
1.?關(guān)閉虛擬機(jī): 確保目標(biāo) CentOS 虛擬機(jī)已完全關(guān)機(jī)(Power Off),而不是掛起(Suspend)。
2. ?編輯虛擬機(jī)設(shè)置: 在 VMware 中,右鍵點(diǎn)擊 虛擬機(jī) -> “設(shè)置” (Settings)。
3. ?擴(kuò)展磁盤: 選擇 “硬盤” (Hard Disk) -> 點(diǎn)擊 “擴(kuò)展” (Expand) 按鈕。
4. ?設(shè)置新容量: 在彈出的窗口中,輸入大于當(dāng)前值的容量(例如從 20G 擴(kuò)展到 80G)。點(diǎn)擊確定,等待 VMware 完成磁盤文件的擴(kuò)容。
至此,虛擬硬盤已變大,但操作系統(tǒng)還無法使用新空間。
三、第二階段:CentOS 系統(tǒng)內(nèi)部擴(kuò)容
啟動 CentOS 虛擬機(jī)并登錄。以下是操作的核心步驟。
方法一:標(biāo)準(zhǔn)LVM擴(kuò)容流程(推薦)
這是最正確、最安全的流程,適用于標(biāo)準(zhǔn)的 LVM 分區(qū)結(jié)構(gòu)。
步驟 1: 查看磁盤情況
首先確認(rèn) VMware 擴(kuò)容是否成功,并看清磁盤結(jié)構(gòu)。
sudo lsblk sudo parted /dev/sda print
從輸出可以清晰看到:
/dev/sda磁盤已變?yōu)?80G。- 但分區(qū)
/dev/sda2仍為 31.1G,這意味著有大量空閑空間位于sda2分區(qū)之后。 /dev/sda2的類型是lvm,我們的根文件系統(tǒng)實(shí)際在邏輯卷centos-root上。
結(jié)論:我們需要將磁盤末端的空閑空間 -> 加入到 sda2 分區(qū) -> 被 LVM 物理卷識別 -> 將新空間加入到 centos 卷組 -> 最后擴(kuò)展 centos-root 邏輯卷及其文件系統(tǒng)。
步驟 2: 擴(kuò)展 sda2 分區(qū)
使用 parted 工具將 sda2 分區(qū)擴(kuò)展到磁盤末尾。
sudo parted /dev/sda
在 parted 交互式命令行中執(zhí)行:
(parted) resizepart 2 -1 # 將第2個分區(qū)擴(kuò)展到所有剩余空間 (parted) quit # 退出
注意:-1 表示擴(kuò)展到最大可用空間。如果 resizepart 命令不可用(極舊版本),需使用 rm 和 mkpart 重建分區(qū),但風(fēng)險(xiǎn)極高,不推薦。
步驟 3: 刷新內(nèi)核分區(qū)表
讓系統(tǒng)在不重啟的情況下識別新的分區(qū)大小。
sudo partprobe /dev/sda
步驟 4: 擴(kuò)展 LVM 物理卷 (PV)
/dev/sda2 本身是一個物理卷,我們需要調(diào)整其大小。
sudo pvresize /dev/sda2
執(zhí)行后,使用 sudo pvdisplay 查看,會發(fā)現(xiàn) Free PE 空間增加了。
步驟 5: 擴(kuò)展邏輯卷 (LV)
將卷組中的空閑空間全部分配給 centos-root 邏輯卷。
# 查看卷組空閑空間 sudo vgdisplay # 將所有空閑空間擴(kuò)展到 centos-root 邏輯卷 sudo lvextend -l +100%FREE /dev/mapper/centos-root
步驟 6: 擴(kuò)展文件系統(tǒng) (XFS)
最后一步,擴(kuò)展邏輯卷上的文件系統(tǒng),才能真正使用空間。
# CentOS 7 默認(rèn)使用 XFS 文件系統(tǒng) sudo xfs_growfs / # 如果是 Ext4 文件系統(tǒng),請使用以下命令: # sudo resize2fs /dev/mapper/centos-root
步驟 7: 驗(yàn)證結(jié)果
運(yùn)行命令檢查最終成果:
df -h lsblk
輸出應(yīng)顯示根目錄 / 的掛載點(diǎn)大小已變?yōu)?76G 左右,擴(kuò)容成功!
方法二:解決 growpart 報(bào)錯方案(備用)
如果在非LVM系統(tǒng)上使用傳統(tǒng)方法,可能會遇到 growpart 報(bào)錯。
錯誤信息:
sudo growpart /dev/sda 2 unexpected output in sfdisk --version [sfdisk,來自 util-linux 2.23.2]
原因: CentOS 7 自帶的 util-linux 版本過低,與 growpart 腳本不兼容。
解決方案:
直接使用 parted 替代(如上文方法一所示),這是最佳解決方案。
或嘗試更新 cloud-utils-growpart 包:
sudo yum update cloud-utils-growpart
四、總結(jié)與注意事項(xiàng)
- 核心要點(diǎn): 操作前一定要用
lsblk和df -T命令搞清楚磁盤和文件系統(tǒng)結(jié)構(gòu)。識別LVM是關(guān)鍵,它決定了后續(xù)完全不同的操作流程。 - 推薦流程: 對于現(xiàn)代
CentOS/RHEL系統(tǒng),標(biāo)準(zhǔn) LVM 擴(kuò)容流程 (parted -> pvresize -> lvextend -> xfs_growfs) 是唯一正確路徑。 - 備份!備份!備份!: 任何磁盤分區(qū)操作都有極高風(fēng)險(xiǎn),操作前務(wù)必為虛擬機(jī)創(chuàng)建快照。
- 工具選擇: 放棄陳舊的
growpart和fdisk腳本,parted是更強(qiáng)大、更現(xiàn)代的命令行分區(qū)工具。
到此這篇關(guān)于VMware虛擬機(jī)CentOS磁盤擴(kuò)容的全過程的文章就介紹到這了,更多相關(guān)VMware CentOS磁盤擴(kuò)容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
VMware虛擬機(jī)提示以獨(dú)占方式鎖定此配置文件失敗的解決方法
這篇文章主要介紹了VMware虛擬機(jī)提示"以獨(dú)占方式鎖定此配置文件失敗"的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
VMware安裝Centos8系統(tǒng)的教程圖解(命令行模式)
本文通過圖文并茂的形式給大家介紹了VMware安裝Centos8系統(tǒng)(命令行模式),非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
VMware Workstation的下載與安裝詳細(xì)教程
這篇文章主要介紹了VMware Workstation的下載與安裝教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
VMware-ovftool命令行部署與導(dǎo)出鏡像方式
這篇文章主要介紹了VMware-ovftool命令行部署與導(dǎo)出鏡像方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
虛擬機(jī)安裝VMware?Tools灰色無法點(diǎn)擊的解決方法
這篇文章主要為大家詳細(xì)介紹了當(dāng)虛擬機(jī)安裝出現(xiàn)VMware?Tools灰色無法點(diǎn)擊的解決方法,文中通過示例圖片進(jìn)行了詳細(xì)講解,有需要的小伙伴可以參考一下2023-10-10

