技术解析

Linux rootfs、User 分区均设置为 EXT4 ro,请问文件系统还会向磁盘写入数据吗?
0
2021-06-12 02:41:07
idczone

对标题横展有几点疑问:

  1. EXT4 的文件系统日志存放位置在什么地方?不在文件系统吗?由什么指定地址呢?
  2. EXT4 的文件系统产生日志的逻辑是什国外服务器么?仅写入磁盘会产生日志,还是读也会?
  3. 其他文件系统的日志跟 EXT4 有何区别?

- 你要是 mount 时指定 ro 的话,应该是不会写入的。
- 如果是正常 mount 的 Ext4,读操作会不会写入要看文件系统有没有设置 atime 。
- 日志的存放位置默认是在文件系统里面分一个 block group 存,也可以 mkfs 时指定一个专门的设备存 journal 。
- 不同文件系统的日志和实现相关性很强,区别没有办法简单说清楚。比如 Ext4 和其它一些系统共用 JBD,而 ZFS 是自己实现的 Journal,没有可比性。
想具体了解去看看 Ext4 文档写得更清楚:
https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout

印象中 ro 依然会做 log replay, 你应该 ro,noload 来避免任何写入
日志当然在文件系统里面,只不过不是文件
日志是为了保证操作事务性的机制,需要事务性的写入操作才需要日志
3 的问题就太宽泛了...难以回答

不好意思,标题没有表述清除,设为只读状态后,还会不会有日志文件写入磁盘呢?

我去查阅了一下资料,没有发现 noload 的 options,能辛苦解释一下这个 options 的作用吗?


https://www.kernel.org/doc/Documentation/filesystems/ext4.txt

搭个便车问一下:zpool history,能禁用或者清理掉吗?

用了 ro 之后不会写新日志,不过如所说如果文件系统上次没有正常 umount 即使用 ro 选项挂载时也会 replay

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服