3.4. Ceph 客户端 Mandatory Exclusive Locks


强制独占锁是一种将 RBD 锁定到单个客户端的功能(如果存在多个挂载)。当多个挂载的客户端尝试写入同一对象时,这有助于解决写入冲突的情况。此功能基于上一节中解释的 object-watch-notify 构建。因此,编写时,如果一个客户端首先在对象上建立专用锁定,另一个已挂载的客户端将在写入之前首先检查对等对象是否已在对象上放置锁定。

启用此功能后,一次只能有一个客户端修改 RBD 设备,特别是在 snapshot create/delete 等操作期间更改内部 RBD 结构时。它还为失败的客户端提供了一些保护。例如,如果虚拟机看起来不响应,并且您在其他位置使用同一磁盘启动副本,则第一个虚拟机将在 Ceph 中列入黑名单,并且无法损坏新磁盘。

默认不启用强制独占锁定。在创建镜像时,您必须使用 --image-feature 参数显式启用它。

示例

[root@mon ~]# rbd create --size 102400 mypool/myimage --image-feature 5

在这里,数字 514 的总结,1 启用分层支持和 4 启用专用锁定支持。因此,上述命令将创建一个 100 GB rbd 镜像,启用分层和专用锁定。

强制独占锁也是 object map 的先决条件。如果没有启用专用锁定支持,则无法启用对象映射支持。

强制独占锁也可用于镜像的一些基础。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.