2.13. rbdmap 服务

systemd 单元文件 rbdmap.service 包含在 ceph-common 软件包中。rbdmap.service 单元执行 rbdmap shell 脚本。

此脚本自动为一个或多个 RBD 镜像自动映射和取消 map RADOS 块设备 (RBD)。脚本可以随时手动运行,但典型的用例是在引导时自动挂载 RBD 镜像,并在关机时卸载。脚本采用单个参数,可以是 map (用于挂载)或 unmap(卸载)RBD 镜像。脚本解析配置文件,默认为 /etc/ceph/rbdmap,但可使用名为 RBDMAPFILE 的环境变量来覆盖。配置文件的每一行对应于 RBD 镜像。

配置文件格式的格式如下:

IMAGE_SPEC RBD_OPTS

其中 IMAGE_SPEC 指定 POOL_NAME / IMAGE_NAME,或仅使用 IMAGE_NAME,在这种情况下,POOL_NAME 默认为 rbdRBD_OPTS 是要传递到底层 rbd map 命令的选项列表。这些参数及其值应指定为用逗号分开的字符串:

OPT1=VAL1,OPT2=VAL2,…​,OPT_N=VAL_N

这将导致脚本发出类似如下的 rbd map 命令:

rbd map POOLNAME/IMAGE_NAME --OPT1 VAL1 --OPT2 VAL2

注意

对于包含逗号或相等符号的选项和值,可以使用简单的符号来防止替换它们。

成功后,rbd map 操作会将镜像映射到 /dev/rbdX 设备,此时会触发一个 udev 规则来创建一个友好的设备名称 symlink,如 /dev/rbd/POOL_NAME/IMAGE_NAME 指向实际映射的设备。要成功挂载或卸载,友好的设备名称必须在 /etc/fstab 文件中具有对应的条目。为 RBD 镜像编写 /etc/fstab 条目时,最好指定 noautonofail 挂载选项。这可防止 init 系统在设备存在前尝试过早挂载该设备。

其它资源

  • 有关可能选项的完整列表,请参见 rbd man page。