3.6.2 mount/umount常用参数与实践

3.6.2 mount/umount常用参数与实践#

mount用于将设备或文件系统挂载到指定挂载点,umount用于卸载。常见使用场景包括本地块设备、网络文件系统、临时介质与镜像文件。

原理草图(挂载关系)

文章图片

mount常用参数与解释
- -t:指定文件系统类型(ext4、xfs、nfs、cifs、iso9660)
- -o:挂载选项,多个以逗号分隔
- -r/-w:只读/读写挂载
- -L/-U:通过LABEL或UUID挂载
- --bind:绑定挂载,将一个目录映射到另一个挂载点
- -a:配合/etc/fstab挂载所有未挂载项

常用挂载选项(-o)
- defaults:默认选项集合
- ro/rw:只读/读写
- noexec:禁止执行二进制
- nosuid:忽略SUID/SGID
- nodev:不解释设备文件
- noatime/relatime:减少访问时间更新
- sync/async:同步/异步写入
- uid/gid/umask:常用于vfat、ntfs等无权限体系文件系统
- hard/soft,timeo,retrans:NFS超时与重试控制

umount常用参数与解释
- -l:懒卸载,延迟到不再被使用
- -f:强制卸载(网络文件系统常用)
- -a:卸载/etc/mtab中列出的文件系统(谨慎使用)


实践示例:完整可执行流程(本地磁盘挂载)

# 1) 查看块设备
lsblk -f

# 2) 创建挂载点
mkdir -p /data

# 3) 挂载 ext4 分区
mount -t ext4 /dev/sdb1 /data

# 4) 验证挂载结果
df -hT | grep /data

# 5) 卸载
umount /data

预期效果df -hT中看到/dev/sdb1挂载到/data,文件系统类型为ext4

实践示例:只读挂载

mount -o ro /dev/sdb1 /data

说明:用于镜像、归档或故障磁盘保护性读取。

实践示例:绑定挂载(目录镜像)

mkdir -p /data /mnt/data
mount --bind /data /mnt/data

说明:常用于容器、隔离访问路径等场景。

实践示例:挂载ISO镜像

mkdir -p /mnt/cdrom
mount -t iso9660 -o loop /root/CentOS.iso /mnt/cdrom

说明-o loop将文件作为块设备挂载。

实践示例:NFS挂载(含超时与重试)

mkdir -p /mnt/share
mount -t nfs -o rw,hard,timeo=30,retrans=3 10.0.0.10:/share /mnt/share

说明hard会在网络中断时持续重试,适合需要强一致的场景。


排错与诊断(常用命令+解释)

# 1) 查看挂载列表
mount | column -t

# 2) 检查挂载点是否被占用
lsof +D /data
fuser -vm /data

# 3) 查找挂载失败原因(dmesg内核日志)
dmesg | tail -n 50

# 4) 验证文件系统类型匹配
blkid /dev/sdb1

# 5) 查看是否被只读保护
mount | grep /data

常见问题
- mount: wrong fs type:文件系统类型不匹配或未格式化
- device is busy:挂载点被占用,可用lsof/fuser定位
- permission denied:NFS/CIFS权限不足或导出配置问题


练习
1. 将/dev/sdb1挂载到/data并启用noexec,nosuid选项,验证touch /data/a && chmod +x /data/a无法执行。
2. 使用--bind/var/log映射到/mnt/log,验证两边文件同步可见。
3. 挂载一个ISO文件到/mnt/cdrom并列出其中的Packages目录。