V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ReputationZh
V2EX  ›  Linux

Linux rootfs、User 分区均设置为 EXT4 ro,请问文件系统还会向磁盘写入数据吗?

  •  
  •   ReputationZh · 2021-03-05 10:51:16 +08:00 · 1662 次点击
    这是一个创建于 1377 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对标题横展有几点疑问:

    1. EXT4 的文件系统日志存放位置在什么地方?不在文件系统吗?由什么指定地址呢?
    2. EXT4 的文件系统产生日志的逻辑是什么?仅写入磁盘会产生日志,还是读也会?
    3. 其他文件系统的日志跟 EXT4 有何区别?
    7 条回复    2021-03-05 13:51:15 +08:00
    vk42
        1
    vk42  
       2021-03-05 11:11:29 +08:00
    - 你要是 mount 时指定 ro 的话,应该是不会写入的。
    - 如果是正常 mount 的 Ext4,读操作会不会写入要看文件系统有没有设置 atime 。
    - 日志的存放位置默认是在文件系统里面分一个 block group 存,也可以 mkfs 时指定一个专门的设备存 journal 。
    - 不同文件系统的日志和实现相关性很强,区别没有办法简单说清楚。比如 Ext4 和其它一些系统共用 JBD,而 ZFS 是自己实现的 Journal,没有可比性。
    想具体了解去看看 Ext4 文档写得更清楚:
    https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout
    yanqiyu
        2
    yanqiyu  
       2021-03-05 11:40:46 +08:00   ❤️ 1
    印象中 ro 依然会做 log replay, 你应该 ro,noload 来避免任何写入
    日志当然在文件系统里面,只不过不是文件
    日志是为了保证操作事务性的机制,需要事务性的写入操作才需要日志
    3 的问题就太宽泛了...难以回答
    ReputationZh
        3
    ReputationZh  
    OP
       2021-03-05 11:54:22 +08:00
    @vk42 不好意思,标题没有表述清除,设为只读状态后,还会不会有日志文件写入磁盘呢?
    ReputationZh
        4
    ReputationZh  
    OP
       2021-03-05 11:55:00 +08:00
    @yanqiyu 我去查阅了一下资料,没有发现 noload 的 options,能辛苦解释一下这个 options 的作用吗?
    whee1
        6
    whee1  
       2021-03-05 12:15:31 +08:00 via iPhone
    搭个便车问一下:zpool history,能禁用或者清理掉吗?
    vk42
        7
    vk42  
       2021-03-05 13:51:15 +08:00
    @ReputationZh 用了 ro 之后不会写新日志,不过如#2 所说如果文件系统上次没有正常 umount 即使用 ro 选项挂载时也会 replay
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2627 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:57 · PVG 22:57 · LAX 06:57 · JFK 09:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.