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

2. http://blog.163.com/digoal@126/blog/static/16387704020147296454118/

时间: 2025-01-02 19:35:56

EXT4's barrier option & JBD & safe cache的相关文章

第 5 章 Kernel modules

add and remove modules from the Linux Kernel 5.1. modprobe - program to add and remove modules from the Linux Kernel $ modprobe -l kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko kernel/arch/x86/kernel/cpu/cpufreq/powernow-k8.ko kernel/arch/x86/kerne

Android filesystem system rw(read/write) permission

/********************************************************************************* * Android filesystem system rw(read/write) permission * 说明: * Android system读写权限设置. * * 2017-10-31 深圳 南山平山村 曾剑锋 *******************************************************

全面理解Java内存模型

Java内存模型即Java Memory Model,简称JMM.JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式.JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的. 如果我们要想深入了解Java并发编程,就要先理解好Java内存模型.Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步.原始的Java内存模型效率并不是很理想,因此Java1.5版本对其进行了重构,现在的Java8仍沿用了Java1.5的版本. 关于并发编程 在并发

GlusterFS

Netkiller Linux Storage 手札 File System, Network File System, Distributed Filesystem... Mr. Neo Chan, 陈景峰(BG7NYT) 中国广东省深圳市宝安区龙华镇溪山美地518109+86 755 29812080+86 755 29812080<openunix@163.com>   版权 2010, 2011 Netkiller(Neo Chan). All rights reserved. 版权声

阿里云升级独立云磁盘步骤详解

在阿里云购买的ECS附带的系统盘的空间只有20G,慢慢地剩余空间少了起来,于是购买了一块独立云磁盘(可在同一可用区不同的ECS之间挂载)专用于存储网站数据.本文做一个迁移小记. 迁移前的情况:/data下存放网站程序及数据.日志.MySQL数据等 迁移要求:把/data下的所有文件迁移到独立云磁盘上. 迁移过程如下: (1)关闭MySQL.Nginx.PHP-FPM服务 [root@topseek ~]# service mysqld stop Shutting down MySQL.     

Android学习笔记之-刷机Nexus S: Full Update Guide(Dean)

前几个星期Jimmy跟我说正带的一个项目客户是阿拉伯人!要求有阿拉伯的语言支持!指定的机型是nexus s!很困扰的是亚洲版一般都吧这一语言屏蔽了!让我想办法刷一个有阿拉伯语言支持的!前几天一直尝试自己编一个img直接刷上去!但刚好我手上的源码版本是没有阿拉伯语言设置的支持的! 当然2.3版本的源码都有DroidSansArabic.ttf这也就是说阿拉伯语言的支持都是可以的!我下了一个阿拉伯输入法果然可以保存阿拉伯文字!只是为什么设置里没有呢!跟踪代码发现 /home/deanye/Andro

13.8. Btrfs

The btrfs utility is a toolbox for managing btrfs filesystems. There are command groups to work with subvolumes, devices, for whole filesystem or other specific actions. 13.8.1. /etc/fstab [root@netkiller ~]# cat /etc/fstab # # /etc/fstab # Created b

73.6. Ceph

73.6.1. Installation on Ubuntu $ apt-cache search ceph ceph - distributed storage ceph-common - common utilities to mount and interact with a ceph filesystem ceph-common-dbg - debugging symbols for ceph-common ceph-dbg - debugging symbols for ceph ce

73.7. GlusterFS

http://www.gluster.org/ $ apt-cache search glusterfs glusterfs-client - clustered file-system (client package) glusterfs-dbg - GlusterFS debugging symbols glusterfs-examples - example files for the glusterfs server and client glusterfs-server - clust