1. 选择合适的文件系统
根据应用场景选择高性能文件系统是基础。ext4适合普通服务器应用(稳定性高、管理方便),XFS更适合超大文件(如视频、数据库)和高IO负载场景(随机IO性能更优)。升级文件系统时需备份数据,例如将HDD格式化为XFS:mkfs.xfs /dev/sdb1,然后挂载至目标目录。
2. 优化文件系统挂载选项
通过挂载选项减少不必要的磁盘写操作,提升读性能。关键选项包括:
/etc/fstab文件(如/dev/sda1 / ext4 defaults,noatime,nodiratime 0 1),执行mount -oremount /使设置生效。3. 调整内核IO调度器
根据负载类型选择合适的调度器,优化IO请求处理顺序:
cat /sys/block/sda/queue/scheduler;修改调度器(如设为Deadline):echo deadline > /sys/block/sda/queue/scheduler(需root权限)。4. 利用缓存技术加速IO
cached值,可通过free -h查看),无需额外配置;bcache或LVM Cache将SSD作为缓存设备,加速HDD读写。例如,使用bcache-tools配置SSD(/dev/sdb)缓存HDD(/dev/sda1):make-bcache -C /dev/sdb -B /dev/sda1,然后挂载bcache设备。5. 优化文件系统参数
tune2fs修改数据写入模式(如data=writeback,提升写入性能,但需权衡数据安全性);调整块大小(创建时指定-b 4096,减少碎片);logbsize,减少IO次数);调整inode大小(-i size=512,提升小文件处理性能)。tune2fs -o data=writeback /dev/sda1(需重启生效)。6. 升级硬件提升IO性能
7. 监控与分析IO瓶颈
使用工具定期监控磁盘IO状态,定位性能瓶颈:
%util)、等待队列长度(await),判断是否磁盘过载;bi/bo,块读写速率)。iostat -x 1每秒显示一次磁盘IO详细信息。8. 清理磁盘空间与碎片
du(查看目录大小)、find(查找大文件,如find / -type f -size +100M)删除旧日志、临时文件,释放空间;e4defrag整理碎片(需空闲空间充足),提升文件连续存储率(如e4defrag /home)。