2.14. 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 默认为 rbd
。RBD_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
条目时,最好指定 noauto
或 nofail
挂载选项。这可防止 init 系统在设备存在前尝试过早挂载该设备。
其它资源
-
有关可能选项的完整列表,请参见
rbd
man page。