1. 文件系统基础

/etc/fstab 文件格式解析

1
设备/标签/UUID  挂载点  文件系统类型  挂载选项  dump标志  fsck顺序

字段说明:

字段 说明 示例
1 设备标识 /dev/sda1, UUID=xxxx, LABEL=root
2 挂载路径 /, /home, /boot
3 文件系统类型 ext4, xfs, nfs
4 挂载选项 defaults, noatime
5 dump备份标志 0(不备份), 1(备份)
6 fsck检查顺序 0(不检查), 1(优先), 2(次级)

文件系统类型对比

类型 特点 适用场景
ext4 日志式, 最大16TB文件 通用Linux系统
XFS 高性能, 最大8EB文件 大文件处理
Btrfs 写时复制, 快照功能 高级存储需求
FAT32 兼容性好 U盘/移动设备
NTFS Windows兼容 双系统共享分区

常用挂载选项

选项 作用 性能影响
async 异步写入 提升性能
noatime 不更新访问时间 显著提升
nodiratime 不更新目录访问时间 小幅提升
discard TRIM支持(SSD) 延长SSD寿命
data=writeback ext4日志模式 性能最佳

查看支持的文件系统:

1
cat /proc/filesystems

查看已挂载文件系统:

1
2
cat /etc/mtab   # 或
cat /proc/mounts

2. 挂载管理命令

mount 命令详解

1
mount [选项] [设备] [挂载点]

常用选项:

选项 说明
-t 指定文件系统类型
-o 指定挂载选项(多选项用逗号分隔)
-a 挂载/etc/fstab中所有文件系统
–bind 目录绑定挂载
-l 显示标签

示例:

1
mount -t ext4 -o noatime /dev/sdb1 /mnt/data

umount 命令

1
umount [选项] [设备|挂载点]
选项 说明
-a 卸载所有文件系统
-t 按类型卸载
-l 延迟卸载(强制)
-f 强制卸载

强制卸载流程:

  1. fuser -vm /mountpoint 查看占用进程
  2. kill -9 PID 结束进程
  3. umount -f /mountpoint

3. SWAP 管理

创建SWAP文件

1
2
3
4
5
# 创建1GB交换文件
dd if=/dev/zero of=/swapfile bs=1M count=1024
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

SWAP管理命令

命令 功能
swapon -a 启用所有swap
swapon -s 查看swap使用
swapoff -a 禁用所有swap

优化建议:

  • 物理内存<8GB时,SWAP=1.5倍内存
  • 物理内存≥8GB时,SWAP=8GB

4. 文件系统创建与维护

创建工具对比

命令 对应文件系统 特点
mkfs.ext4 ext4 默认日志模式
mkfs.xfs XFS 高性能大文件
mkfs.btrfs Btrfs 高级功能支持

ext4创建示例:

1
mkfs.ext4 -b 4096 -m 1 -L DATA /dev/sdb1

XFS创建示例:

1
mkfs.xfs -f -L BIGDATA /dev/sdc1

文件系统检查

ext系列检查:

1
2
fsck -y /dev/sda1   # 自动修复
e2fsck -f /dev/sda1 # 强制检查

XFS检查:

1
xfs_repair /dev/sdb1

检查时机:

  • 异常关机后
  • 定期维护时(建议每6个月)
  • 出现I/O错误时

5. 高级文件系统特性

ext4 特性管理

转换ext3→ext4:

1
2
tune2fs -O extent,uninit_bg,dir_index /dev/sda1
fsck -pf /dev/sda1

调整参数:

1
2
tune2fs -c 30 -i 7d /dev/sda1  # 每30次挂载或7天检查
tune2fs -m 5 /dev/sda1 # 保留5%空间

XFS 高级功能

查看信息:

1
2
xfs_info /dev/sdb1
xfs_admin -l /dev/sdb1

备份恢复:

1
2
xfsdump -l 0 -f /backup/root.xfsdump /dev/sda1
xfsrestore -f /backup/root.xfsdump /mnt/restore

6. 光盘与加密文件系统

光盘制作

1
2
3
4
5
# 创建ISO
mkisofs -JR -V "BACKUP_2023" -o backup.iso /backup

# 刻录光盘
cdrecord -v dev=1,0,0 speed=24 backup.iso

加密文件系统

LUKS加密:

1
2
3
4
cryptsetup luksFormat /dev/sdb1
cryptsetup luksOpen /dev/sdb1 secret
mkfs.ext4 /dev/mapper/secret
mount /dev/mapper/secret /mnt/secure

关闭加密卷:

1
2
umount /mnt/secure
cryptsetup luksClose secret

7. 磁盘健康监控

S.M.A.R.T. 监控

1
2
3
smartctl -a /dev/sda          # 查看详细信息
smartctl -H /dev/sda # 健康状态
smartctl -t long /dev/sda # 启动长测试

关键监控指标:

  • Reallocated_Sector_Ct
  • Current_Pending_Sector
  • Temperature_Celsius

8. 故障处理流程

文件系统修复步骤

  1. 卸载文件系统

    1
    umount /dev/sda1
  2. 进入单用户模式

    1
    init 1
  3. 执行检查修复

    1
    fsck -y /dev/sda1
  4. 严重损坏时

    1
    2
    3
    debugfs /dev/sda1
    > lsdel # 查看已删除inode
    > dump <inode> /tmp/recover_file

应急恢复方案

问题现象 解决方案
无法挂载 fsck -y /dev/sdX
Superblock损坏 e2fsck -b 32768 /dev/sdX
只读文件系统 mount -o remount,rw /