CentOS7系統(tǒng)根目錄存儲(chǔ)滿了:高效排查與解決方案
現(xiàn)象識(shí)別與初步診斷
當(dāng)執(zhí)行系統(tǒng)操作時(shí)出現(xiàn)"No space left on device"錯(cuò)誤提示,或通過(guò)df -h
命令顯示根分區(qū)(/
)使用率達(dá)到100%時(shí),需立即執(zhí)行以下診斷步驟:
# 查看各分區(qū)使用情況
df -h
# 定位存儲(chǔ)占用最大的目錄
du -sh /* 2>/dev/null | sort -rh | head -n10
常見(jiàn)問(wèn)題根源分析
1. 日志文件膨脹
/var/log目錄下的系統(tǒng)日志、應(yīng)用日志未配置輪轉(zhuǎn)策略時(shí)可能快速膨脹,通過(guò)以下命令清理:
journalctl --vacuum-size=200M
rm -f /var/log/messages-*
2. 軟件包緩存堆積
YUM/DNF包管理器緩存可能占用數(shù)GB空間,執(zhí)行清理命令:
yum clean all
dnf clean packages
3. 內(nèi)核文件冗余
舊版本內(nèi)核殘留文件可通過(guò)以下方式清理:
# 查看已安裝內(nèi)核包
rpm -q kernel
# 清理舊內(nèi)核(保留最近2個(gè)版本)
package-cleanup --oldkernels --count=2
高級(jí)定位技巧
# 查找大于100MB的文件
find / -type f -size +100M -exec ls -lh {} ; 2>/dev/null
# 分析指定目錄的存儲(chǔ)分布
ncdu -x /
存儲(chǔ)擴(kuò)容方案
當(dāng)物理存儲(chǔ)無(wú)法擴(kuò)展時(shí),可通過(guò)以下方式緩解:
- 掛載新存儲(chǔ)設(shè)備到/home等獨(dú)立目錄
- 使用LVM動(dòng)態(tài)調(diào)整分區(qū)大小
- 配置日志服務(wù)啟用壓縮和自動(dòng)輪轉(zhuǎn)
預(yù)防性維護(hù)建議
- 配置logrotate實(shí)現(xiàn)日志自動(dòng)輪轉(zhuǎn)
- 設(shè)置磁盤空間監(jiān)控告警
- 將大容量目錄(/opt、/home)獨(dú)立分區(qū)
- 定期執(zhí)行yum autoremove清理依賴