文件系统类型
| 类型 | 适合 | 备注 |
|---|---|---|
| ext4 | 通用 Linux 默认 | 兼容性最好 |
| xfs | 大文件 / 高并发 | RHEL 系默认 |
| btrfs | 快照 / 多盘 | 进阶选项 |
| zfs | 数据中心 / NAS | 高级特性多 |
| vfat / FAT32 | U 盘跨平台 | 单文件最大 4G |
| ntfs | Windows 盘 | 读写需要 ntfs-3g |
| exfat | 大 U 盘 | macOS / Windows 都认 |
普通服务器选 ext4 或 xfs,两者都成熟稳定。
格式化(建文件系统)
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.xfs /dev/sdb1
sudo mkfs.ext4 -L data /dev/sdb1 # 加 label
⚠ 格式化会清空分区数据——只对新盘 / 确认要重做的盘用。
挂载与卸载
# 临时挂载
sudo mkdir /data
sudo mount /dev/sdb1 /data
# 看已挂载的
mount | column -t # 全部
df -hT # 简洁视图
# 卸载
sudo umount /data
sudo umount /dev/sdb1 # 两种写法都行
⚠ "device busy" 错误:
sudo umount /data
# umount: /data: target is busy
# 看谁在用
sudo lsof +D /data
sudo fuser -mv /data
# 强制(最后手段)
sudo umount -l /data # lazy umount(卸载点不可见,等使用者退出)
/etc/fstab:开机自动挂载
sudo blkid /dev/sdb1
# /dev/sdb1: UUID="abc-123-def" TYPE="ext4"
把 UUID 加到 /etc/fstab:
# UUID 挂载点 类型 选项 dump fsck
UUID=abc-123-def /data ext4 defaults 0 2
字段含义:
| 字段 | 含义 |
|---|---|
UUID=... |
设备标识(比 /dev/sdb1 稳,盘顺序会变) |
| 挂载点 | 目录 |
| 类型 | ext4 / xfs / nfs 等 |
| 选项 | defaults / ro / noexec / nosuid 等 |
| dump | 备份标志(一般 0) |
| fsck | 启动时检查顺序(/ 设 1,其他 2,不检查 0) |
⚠ fstab 写错 → 下次开机系统进不去(systemd 卡在 emergency mode,云上虚拟机极难救)。改完必须在重启前测:
sudo mount -a
echo $? # 必须是 0
输出有 error / unknown filesystem type / not found → 不要重启,先修:
- 检查 UUID 是否拼对(
sudo blkid重新拿) - 检查文件系统类型对不对(ext4 / xfs)
- 检查挂载点目录是否存在(必须先
sudo mkdir) - 不致命挂载(如可选数据盘)加
nofail,系统会忽略错误继续启动:
UUID=xxx /data ext4 defaults,nofail 0 2
常用挂载选项
defaults = rw,suid,dev,exec,auto,nouser,async
ro 只读
rw 可读写
noexec 不能执行二进制(提高安全)
nosuid 忽略 SUID 位
nodev 不识别设备文件
noatime 不更新访问时间(**提性能**)
relatime 比 noatime 温和
sync 同步写
async 异步写
常见组合:
- 普通数据盘:
defaults,noatime - 公共读写区(/tmp 类):
defaults,noexec,nosuid,nodev - 只读 ISO:
ro,loop
挂载 ISO 文件
sudo mkdir /mnt/iso
sudo mount -o loop ubuntu.iso /mnt/iso
ls /mnt/iso
sudo umount /mnt/iso
挂载远程
NFS
sudo apt install nfs-common
sudo mount -t nfs server:/path /mnt/remote
fstab:
server:/path /mnt/remote nfs defaults 0 0
SMB / CIFS
sudo apt install cifs-utils
sudo mount -t cifs //server/share /mnt/smb -o username=u,password=p
看 IO 实时情况
iostat -x 1 5 # 需要 sysstat
iotop # 按进程看 IO(要装)
下一篇:LVM 逻辑卷——能在线扩容的存储抽象。