GlusterFS
1 理论部分
1.1 锁的作用
分布式存储的锁类似于MySQL的行锁和表锁,可防止多个客户端同时编辑对数据造成损坏,故本章解决数据写入冲突问题。
1.2 语法格式
gluster volume set locks.mandatory-locking
off – 为指定的卷禁用强制锁
file – 启用Linux内核风格的强制锁语义和位模式的帮助(没有充分测试)
forced – 为卷检查字节范围锁定每个数据编辑操作
optimal – 混合模式下在POSIX客户端可以与咨询锁共存;在类似于SMB的其他客户端,语义将仍然尊重取得强制锁。
注意:以上命令适用于含gluster-3.8及以上版本
2 实践部分
2.1 环境配置
扩展存储需要使用含Gluster 3.8及以上版本,
配置参阅:http://www.cmdschool.org/archives/92
2.2 开启强制锁
gluster volume set gv0 locks.mandatory-locking optimal
2.3 检查
gluster volume info
显示如下:
Volume Name: gv0 Type: Distributed-Replicate Volume ID: 96b06e32-deb5-487a-aa00-afd6624dcb97 Status: Started Snapshot Count: 0 Number of Bricks: 2 x 2 = 4 Transport-type: tcp Bricks: Brick1: GlusterH01.cmdschool.org:/data/brick1/gv0 Brick2: GlusterH02.cmdschool.org:/data/brick1/gv0 Brick3: GlusterH03.cmdschool.org:/data/brick1/gv0 Brick4: GlusterH04.cmdschool.org:/data/brick1/gv0 Options Reconfigured: locks.mandatory-locking: optimal performance.readdir-ahead: on features.quota: on features.inode-quota: on features.quota-deem-statfs: on cluster.entry-self-heal: on
注意:第14行表示强制锁已经开启并且模式是“optimal”
===========================================================
参阅文档
http://gluster.readthedocs.io/en/latest/Administrator%20Guide/Mandatory%20Locks/
https://github.com/gluster/glusterfs-specs/blob/master/done/GlusterFS%203.8/Mandatory%20Locks.md
没有评论