RHEL6 学习:Write Barriers

Write Barriers 是一种内核机制,可以保证文件系统元数据正确有序地写入持久化存储,哪怕持久化存储掉电的情况也能保证。当出现掉电的情况时,开启了Write Barriers 的文件系统通过 fsync () 将数据写入持久化存储。但是 Write Barriers 开启后,也会带来很大写性能下降, RHEL6 文件系统默认开启 Barriers,如果想关闭 Barriers 功能,可以在 mount 时加上 barrier=0 选项,下面是关闭 barrier 的测试。

如何关闭 Write Barriers ?

1.1 关闭 barrier

1
2
[root@redhat6 skytf]# umount /database/skytf/pgdata1  
[root@redhat6 skytf]# mount -t ext4 -o barrier=0 /dev/mapper/vg_redhat6-lv_pgdata_01 /database/skytf/pgdata1

备注: RHEL6 文件系统默认开启 Barriers ,如果想关闭 Barriers 功能,重新挂载文件系统并增加 -o barrier=0 即可。

1.2 查看 /var/log/messages

1
2
Mar 15 10:54:46 redhat6 kernel: EXT4-fs (dm-2): barriers disabled  
Mar 15 10:54:46 redhat6 kernel: EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts:

备注:从日志里已经显示了 “barriers disabled” 信息。

如何查看文件系统是否开启 Write Barriers ?

2.1 方法一: mount -l

1
2
[root@redhat6 skytf]# mount -l | grep /database/skytf/pgdata1  
/dev/mapper/vg_redhat6-lv_pgdata_01 on /database/skytf/pgdata1 type ext4 (rw,barrier=0)

备注:通过 mount -l 命令可以查看已挂载文件系统属性。

2.2 方法二: 查看 /etc/mtab 文件

1
2
3
4
5
6
7
8
9
10
11
[root@redhat6 skytf]# cat /etc/mtab  
/dev/mapper/vg_redhat6-lv_root / ext4 rw 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0
/dev/sda1 /boot ext4 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
gvfs-fuse-daemon /root/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev 0 0
/dev/mapper/vg_redhat6-lv_pgdata_01 /database/skytf/pgdata1 ext4 rw,barrier=0 0 0

备注:因为文件系统 mount 后会将信息写入文件 /etc/mtab 里,所以可以查看这个文件,当然如果 mount 文件系统时加选项 -n ,那么/etc/mtab文件里面就不会写入新挂载卷的信息。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/237835.html

(0)
上一篇 2022年1月29日
下一篇 2022年1月29日

相关推荐

发表回复

登录后才能评论