一、清理系统磁盘空间(释放闲置空间)
定期清理系统中的临时文件、旧日志、无用软件包及旧内核,是提升磁盘使用效率的基础步骤。
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;缩小:需先卸载并调整文件系统,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 *:查看目录大小,找出占用空间大的目录。