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目录。