[转] Write Barriers

RHEL6 学习:Write Barriers

http://francs3.blog.163.com/blog/static/405767272012215212890/

            Write Barriers 是一种内核机制,可以保证文件系统元数据正确有序地写入持久化存储,哪怕
持久化存储掉电的情况也能保证。当出现掉电的情况时,开启了Write Barriers 的文件系统通过 fsync () \
将数据写入持久化存储。

         但是 Write Barriers 开启后,也会带来很大写性能下降, RHEL6 文件系统默认开启 Barriers,
如果想关闭 Barriers 功能,可以在 mount 时加上 barrier=0 选项,下面是关闭 barrier 的测试。

一如何关闭 Write Barriers ?
--1.1 关闭 barrier
[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
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
[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 文件
[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文件里面就不会写入新挂载卷的信息。

posted @ 2014-06-29 10:14  popsuper1982  阅读(1018)  评论(1编辑  收藏  举报