文件系统类型

类型 适合 备注
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 逻辑卷——能在线扩容的存储抽象。