准备下面的ceph存储集群(具体建立过程可以参考本博客的其他文章)

配置Ceph向外部提供iSCSI存储_第1张图片

其中集群的管理节点为store1,ip地址为10.8.20.11

下面在这个集群上面创建一个40G的镜像,并把这个镜像作为iscsi的目标,局域网的其他机器可以访问并挂载该iscsi目标、

使用的是tgt方式。

一、创建镜像,使用可视化方式进行

打开ceph集群的Dashboard(https://10.8.20.11:8443),选择导航条上面的Block→images

配置Ceph向外部提供iSCSI存储_第2张图片

点击“新建”:

配置Ceph向外部提供iSCSI存储_第3张图片

输入镜像名称,大小,下面只勾选“分层”和“互斥锁”,再点击右下角的“新建RBD”

配置Ceph向外部提供iSCSI存储_第4张图片

记住其存储池名称:store-pool和镜像名称:iscsi-disk,后面会用到

至此,镜像创建好了

配置Ceph向外部提供iSCSI存储_第5张图片

二、安装tgt,并添加对rbd的支持

在ceph集群的管理节点(如上面的集群是store1这台)上打开shell,输入下面命令安装tgt

apt -y install tgt

配置Ceph向外部提供iSCSI存储_第6张图片

安装好后,使用下面命令验证tgt是否支持rbd

tgtadm --lld iscsi --mode system --op show | grep rbd

输出结果为空,说明目前tgt目前还不支持rbd

使用下面命令安装tgt的rbd模块:

apt -y install tgt-rbd

配置Ceph向外部提供iSCSI存储_第7张图片

重启tgt服务,再次检查后已经支持

配置Ceph向外部提供iSCSI存储_第8张图片


三、建立iscsi目标

编辑/etc/tgt/targets.conf,

vim etc/tgt/targets.conf

加入以下内容:


    bs-type rbd
    backing-store store-pool/iscsi-disk #上面记下来的存储池名/镜像名
    initiator-address 10.8.20.0/24 #允许访问的ip段

配置Ceph向外部提供iSCSI存储_第9张图片

重启tgt服务

systemctl restart tgt


四、客户端挂载(windows客户端)

打开局域网中另一台windows系统管理工具中的iscsi发起程序

配置Ceph向外部提供iSCSI存储_第10张图片

输入上述集群提供目标的IP地址,点击快速连接

配置Ceph向外部提供iSCSI存储_第11张图片

发现目标,点击 完成

配置Ceph向外部提供iSCSI存储_第12张图片

打开磁盘管理,可以看到新加的iscsi磁盘,对其进行格式化操作后即可使用

配置Ceph向外部提供iSCSI存储_第13张图片