一、清理系統磁盤空間(釋放閑置空間)
定期清理系統中的臨時文件、舊日志、無用軟件包及舊內核,是提升磁盤使用效率的基礎步驟。
sudo yum clean all(CentOS 7/8)或sudo dnf clean all(CentOS 8+),清除包管理器下載的緩存文件,釋放/var/cache/yum或/var/cache/dnf目錄空間。/tmp和/var/tmp目錄下的臨時文件(如sudo rm -rf /tmp/* /var/tmp/*),這些文件通常是無用的臨時數據。rpm -qa | grep kernel列出所有內核,保留最新版本(如sudo yum remove kernel-<舊版本號>),避免占用過多空間。find / -type f -size +100M命令查找大于100MB的文件,或用ncdu工具(sudo yum install ncdu && sudo ncdu /)可視化分析磁盤使用情況,刪除不需要的文件(如舊備份、大型日志)。logrotate工具管理日志輪轉(默認配置在/etc/logrotate.conf),或手動刪除/var/log目錄下舊的日志文件(如sudo rm -rf /var/log/*.log.*),防止日志占滿磁盤。二、優化磁盤I/O性能(提升讀寫速度)
調整I/O調度器、使用緩存技術及選擇合適的文件系統,可顯著提升磁盤I/O效率。
deadline,適用于大多數場景;noop適用于SSD或虛擬機,減少調度開銷)。臨時修改:echo deadline > /sys/block/sda/queue/scheduler;永久修改:編輯/etc/default/grub,添加elevator=deadline,然后運行grub2-mkconfig -o /boot/grub2/grub.cfg并重啟。lvcreate -L 10G -n lv_cache vg_name創建緩存卷,lvconvert --type cache --cachevol vg_name/lv_cache vg_name/lv_data關聯數據卷),提升HDD的讀寫速度。bcache-tools將SSD作為HDD的緩存(需安裝bcache-tools,配置/sys/block/bcacheX/bcache),適合需要兼顧速度與容量的場景。ext4:兼容性好,適用于大多數場景(掛載時可加noatime選項,減少訪問時間更新,tune2fs -o noatime /dev/sda1)。XFS:適用于大文件存儲(如視頻、數據庫),高性能且支持動態擴展(格式化時加-f選項,如mkfs.xfs /dev/sdb1)。Btrfs:提供數據去重、快照等功能,但兼容性較差,適合高級用戶。/etc/fstab中為分區添加優化選項(如defaults,noatime,data=writeback),減少不必要的磁盤寫操作(需注意data=writeback可能影響數據一致性,適用于對性能要求高的場景)。三、管理磁盤空間(動態調整容量)
合理規劃磁盤分區及使用LVM,可避免空間不足導致的性能下降。
lvextend -L +10G /dev/vg_name/lv_name;縮?。盒柘刃遁d并調整文件系統,resize2fs /dev/vg_name/lv_name 50G),靈活應對空間需求變化。fdisk/parted創建新分區,添加到現有LVM卷組(vgextend vg_name /dev/sdb1),再擴展邏輯卷(lvextend)。/mnt/newdisk),或在LVM中創建新物理卷、卷組和邏輯卷。四、硬件升級(從根本上提升性能)
硬件是磁盤性能的基礎,升級后可顯著提升I/O速度及容量。
五、監控磁盤性能(及時發現問題)
定期監控磁盤使用情況及性能指標,可提前發現瓶頸并采取措施。
iostat(yum install sysstat):查看磁盤I/O統計(如讀寫速率、利用率),iostat -x 1顯示詳細指標。vmstat:查看系統整體性能(包括磁盤IO、內存使用),vmstat 1每秒刷新一次。iotop(yum install iotop):實時查看進程的磁盤IO使用情況,找出高IO進程。df -h:查看磁盤空間使用情況(總容量、已用、剩余)。du -sh *:查看目錄大小,找出占用空間大的目錄。