溫馨提示×

如何管理centos的磁盤空間

小樊
39
2025-10-13 06:44:11
欄目: 云計算

一、磁盤空間現狀查看
要管理CentOS磁盤空間,首先需清晰掌握當前使用情況。常用命令如下:

  • df -h:以易讀格式(GB/MB)顯示所有掛載點的磁盤使用情況,包括總容量、已用空間、剩余空間及使用百分比,快速識別空間不足的分區(如根分區/)。
  • du -sh *:遞歸統計當前目錄下各子目錄/文件的大小,-s選項僅顯示總計,-h選項轉為易讀格式,常用于定位大文件/目錄(如du -sh /var/*查看/var目錄下各子目錄大?。?。
  • ncdu:基于文本的交互式磁盤分析工具,比du更直觀。安裝命令為sudo yum install ncdu(CentOS 8及以上用dnf),運行ncdu /可掃描根目錄,通過方向鍵瀏覽目錄,按Enter進入子目錄,按d刪除文件/目錄。

二、日??臻g清理技巧
清理無用文件是釋放空間的最有效手段,重點關注以下場景:

  • 清理包管理器緩存:YUM/DNF下載的軟件包會緩存在/var/cache/yum(CentOS 7)或/var/cache/dnf(CentOS 8及以上),占用大量空間。使用sudo yum clean all(CentOS 7)或sudo dnf clean all(CentOS 8及以上)清除緩存。
  • 刪除臨時文件/tmp目錄下的臨時文件(如用戶會話文件、軟件臨時文件)可安全刪除,命令為sudo rm -rf /tmp/*(注意:避免刪除正在使用的臨時文件)。
  • 清理舊內核:系統更新時會保留舊內核,占用/boot分區空間。使用sudo package-cleanup --oldkernels --count=1保留最新1個內核,刪除其余舊內核(需root權限)。
  • 清空回收站:用戶回收站的文件(如/home/*/.local/share/Trash/*)需手動清理,命令為sudo rm -rf /home/*/.local/share/Trash/*。
  • 壓縮大文件:對于不常用的大文件(如備份文件、視頻、日志),使用gzipzip壓縮,例如gzip large_file.log(壓縮后生成large_file.log.gz,原文件被刪除)。

三、日志文件管理
日志文件(如/var/log/messages、/var/log/secure)隨時間增長會占用大量空間,需定期維護:

  • 截斷大日志文件:使用truncate命令將大日志文件清空,例如find /var/log -type f -name "*.log" -size +50M -exec truncate -s 0 {} \;(查找/var/log下大于50MB的.log文件并清空)。
  • 設置日志輪轉:通過logrotate工具自動輪轉、壓縮、刪除舊日志。編輯/etc/logrotate.conf(全局配置)或/etc/logrotate.d/下的應用配置(如/etc/logrotate.d/nginx),設置輪轉周期(如daily)、保留份數(如rotate 7,保留7天日志)、壓縮選項(如compress)。例如,每日輪轉Nginx日志并保留7份:
    /var/log/nginx/*.log {
        daily
        missingok
        rotate 7
        compress
        delaycompress
        notifempty
        create 0640 www-data adm
    }
    

四、LVM動態擴展(推薦)
若系統使用LVM(邏輯卷管理),可通過以下步驟在線擴展磁盤空間,無需卸載分區或重啟系統:

  • 添加物理磁盤:物理連接新磁盤,使用lsblk確認新磁盤設備名(如/dev/sdb)。
  • 創建物理卷(PV):將新磁盤初始化為物理卷,命令為sudo pvcreate /dev/sdb。
  • 擴展卷組(VG):將物理卷加入現有卷組(如centos),命令為sudo vgextend centos /dev/sdb。
  • 擴展邏輯卷(LV):擴展邏輯卷(如root)的大小,例如增加50GB:sudo lvextend -L +50G /dev/mapper/centos-root(或用-l +100%FREE使用所有剩余空間)。
  • 擴展文件系統:根據文件系統類型調整大小,XFS用xfs_growfs(CentOS 7/8默認),Ext4用resize2fs
    sudo xfs_growfs /dev/mapper/centos-root  # XFS文件系統
    sudo resize2fs /dev/mapper/centos-root  # Ext4文件系統
    

五、非LVM環境擴容
若未使用LVM,需通過分區+格式化+掛載的方式擴展空間:

  • 添加物理磁盤:同LVM步驟,確認新磁盤設備名(如/dev/sdb)。
  • 分區:使用fdisk /dev/sdb創建新分區(如/dev/sdb1),設置分區類型為Linux83),保存退出。
  • 格式化:將分區格式化為所需文件系統(如XFS),命令為sudo mkfs.xfs /dev/sdb1。
  • 創建掛載點并掛載:創建目錄(如/data),掛載分區:sudo mkdir /data,sudo mount /dev/sdb1 /data。
  • 持久化掛載:編輯/etc/fstab,添加一行(通過blkid獲取分區UUID):
    UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data xfs defaults 0 0
    
    運行sudo mount -a驗證掛載是否成功。

六、自動化監控與預警
通過自動化工具定期檢查磁盤空間,及時預警避免空間耗盡:

  • Cron定時任務:編輯crontab -e,添加每日檢查命令(如df -h結果發送到郵箱):
    0 0 * * * df -h | mail -s "CentOS Disk Space Report" your_email@example.com
    
  • 閾值預警腳本:編寫Shell腳本,當磁盤使用率超過閾值(如90%)時發送告警,例如:
    #!/bin/bash
    THRESHOLD=90
    USAGE=$(df / | grep / | awk '{print $5}' | sed 's/%//g')
    if [ "$USAGE" -gt "$THRESHOLD" ]; then
        echo "Disk space usage on / is over $THRESHOLD%!" | mail -s "Disk Space Alert" your_email@example.com
    fi
    
    將腳本保存為/usr/local/bin/check_disk.sh,添加執行權限(chmod +x /usr/local/bin/check_disk.sh),并通過Cron每日運行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女