在Ubuntu系統(tǒng)中擴(kuò)展磁盤空間是運(yùn)維常見需求,尤其當(dāng)系統(tǒng)分區(qū)或數(shù)據(jù)分區(qū)接近容量上限時。以下是針對不同場景的完整解決方案,涵蓋物理機(jī)、虛擬機(jī)及云服務(wù)器環(huán)境,確保操作安全可靠。
一、準(zhǔn)備工作
-
數(shù)據(jù)備份
操作前務(wù)必備份重要數(shù)據(jù),防止意外丟失。可使用rsync
或tar
工具創(chuàng)建完整鏡像:sudo rsync -av /source/ /backup/
-
檢查當(dāng)前磁盤狀態(tài)
執(zhí)行以下命令查看分區(qū)布局與文件系統(tǒng)類型:df -Th sudo fdisk -l
若使用LVM(邏輯卷管理),需額外運(yùn)行:
sudo vgdisplay sudo lvdisplay
二、擴(kuò)展根分區(qū)(適用于非LVM環(huán)境)
場景:直接擴(kuò)容系統(tǒng)盤(如云服務(wù)器掛載的EBS卷)
-
擴(kuò)展物理磁盤
在云平臺控制臺將磁盤容量調(diào)至目標(biāo)值(例如從50GB增至100GB)。 -
調(diào)整分區(qū)表
使用growpart
工具擴(kuò)展分區(qū)(以根分區(qū)/dev/sda1
為例):sudo growpart /dev/sda 1
若無該工具,可通過
fdisk
刪除并重建分區(qū)(需謹(jǐn)慎操作)。 -
擴(kuò)展文件系統(tǒng)
根據(jù)文件系統(tǒng)類型執(zhí)行對應(yīng)命令:- ext4(默認(rèn)格式):
sudo resize2fs /dev/sda1
- xfs(常用于企業(yè)級場景):
sudo xfs_growfs /
- ext4(默認(rèn)格式):
三、LVM環(huán)境擴(kuò)容(推薦方案)
場景:使用邏輯卷管理的系統(tǒng)(如自定義安裝時啟用LVM)
-
擴(kuò)展物理卷(PV)
若新增硬盤或擴(kuò)展原有磁盤,需先將其初始化為PV:sudo pvcreate /dev/sdb sudo vgextend ubuntu-vg /dev/sdb
(假設(shè)卷組名為
ubuntu-vg
) -
擴(kuò)展邏輯卷(LV)
以擴(kuò)展根邏輯卷為例(路徑通常為/dev/ubuntu-vg/root
):sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/root
-r
參數(shù)會自動擴(kuò)展文件系統(tǒng),無需單獨(dú)執(zhí)行resize2fs
或xfs_growfs
。
四、添加獨(dú)立數(shù)據(jù)分區(qū)
場景:為特定目錄(如 /home
或 /var
)擴(kuò)容
-
掛載新磁盤
將新磁盤格式化并掛載到臨時目錄:sudo mkfs.ext4 /dev/sdb1 sudo mount /dev/sdb1 /mnt
-
遷移數(shù)據(jù)
將原目錄數(shù)據(jù)完整復(fù)制到新分區(qū):sudo rsync -av /home/ /mnt/
-
修改fstab掛載點(diǎn)
備份配置文件后更新掛載信息:sudo cp /etc/fstab /etc/fstab.bak echo '/dev/sdb1 /home ext4 defaults 0 2' | sudo tee -a /etc/fstab
重啟后生效,或執(zhí)行
sudo mount --bind
立即應(yīng)用。
五、虛擬機(jī)環(huán)境特殊處理
VMware/VirtualBox擴(kuò)容步驟
-
擴(kuò)展虛擬磁盤
在宿主機(jī)執(zhí)行命令擴(kuò)展.vdi/.vmdk文件(以VirtualBox為例):VBoxManage modifymedium "Ubuntu.vdi" --resize 102400
(單位為MB,此處擴(kuò)展至100GB)
-
系統(tǒng)內(nèi)重新掃描磁盤
在Ubuntu中刷新磁盤狀態(tài):echo 1 | sudo tee /sys/class/scsi_device/*/device/rescan
-
后續(xù)操作
按前述“擴(kuò)展根分區(qū)”或“LVM擴(kuò)容”步驟完成剩余流程。
六、驗(yàn)證與故障排查
- 確認(rèn)擴(kuò)容結(jié)果
運(yùn)行df -h
檢查可用空間是否更新,使用lsblk
查看分區(qū)拓?fù)渥兓?/li> - 修復(fù)文件系統(tǒng)錯誤
若擴(kuò)容后出現(xiàn)異常,嘗試卸載分區(qū)并執(zhí)行檢查:sudo umount /dev/sda1 sudo fsck /dev/sda1
- 回滾方案
若備份完整,可通過以下方式恢復(fù):sudo rsync -av /backup/ /original/
注意事項
⚠️ 風(fēng)險提示:直接操作分區(qū)表可能導(dǎo)致系統(tǒng)無法啟動,務(wù)必提前備份。
🔄 兼容性驗(yàn)證:不同Ubuntu版本(如20.04與22.04)的LVM工具可能存在差異,建議使用 apt upgrade
保持軟件包最新。
📊 性能考量:機(jī)械硬盤擴(kuò)容不影響性能,但SSD需確保TRIM指令正常啟用。
🔍 云服務(wù)限制:部分云平臺要求重啟實(shí)例后擴(kuò)容生效,操作前查閱廠商文檔。
通過上述方法,可靈活應(yīng)對Ubuntu系統(tǒng)的磁盤空間不足問題。對于生產(chǎn)環(huán)境,推薦優(yōu)先采用LVM架構(gòu),以實(shí)現(xiàn)更便捷的容量管理。