可安全热修改挂载选项:ro/rw、noatime/relatime、nodev/dev、nosuid/suid、noexec/exec、barrier=1/0;不可热修改的包括文件系统类型、data=journal等日志模式及格式化级参数。
可以安全地用 mount -o remount 修改已挂载分区的挂载选项,无需卸载或中断正在进行的 I/O。内核在 remount 过程中会原子性更新超级块的挂载标志,已打开的文件描述符、正在读写的进程、后台 flush 线程等全部保持正常运行。
并非所有 -o 选项都能通过 remount 动态生效。以下常见标志位可安全热更新:
以下选项修改必须先 umount,否则会报错 Invalid argument 或被内核忽略:
-t ext4 等)data=journal → data=ordered)errors=panic 类错误处理策略(部分版本受限)以将 /data 分区临时设为只读为例:
sudo mount -o remount,ro /data
执行后立即生效,但已有打开的写句柄仍可完成当前 write() 调用;后续新 open(O_WRONLY) 或 chmod() 等操作将返回 EROFS 错误。
若需恢复读写:
sudo mount -o remount,rw /data
注意:remount 不改变挂载点路径、设备源或文件系统类型,也不触发重新扫描或重建缓存。页缓存、dentry 缓存、inode 缓存全部保留,I/O 流程完全连续。
使用以下命令确认挂载状态已更新:
findmnt /data —— 显示当前挂载选项(推荐)mount | grep ' /data ' —— 检查输出中是否含 ro 或 rw
cat /proc/mounts | grep ' /data ' —— 查看内核维护的实时挂载表