作为IT工程师,掌握Linux文件系统管理和优化是必备技能。以下是一份全面的指南:
# 查看已挂载文件系统
df -hT
# 查看块设备信息
lsblk -f
# 查看文件系统详细信息
blkid
# 创建ext4文件系统
mkfs.ext4 /dev/sdX1
# 创建XFS文件系统
mkfs.xfs /dev/sdX1
# 创建Btrfs文件系统
mkfs.btrfs /dev/sdX1
# 临时挂载
mount /dev/sdX1 /mnt/point
# 永久挂载(编辑/etc/fstab)
/dev/sdX1 /mnt/point ext4 defaults 0 2
# 卸载
umount /mnt/point
# 优化ext4挂载选项(编辑/etc/fstab)
/dev/sdX1 /mnt/point ext4 noatime,nodiratime,data=writeback,barrier=0 0 2
# 优化XFS挂载选项
/dev/sdX1 /mnt/point xfs noatime,nodiratime,logbufs=8 0 2
# ext4调整日志模式
tune2fs -o journal_data_writeback /dev/sdX1
# XFS调整日志大小
xfs_admin -L size=256m /dev/sdX1
# 调整inode数量(创建时)
mkfs.ext4 -N 1000000 /dev/sdX1
# ext4文件系统检查
fsck.ext4 -f /dev/sdX1
# XFS文件系统检查与修复
xfs_repair /dev/sdX1
# Btrfs文件系统检查
btrfs check /dev/sdX1
# 创建物理卷
pvcreate /dev/sdX1
# 创建卷组
vgcreate vg_data /dev/sdX1
# 创建逻辑卷
lvcreate -L 100G -n lv_data vg_data
# 扩展逻辑卷
lvextend -L +50G /dev/vg_data/lv_data
# 启用TRIM支持
fstrim -v /mnt/point
# 自动TRIM(编辑/etc/fstab)
/dev/sdX1 /mnt/point ext4 defaults,discard 0 2
# 调整I/O调度器
echo deadline > /sys/block/sdX/queue/scheduler
# 创建子卷
btrfs subvolume create /mnt/point/subvol1
# 启用压缩
mount -o compress=zstd /dev/sdX1 /mnt/point
# 创建快照
btrfs subvolume snapshot /mnt/point /mnt/point/snapshot1
# 实时磁盘I/O监控
iotop
iostat -x 1
# 文件系统性能测试
hdparm -tT /dev/sdX
# 调整脏页比例
sysctl -w vm.dirty_ratio=10
sysctl -w vm.dirty_background_ratio=5
# 调整swappiness
sysctl -w vm.swappiness=10
# XFS碎片整理
xfs_fsr /dev/sdX1
# ext4碎片整理(需要卸载)
e4defrag /dev/sdX1
# Btrfs碎片整理
btrfs filesystem defrag /mnt/point
# 设置文件属性
chattr +i important_file
# 查看文件系统访问控制
getfacl /path/to/file
# 设置ACL
setfacl -m u:user:rwx /path/to/dir
通过以上技术组合使用,可以显著提升Linux文件系统的性能和可靠性。根据具体应用场景选择最适合的优化策略,并定期进行维护检查。