【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

时间:2024-03-15 13:42:00

ceph通过iscsi协议使用rbd

ISCSI

iSCSI target设备命名规则

iSCSI target名称必须是全球唯一的,其格式为:

iqn.< yyyy-mm >.< tld.domain.some.host > [:< identifier >]

iqn.< 年份-月份 >.< 域名反写 > [: < 设备识别;可以是任意字符串 >]

iSCSI target名称必须是以iqn开头的

如:iqn.2015-03.com.baidu.www:Zw3l4S3dgnY

注意:windows客户端下不支持大写字母

参考文献

https://blog.csdn.net/celeste7777/article/details/48783385

CEPH服务端操作

安装支持rbd的TGT软件包

#echo "deb http://ceph.com/packages/ceph-extras/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ceph-extras.list

#apt-get install tgt

确认tgt是否支持rbd

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

 

       如果提示以下错误,则是服务没启动起来,重启服务就好

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

    如果支持将有以下提示

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

创建rbd块

# rbd create rbd/iscsirbd1 --size 10240 --image-format 2

 

写入tgt配置

    配置路径为

vi /etc/tgt/targets.conf

       配置示例,这边是挂载了两个

<target iqn.2018-05-14-19-15.142server-10gb:iscsi>

    driver iscsi

    bs-type rbd

    backing-store rbd/iscsirbd1  # Format is <iscsi-pool>/<iscsi-rbd-image> 

    initiator-address 192.168.59.142    #client address allowed to map the address 

    initiator-address 192.168.59.112    #client address allowed to map the address 

</target>

<target iqn.2018-05-14-19-15.142server-66gb:iscsi>

    driver iscsi

    bs-type rbd

    backing-store rbd/iscsirbd2  # Format is <iscsi-pool>/<iscsi-rbd-image> 

    initiator-address 192.168.59.142    #client address allowed to map the address 

    initiator-address 192.168.59.112    #client address allowed to map the address 

</target>

重启tgt

service tgt restart

关闭rbd cache

vim /etc/ceph/ceph.conf

[client]

rbd_cache = false

 

linux客户端连接

安装open-scsi

apt-get install open-iscsi

重启open-scsi服务

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

发现目标设备

iscsiadm -m discovery -t st -p 192.168.59.142

       以上述挂载的两个硬盘为例,这边就可以发现两个可挂载硬盘

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

挂载目标设备

       如果是挂载这个网络上所有的节点,使用以下命令即可

iscsiadm -m node --login 

       如果是挂载指定的一个存储设备,则需要使用以下命令

iscsiadm -m node –T <target_name>:<protocol> -p <server_ip>:<port> -l

       使用示例

iscsiadm -m node –T iqn.2018-05-14-19-15.142server-10gb:iscsi -p 192.168.59.142:3260 –l

其中末尾的l为login的缩写

取消挂载目标设备

iscsiadm -m node –T iqn.2018-05-14-19-15.142server-10gb:iscsi -p 192.168.59.142:3260 -u

其中末尾的u为unlogin的缩写

确认挂载成功

使用lsscsi命令,其中/dev/sda即为挂载的scsci接口磁盘

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

参考博客

https://blog.csdn.net/wytdahu/article/details/46545235

windows客户端连接

打开软件

       首先打开控制面板,然后搜索管理工具,双击打开Iscsi发起程序

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

挂载设备

    在下图中的目标中输入iscsi所在的服务器IP地址,点击快速连接,就可以发现该服务器上可用的Iscsi硬盘,选择后即可点击连接。如果搜索服务器没搜索到,需在服务端的/etc/tgt/targets.conf的需要用到的硬盘的target中加入windows客户端的IP地址。

initiator-address <windows_client_ip_address >

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

初始化磁盘

       右键我的电脑,单击管理,选择磁盘管理,即可看到以下提示

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

    点击确定进行下一步,此时就能看到多出一个100GB未分配的磁盘

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

    右键选中磁盘1,新建简单卷,根据提示新创建一个磁盘。等待其格式化完成后,就可以看到一个新的可用磁盘

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

错误排除

       如果在连接目标设备时发现以下错误

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

问题肯定处在目标设备名字带中文,如下图所示

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

       需要在配置文件中把target的名字全部改成小写即可,如下图所示

【CEPH】通过iscsi连接到CEPH的RBD(客户端包括windows和linux)

改完后需保存,然后重启tgt服务

service tgt restart