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 |
如果提示以下错误,则是服务没启动起来,重启服务就好
如果支持将有以下提示
创建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服务
发现目标设备
iscsiadm -m discovery -t st -p 192.168.59.142 |
以上述挂载的两个硬盘为例,这边就可以发现两个可挂载硬盘
挂载目标设备
如果是挂载这个网络上所有的节点,使用以下命令即可
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接口磁盘
参考博客
https://blog.csdn.net/wytdahu/article/details/46545235
windows客户端连接
打开软件
首先打开控制面板,然后搜索管理工具,双击打开Iscsi发起程序
挂载设备
在下图中的目标中输入iscsi所在的服务器IP地址,点击快速连接,就可以发现该服务器上可用的Iscsi硬盘,选择后即可点击连接。如果搜索服务器没搜索到,需在服务端的/etc/tgt/targets.conf的需要用到的硬盘的target中加入windows客户端的IP地址。
initiator-address <windows_client_ip_address > |
初始化磁盘
右键我的电脑,单击管理,选择磁盘管理,即可看到以下提示
点击确定进行下一步,此时就能看到多出一个100GB未分配的磁盘
右键选中磁盘1,新建简单卷,根据提示新创建一个磁盘。等待其格式化完成后,就可以看到一个新的可用磁盘
错误排除
如果在连接目标设备时发现以下错误
问题肯定处在目标设备名字带中文,如下图所示
需要在配置文件中把target的名字全部改成小写即可,如下图所示
改完后需保存,然后重启tgt服务
service tgt restart |