- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
了解OCFS2磁盘锁机制
了解磁盘锁与分布式锁相比的优缺点
了解RBD存储对接的原理
学习完本课程,您应该能够:
2 2
课程目标
上期回顾——OCFS2文件系统分布式锁
• 共享文件系统很多操作需要加锁进行互斥保护,防止多个服务器同时访问一个资源,造成冲突
• 加锁的操作可以通过DLM分布式锁管理实现, 在访问需加锁的资源前,通过网络发一个消息给 所有的活动服务器申请加锁,申请成功后才能进行访问
• 访问结束后,通过网络发一个消息给所有的服务器, 通知已解锁
• 加锁到解锁的过程中, 其他的服务器不能访问被锁的资源
3
服务器 B
服务器 C
举例:当文件A、 B扩展空间时,需加锁才能从空闲空间申请新空间,否则可能申请到同一块空间
空闲空间
服务器 A
文件B
文件A
上期回顾——OCFS2文件系统心跳机制
网络心跳
在同一个集群中,每个节点会根据配置文件中的节点信息向集群中其它节点发起连接请求,从而 建立其网络通信的连接。任意两个节点之间都会建立连接。
磁盘心跳
OCFS2每隔2S更新磁盘上的时间戳, 并且读取其他节点的时间戳。
4
5 5
OCFS2磁盘锁机制
磁盘锁与分布式锁对比
RBD存储对接机制
02
03
01
目录
存储阵列
Cluster
磁盘锁的位置
优点:
• 不需要处理锁主选举、锁迁移等复杂的过程,节点间无锁脑裂风险,对文件系统元数据更安全;
• 节点掉电后,锁状态不会掉电易失;
• Fence机制判断不依赖于管理网,管理网故障不再引起Fence
CVK
CVK1
6
OCFS2磁盘锁DLOCK
分布式锁 dlm
分布式锁 dlm
磁盘锁 dlock
磁盘锁 dlock
锁适配层
锁适配层
Block/SCSI
Block/SCSI
LUN
LUN
OCFS2
OCFS2
Lock
LUN
OCFS2磁盘锁DLOCK基础技术
磁盘锁的基础技术是SCSI-3的CAW( COMPARE AND WRITE)指令
OCFS2 DLOCK利用CAW指令可以原子地完成比较写操作,将加锁成功的节点的授权信息持久化到磁盘锁中, CAW指令执行 成功的节点即为加锁成功的节点。
7
OCFS2将同时支持分布式锁和磁盘锁。Cluster Lock Glue 为OCFS2抽象了节点间的加锁实现, 对OCFS2提供统一的 加锁接口。 OCFS2不感知集群锁为分布式锁或者磁盘锁。
lock/unlock logic :核心的集群锁加解锁逻辑,包括请求 锁级别预处理, 组装磁盘锁加锁请求。实现异步加锁框架。
CAW command aio:对SCSI CAW指令的封装。
o2net accelerator :当存在不兼容锁级别授权的情况下, 通过节点间消息网络主动通知其它节点解锁。以提高加锁 效率。当节点间网络不通时,不会阻塞加解锁。
dlock磁盘空间管理:实现dlock空间分配器。
dlock生命周期管理:控制dlock的分配与回收过程。
dlock recovery :授权给故障节点
文档评论(0)