【LINUX 学习】Ext3 的三种日志记录方式

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

Ext3 提供三种数据日志记录方式: data=writeback 、 data=ordered  (默认) data=journal。
1 data=writeback 方式
data=writeback方式下,ext3根本不执行任何形式的数据日志记录,提供给您的是和在XFS,JFS和 ReiserFS文件系统中找到的类似的日志记录(仅元数据)。这会让最近修改的文件在出现意外的重新引导事件中被毁坏。如果不考虑这个缺点, data=writeback 方式在大多数情况下应该能够提供最佳的ext3性能。
2 data=ordered 方式
  data=ordered方式下,ext3只是正式记录元数据,而在逻辑上将元数据和数据块分组到称为事务的单个单元中。到了将新的元数据写到磁盘上的时候, 首先写的是相关的数据块。
   data=ordered方式有效地解决了在 data=writeback 方式下和大多数其它日志记录文件系统中发现的毁坏问题,而这是在不需要完整数据日志记录的情况下做到的。一般说来,data=ordered ext3文件系统执行的速度比data=writeback文件系统执行的速度稍微慢一些,但比对应的完整数据日志记录还是要快出许多。
将数据附加到文件时,data=ordered方式提供了ext3完整数据日志记录方式提供的所有完整性保证。
    不过,如果正在覆盖某一部分文件,而此时系统崩溃,那么有可能所写的区将包含原始块和在其中散布了更新块的组合。这是因为 data=ordered 不提供首先覆盖哪一个数据块的保证,因此不能假设只是因为更新了被覆盖的块 x,也就更新了被覆盖的块 x-1。
   data=ordered让写操作顺序由硬盘的写高速缓存决定。这个限制并不经常具有负面影响,因为附加的文件一般比覆盖的文件更普遍。出于这个原因,data=ordered 方式是对完整数据日志记录的一个很好的更高性能的替代。

3 data=journal 方式
data=journal 方式提供了完整数据和元数据日志记录。所有新数据首先写入日志,然后再写入它的最终位置。在崩溃情况下,可以重放日志,使数据和元数据处于一致的状态。

要指定日志方式,可以使用如下方式:
1 向/etc/fstab的选项节添加适当的字符串例如 data=journal
2 在调用 mount 时直接指定 -o data=journal 命令行选项。
如果您愿意指定用于根文件系统的数据日志记录方法data=ordered是缺省值,则可以使用名为 rootflags 的特殊内核引导选项。因此,要将根文件系统置于完整数据日志记录方式下,则向内核引导选项添加rootflags=data=journal 。

如果我们想要查看某一个磁盘对应的文件系统的日志方式应该怎么查询,这里可以通过dmesg 命令:
[root@rac4 ~]# dmesg | grep -B 1 "mounted filesystem" 
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
--
EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
--
EXT3 FS on sdb1, internal journal
EXT3-fs: mounted filesystem with journal data mode.
--
EXT3 FS on sdb1, internal journal
EXT3-fs: mounted filesystem with writeback data mode.
用dmesg这个工具来查看一些硬件的信息,命令记录对所以文件系统mount的信息,对/home/yang 进行mount和umount操作,会在dmesg 命令输出中显示出来!
[root@rac4 yang]# mount -o data=journal /dev/sdb1 /home/yang
[root@rac4 yang]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda3              26G   12G   13G  48% /
/dev/sda1              99M   12M   83M  13% /boot
tmpfs                 2.0G     0  2.0G   0% /dev/shm
/dev/sdb1              20G  173M   19G   1% /home/yang
[root@rac4 yang]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda3              26G   12G   13G  48% /
/dev/sda1              99M   12M   83M  13% /boot
tmpfs                 2.0G     0  2.0G   0% /dev/shm
[root@rac4 yang]# mount -o data=writeback  /dev/sdb1 /home/yang       
[root@rac4 yang]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda3              26G   12G   13G  48% /
/dev/sda1              99M   12M   83M  13% /boot
tmpfs                 2.0G     0  2.0G   0% /dev/shm
/dev/sdb1              20G  173M   19G   1% /home/yang
相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
3月前
|
监控 Linux 应用服务中间件
linux查看日志文件tail -f用法
在 Linux 中,查看和监控日志文件是系统管理员和开发者常用的操作之一。tail 命令就是用来查看文件内容的,它默认显示文件的最后部分。tail -f 是 tail 命令的一个非常有用的选项,用于实时查看和跟踪日志文件的更新,尤其是在监控运行中的服务时非常有用。
560 0
|
11月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
607 2
|
11月前
|
存储 安全 Linux
|
6月前
|
调度
FreeRTOS学习日志 - 第一天
这就是我的FreeRTOS学习日志 - 第一天的内容,明天继续探索这片实时操作系统的广阔海洋。+
109 12
|
7月前
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
735 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
7月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
10月前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
253 7
|
10月前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
312 1
|
11月前
|
Linux Shell 数据安全/隐私保护
Linux 初学者必学的 10 个命令,学习!
【10月更文挑战第28天】
276 1
Linux 初学者必学的 10 个命令,学习!
|
11月前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
223 7