Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux VPS 磁盤空間不足?LVM 擴容與分區規劃實戰指南

編輯:關於 Linux

雲服務商預設安裝常將系統盤限制在 10-20 GB,數據盤單獨掛載或完全未分區。面對 df -h 顯示根分區 90%+ 使用率,本文提供從分區識別、LVM 擴容到文件系統調整的完整操作流,助你零停機釋放空間。

VPS 磁盤分區示意圖

現狀診斷:三步看清盤面

# 1. 查看分區佔用
df -hT

# 2. 查看塊設備與分區表
lsblk -f
# 或
fdisk -l

# 3. 查看 LVM 邏輯卷詳情
lvs; vgs; pvs
典型場景: /dev/vda1 (20G) 做根分區,/dev/vdb (100G) 完全未分區,或已建立 LVM PV 但未加入 VG。

方案 A:新增磁盤納入 LVM 擴容根分區(推薦)

前提:根分區基於 LVM(df -hT 顯示 Type 為 ext4/xfs 且 Device 為 /dev/mapper/...)

# 1. 新磁盤建立分區並標記為 LVM (8e)
fdisk /dev/vdb
# n → p → 1 → Enter → Enter → t → 8e → w

# 2. 建立 PV、加入現有 VG
pvcreate /dev/vdb1
vgextend centos /dev/vdb1   # VG 名稱從 vgs 獲取

# 3. 擴容 LV(以根分區為例)
lvextend -l +100%FREE /dev/mapper/centos-root

# 4. 調整文件系統(關鍵步驟!)
# ext4:
resize2fs /dev/mapper/centos-root
# xfs:
xfs_growfs /dev/mapper/centos-root

# 5. 驗證
df -h /

方案 B:無 LVM 環境下直接擴容分區(較複雜)

需使用 growpart (cloud-utils) 或 parted 移動分區,風險較高,**強烈建議先快照備份**。現代雲主機多預設 LVM,優先確認方案 A 可行性。

方案 C:掛載新磁盤至數據目錄(零風險、業務解耦)

# 1. 格式化新磁盤
mkfs.ext4 /dev/vdb1

# 2. 遷移數據目錄(以 /var/www 為例)
mkdir /mnt/newdata
mount /dev/vdb1 /mnt/newdata
rsync -av /var/www/ /mnt/newdata/
# 修改 /etc/fstab 永久掛載
echo "/dev/vdb1 /var/www ext4 defaults 0 0" >> /etc/fstab
# 原子切換
mount -a
df -h /var/www

空間回收進階技巧

場景命令/方法風險
清理日誌journalctl --vacuum-size=500M / truncate -s 0 /var/log/*.log低
清理包管理器快取yum clean all / apt clean / dnf clean all無
刪除舊內核package-cleanup --oldkernels --count=2 (yum-utils)低
查找大文件find / -xdev -type f -size +100M -exec ls -lh {} \;需人工判斷
Docker 佔用docker system prune -a --volumes中(刪除未用鏡像/卷)

預防性架構建議

  1. 分區規劃: `/` (50G) + `/var` (獨立 LV) + `/home` (獨立 LV) + `/data` (獨立磁盤)
  2. 監控告警: Zabbix/Prometheus 監控磁碟使用率 > 80% 告警
  3. 日誌輪轉: logrotate 配置壓縮、保留天數、大小限制
  4. 容器化部署: 數據卷掛載至獨立存儲,容器層不寫業務數據

總結

VPS 磁盤擴容核心在於「識別 LVM 架構 → 納入新 PV → 擴容 LV → 調整 FS」四步走。若非 LVM,優先考慮「掛載新盤分流業務目錄」規避風險。建立分區規劃與監控體系,才能從「救火」轉向「防火」。

Copyright © Windows教程網 All Rights Reserved