Ceph tgt (iSCSI) 支持更新

dmick

之前的博文中,我介绍了我们为用户空间 tgt iSCSI 项目所做的工作,以允许将 RADOS 块设备 (rbd) 镜像作为 iSCSI 目标导出。最近,我暂停了在 Calamari 项目上工作,以更新该支持,绕过一些限制并添加一些功能。

tgt-admin 工具现在适用于 rbd 后端 bs_rbdtgt-admin 用于从目标配置文件设置 tgtd,通常在启动时使用,因此更方便地拥有主机上映射的持久目标。

不再有每个 tgtd 20 个 rbd 镜像的限制。

tgtadm 接受每个映射镜像的新 –bsopts 参数,以设置 bs_rbd 选项

  • conf=<path-to-ceph.conf> 允许您为每个镜像引用不同的 ceph 集群(每个镜像都有自己的集群连接)
  • id=允许每个镜像使用不同的 Ceph 客户端 ID,这允许为每个镜像配置每个客户端的配置(包括诸如权限、日志设置、rbd 缓存设置等)。完整的客户端名称将是“client.”在正常的 Ceph 方式中。(默认 ID 是“admin”,默认客户端名称为“client.admin”。)

例如,您可以使用

tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --bstype rbd --backing-store public-image --bsopts "conf=/etc/ceph/pubcluster.conf;id=public"

为名为“public-image”的镜像建立一个目标,该目标位于“pubcluster”中,其配置表示在名为“client.public”的部分中。(需要双引号才能将 ‘;’ bsopts 分隔符隐藏在 shell 之外。)

您可以从 Ceph rbd 支持的 Debian 和 RPM 仓库中获取构建好的软件包,网址为 https://ceph.net.cn/packages/ceph-extras