大多数当前流行的Linux文件系统,包括EXT3和EXT4,都将文件系统barrier作为一个增强的安全特性。它保护数据不被写入日记。但是,在许多情况下,我们并不清楚这些barrier是否有用。本文就为什么要在你的Linux系统上启用barrier做出了解释。

Linux日志和barrier功能

要理解barrier,你首先需要理解文件系统日志功能。常用的文件系统使用日志功能来保证文件系统的完整性。该功能背后的思路很简单:在写入新的数据块到磁盘之前,会先将元数据写入日志。预先将元数据写入日志可以保证在写入真实数据前后一旦发生错误,日志功能能很容易地回滚到更改之前的状态。这个方法确保了不会发生文件系统崩溃的情况。

单独使用日志功能不能保证没有任何差错。现在的磁盘大都有大容量的缓存,数据不会立即写入到磁盘中,而是先写入到磁盘缓存中。到这一步,磁盘控制器就能更加高效地将其复制到磁盘中。这对性能来说是有好处的,但是对日志功能来说则相反。为了保证日志百分之百可靠,它必须绝对保证元数据在真实数据写入之前被预先写入。这就是我们要介绍文件系统barrier的原因。

我们很容易理解使用barrier的根本原因:barrier本身禁止在barrier之后写入数据,真实的数据块将在barrier被写入之前完全写入磁盘。使用barrier可以确保文件系统的完整性,因为barrier功能在EXT4文件系统中是默认启用的(除非你的操作系统更改了这个默认设置)。

检查Linux文件系统的barrier:启用还是禁用?

你可以通过/proc/mounts文件来监控文件系统barrier的当前状态;对于每一个挂载的文件系统,打开这个文件都能看到所有的挂载选项。如果你看到barrier=1,那么你的文件系统就正在使用barrier功能。下列信息是一个文件系统的例子:

/dev/sda1 /boot ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0/dev/mapper/luks-3e67401f-44c6-4a27-a1bf-cdf0dcf45f65 /home ext4 rw,seclabel,noatime,barrier=1,data=ordered 0 0

文件系统barrier何时不工作?

Barrier的问题在于,它不能应用于所有条件下。如果设备映射器作为存储层的优先级使用,那么文件系统barrier就无法工作了,因为设备映射器不支持barrier。所以,哪怕你的文件系统默认支持barrier,还是无法在逻辑卷、软RAID或者多路径磁盘上运行该功能(RED HAT和所有相关的Linux版本都将barrier作为默认选项)。

解决这个问题的方案之一就是避免使用设备映射器。所以在安装服务器时,你需要充分考虑配置选项。首先,你不该使用LVM安装服务器,而应该选择用传统的分区方式。接着,你不能使用和设备映射器配合工作的多路径磁盘,它会在SAN上创建多个冗余路径。某些情况下,SAN供应商会提供一个专有驱动器作为选择,但不是所有供应商都提供该选项。最好的办法是采用智能硬件。

使用barrier保护的风险之一是,在系统中断时,数据会留在缓存中,而永不会写入文件系统。一个简单的电池备份控制器可以避免这个问题。当服务器使用的这个控制器出故障了,磁盘控制器仍然能保证变更操作,这充分排除了barrier使用的需要。

使用barrier的另一个不利之处在于,你需要付出降低性能的代价。如果你需要顶级的性能,那么你可以用挂载选项-o barrier=0来关闭barrier功能,比如:mount /dev/sda2 -o barrier=0 /data。

文件系统barrier功能非常有用,但是不能和设备映射器配合工作。如果你需要使用这类设备,但是又想要保证文件系统完整性,那么你可以用电池备份磁盘控制器。如果你的硬件不支持这个,那么你只能避免使用设备映射器,这样才能用barrier功能来保障文件系统完整性。还有,如果你希望得到更好的系统性能,最好也不要开启barrier功能,它会降低系统运行速度。

linux barrier,如何决定何时启用Linux文件系统barrier功能?相关推荐

  1. linux日志本地存储和网络存储,文件系统和本地存储管理 1

    Linux系统管理 1.存储管理 传统的磁盘分区 RAID技术,软RAID的实现 LVM 文件系统管理 ext,xfs,btrfs(了解) 2.程序包管理 rpm.yum.dnf 3.sed.gawk ...

  2. Linux(6)磁盘管理和文件系统

    文章目录 6.Linux(6)磁盘管理和文件系统 前言 基础资源 磁盘管理 磁盘简介 基本磁盘管理.分区 SWAP 交换分区管理 简介 交换分区管理流程 swap 逻辑卷LVM 概述 特点 可操作性的 ...

  3. windows 子系统 linux (WLS):启用Win10的Linux子系统

    windows 子系统 linux (WLS)系列文章目录: windows 子系统 linux (WLS):启用Win10的Linux子系统 windows 子系统 linux (WLS): ifc ...

  4. Linux有问必答-如何创建和挂载XFS文件系统

    Linux有问必答-如何创建和挂载XFS文件系统 问题: 我听说一个牛X的文件系统XFS,打算在我的磁盘上试试XFS.那格式化和挂载XFS文件系统的Linux命令是什么呢? XFS是高性能文件系统,S ...

  5. Linux/Centos7系统管理之深入理解Linux文件系统与日志分析

    前言:inode(文件节点)与block(数据块)硬链接与软连接恢复误删除的文件 (即rm-rf 的操作,可以先进行备份的操作,然后可以进行恢复ext4和xfs文件系统皆可)日志文件的分类用户日志与程 ...

  6. Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念

    进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文件所有者.文件所在组等概念 一.Linux文件结构及基本文件夹 文件系统是Lin ...

  7. 在Linux以及Mac OS X启用F#

    随着.NET Core的推进,如今我们在Linux和Mac OS X平台上也可以和原先Windows平台之下一样运行F#程序.Microsoft的F#项目经理David Stephens先生在Buil ...

  8. linux bash环境,Win10系统怎样启用Linux Bash环境

    不久前,微软召开了Build 2016大会,会上微软宣布将在Windows10系统中内置Linux Bash,这一消息引起了非常大的轰动.到了Windows10内部预览版Build 14316,该特性 ...

  9. linux 删除分区_详解linux系统架构--文件系统体系

    概述 之前已经对Linux系统架构的内核部分单独做了深入介绍,今天就拿Linux系统架构中的文件系统做一下介绍吧~先介绍下概念: 文件系统是文件存放在磁盘等存储设备上的组织方法.Linux系统能支持多 ...

最新文章

  1. 2022-2028年中国锂电材料产业投资分析及前景预测报告
  2. 20.Valid Parentheses (python)
  3. 目标检测+mAP+IoU
  4. new Vue 发生了什么
  5. 知识点讲解七:Python中的异常处理机制
  6. 【费用流】【线性规划】志愿者招募(luogu 3980)
  7. QTextEdit实现图片和文本同行显示
  8. python图片保存为txt文件_python + opencv实现提取png图像的像素信息并存储到txt文件中(附安装指导)...
  9. 【kafka】kafka duplicate brokers in replica assignment
  10. 逻辑回归与梯度下降法
  11. 深入理解Nginx:模块开发与架构解析
  12. html弹出广告设计,全屏弹出广告交互设计探讨
  13. 【死磕DDD】聊聊领域建模方法论
  14. 由马斯克的Space X 火箭的主芯片程序编写语言说起
  15. 【比较】2022 程式语言排名与分析,该学习哪一种程式语言?
  16. 知乎网站2010年12月开放,三个月后获得了李开复的天使投资
  17. python解释器cpython的源码简要介绍
  18. 在自行下载的背景图片上写字
  19. java实现一台电脑控制多台手机_一台电脑控制多部手机怎么实现?
  20. 时间复杂度的计算详解

热门文章

  1. [SDOI2007] 单词接龙游戏 dp
  2. linux 打开db文件怎么打开方式,linux服务器打开数据库文件
  3. Azkaban 进程和任务监控(任务状态从MySQL同步到SqlServer)
  4. Android:内部存储(读写文件、追加模式)
  5. html列表逆序输出,JS实现倒序输出的几种常用方法示例
  6. Unity3D 使用 GL 绘制线条
  7. IOS应用程序发布到苹果APP STORE完整流程使用教程
  8. 【蜕变之路】第15天 Eclipse常用问题 (2019年3月5日)
  9. 为什么“how to say”是错的?
  10. DNSChanger路由器DNS劫持木马 新版本正在攻击家庭及小企业路由器 企图推送广告...