根据大文件系统的使用场景选择最优文件系统:
parted
工具(fdisk
不支持GPT分区表)。例如:sudo parted /dev/sdb mklabel gpt # 创建GPT分区表
sudo parted /dev/sdb mkpart primary ext4 0% 100% # 创建全量主分区
-T largefile
选项优化大文件存储(减少inode数量,提升大文件写入性能):sudo mkfs.ext4 -T largefile /dev/sdb1
e2fsprogs
工具(CentOS 6及以下版本需升级,以支持ext4的大文件特性):下载高版本源码编译安装,修改/etc/mke2fs.conf
添加auto_64-bit_support = 1
。在/etc/fstab
或mount
命令中添加以下选项,提升大文件系统性能:
noatime,nodiratime
:禁用文件/目录访问时间更新,减少不必要的磁盘I/O(对读多写少的场景效果显著)。barrier=0
:关闭写屏障(提升写入性能,但可能降低数据安全性,仅在数据可靠性要求低的场景使用)。commit=60
:调整日志提交间隔(默认5秒),增大间隔可减少磁盘写入次数(如设置为60秒,平衡性能与数据安全)。fstab
条目:/dev/sdb1 /mnt/largefs ext4 noatime,nodiratime,barrier=0,commit=60 0 0
通过LVM(逻辑卷管理)动态调整逻辑卷大小,避免频繁分区扩展:
sudo pvcreate /dev/sdb1
sudo vgcreate vg_large /dev/sdb1
sudo lvcreate -l 100%FREE -n lv_data vg_large
sudo mkfs.ext4 /dev/vg_large/lv_data
sudo mount /dev/vg_large/lv_data /mnt/largefs
后续可通过lvextend
命令扩展逻辑卷(无需卸载文件系统)。
/etc/sysctl.conf
优化磁盘调度和缓冲区:vm.dirty_ratio = 10 # 脏页比例阈值(达到后触发写入)
vm.dirty_background_ratio = 5 # 后台写入脏页比例
net.core.rmem_max = 67108864 # 接收缓冲区最大值
net.core.wmem_max = 67108864 # 发送缓冲区最大值
执行sudo sysctl -p
使配置生效。/etc/security/limits.conf
,提升并发处理能力:* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
iostat
(查看磁盘I/O)、iotop
(查看进程级I/O)、df -h
(查看挂载状态)等工具定期检查系统状态。fsck
命令修复文件系统错误(需卸载分区):sudo umount /dev/sdb1
sudo fsck.ext4 -y /dev/sdb1
e4defrag
工具整理碎片(XFS使用xfs_fsr
):sudo e4defrag /mnt/largefs
若挂载网络大文件系统,需调整NFS挂载参数提升性能:
rsize
和wsize
增大读写缓冲区(如1MB):sudo mount -t nfs -o rsize=1048576,wsize=1048576 192.168.1.100:/share /mnt/nfs
async
选项提升写入性能(异步写入,但可能降低数据安全性)。