EXT4's barrier option & JBD & safe cache

简介:
当ext4底下的块设备的易失缓存没有掉电保护时, 开启barrier=1的话, 可以确保jbd操作的安全性, 即EXT4文件系统的日志安全, 也就是说当异常DOWN机, 并且我们使用了没有掉电保护的块设备缓存时, 还能恢复到一致性状态.
jbd + barrier=1 + 没用掉电保护的块设备缓存 = 安全. (如果你发现dmesg日志中出现disable barrier的情况, 可能是IO stack不支持barrier, 那么如果启用没有掉电保护的块设备缓存就不安全了)
还有一种情况是块设备缓存有掉电保护模块(电池), 那么可以关闭barrier, 来获得更好的性能.
       barrier=0 / barrier=1 / barrier / nobarrier
              This enables/disables the use of write barriers in the jbd code.  barrier=0 disables, barrier=1 enables.
              This also requires an IO stack which can support barriers, and if jbd gets an error on a barrier  write,
              it  will  disable  again with a warning.  Write barriers enforce proper on-disk ordering of journal com-
              mits, making volatile disk write caches safe to use, at some performance penalty.   If  your  disks  are
              battery-backed  in  one  way  or  another, disabling barriers may safely improve performance.  The mount
              options "barrier" and "nobarrier" can also be used to enable or disable barriers, for  consistency  with
              other ext4 mount options.

              The ext4 filesystem enables write barriers by default.


[参考]
1. man mount
相关文章
|
12月前
|
Oracle 前端开发 关系型数据库
log file sync 和 log file parallel write等待事件的区别和联系
log file parallel write 和log file sync这两个等待事件关系密切,很多人对这两个等待事件有一些误解,我们先来看看Oracle官方文档的解释:
|
缓存 Java 关系型数据库
关于page Cache和memory mappped Files 和zero copy
关于page Cache和memory mappped Files 和zero copy
140 0
关于page Cache和memory mappped Files 和zero copy
jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
135 0
jMeter CSV Data set config 的 sharing mode 和 Thread group loop 配合使用
|
安全 API
Read-only dynamic data
lwn文章翻译,原文[链接](https://lwn.net/Articles/750215/) ## 简介 本文主要讲述的是一种动态内存的只读保护机制。 ## 原文 内核开发者可以对想保护的数据设置为read-only权限,借助于MMU来避免恶意攻击者的篡改。kernel目前已经支持只读内存保护,但这些内存必须在操作系统自举完成前被初始化,所以局限性很大。Igor Stoppa的
956 0