如何配置基于ceph集群的iSCSI传输服务

14次阅读
没有评论

丸趣 TV 小编给大家分享一下如何配置基于 ceph 集群的 iSCSI 传输服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

准备:
系统:CentOS-7-x86_64-DVD-1511(最小化安装 中文)
一个完善的 ceph 集群(本文中使用的集群的为一个 mon 节点,三个 osd 节点的健康集群)
使用工具:服务端 scsi-target-utils-1.0.38-48   Linux 客户端 iscsi-initiator-utils
scsi-target-utils-1.0.38-48 下载地址
http://apt-mirror.sepia.ceph.com/centos6-qemu-kvm/scsi-target-utils-1.0.38-48.bf6981.ceph.el6.x86_64.rpm
关闭防火墙以及 selinux
systemctl disable firewalld(关闭防火墙开机自启动)
systemctl stop firewalld(关闭防火请)
setenforce 0(临时关闭 selinux)
永久关闭修改 /etc/selinux/config 文件中的 SELINUX 为 disabled
SELINUX=disabled

步骤:

1. 下载
方式一:浏览器可视化下载,使用 xshell 发送至服务端
        yum install -y lrzsz
        rz
方式二:yum install -y wget
        wget http://apt-mirror.sepia.ceph.com/centos6-qemu-kvm/scsi-target-utils-1.0.38-48.bf6981.ceph.el6.x86_64.rpm

2. 安装
方式一:rpm -ivh  scsi-target-utils-1.0.38-48.bf6981.ceph.el6.x86_64.rpm(在服务器端有网络连接的情况下不建议使用这种方式)
        方式一安装的过程中所需的依赖
        boost-iostreams.x86_64 0:1.53.0-27.el7   boost-random.x86_64 0:1.53.0-27.el7        
        boost-system.x86_64 0:1.53.0-27.el7      boost-thread.x86_64 0:1.53.0-27.el7        
        libibverbs.x86_64 0:13-7.el7             librados2.x86_64 1:10.2.10-0.el7            
        librbd1.x86_64 1:10.2.10-0.el7           librdmacm.x86_64 0:13-7.el7                
        lsof.x86_64 0:4.87-4.el7                 lttng-ust.x86_64 0:2.4.1-4.el7              
        perl.x86_64 4:5.16.3-292.el7             perl-Carp.noarch 0:1.26-244.el7            
        perl-Config-General.noarch 0:2.61-1.el7  perl-Encode.x86_64 0:2.51-7.el7            
        perl-Exporter.noarch 0:5.68-3.el7        perl-File-Path.noarch 0:2.09-2.el7          
        perl-File-Temp.noarch 0:0.23.01-3.el7    perl-Filter.x86_64 0:1.49-3.el7            
        perl-Getopt-Long.noarch 0:2.40-2.el7     perl-HTTP-Tiny.noarch 0:0.033-3.el7        
        perl-PathTools.x86_64 0:3.40-5.el7       perl-Pod-Escapes.noarch 1:1.04-292.el7      
        perl-Pod-Perldoc.noarch 0:3.20-4.el7     perl-Pod-Simple.noarch 1:3.28-4.el7        
        perl-Pod-Usage.noarch 0:1.63-3.el7       perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
        perl-Socket.x86_64 0:2.010-4.el7         perl-Storable.x86_64 0:2.45-3.el7          
        perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7      
        perl-Time-Local.noarch 0:1.2300-2.el7    perl-constant.noarch 0:1.27-2.el7          
        perl-libs.x86_64 4:5.16.3-292.el7        perl-macros.x86_64 4:5.16.3-292.el7        
        perl-parent.noarch 1:0.225-244.el7       perl-podlators.noarch 0:2.5.1-3.el7        
        perl-threads.x86_64 0:1.87-4.el7         perl-threads-shared.x86_64 0:1.43-6.el7    
        sg3_utils.x86_64 0:1.37-12.el7           sg3_utils-libs.x86_64 0:1.37-12.el7        
        userspace-rcu.x86_64 0:0.7.16-1.el7    
方式二:yum isntall scsi-target-utils-1.0.38-48.bf6981.ceph.el6.x86_64.rpm(在服务器有网络连接的情况下建议使用这种方式,会自动解决依赖关系)

3. 使能 tgt 服务
systemctl enable tgtd.service
systemctl start tgtd.service
开启 scsi-target-utils 服务
service tgtd start 或 systemctl start tgtd
开机自启动 scsi-target-utils 服务
chconfig tgtd on
查看 scsi-target-utils 是否启动
netstat –anltp|grep 3260

4. 验证 tgt 是否支持 rbd
tgtadm –lld iscsi –mode system –op show | grep rbd
建议使用下载方式二提供的网站,使用 1.0.38 版本,验证支持 rbd 通过

5. 创建 iscsi target

创建存储池和 rbd 镜像
ceph osd pool create iscsi-pool 192 192(在执行下一步之前,建议使用 rbd ls -p iscsipool 命令查看是否创建成功)
rbd create iscsipool/image01 –size 10240
注意:本例中使用的集群为一个 mon 节点,三个 osd 节点的 ceph 集群,pgs 值为 192,具体实施时根据 osd 节点数量判定
创建的镜像容量为 10G(如果创建失败,使用命令 ceph osd pool delete iscsipool iscsipool –yes-i-really-really-mean-it 删除创建的池,其中 iSCSIpool 为我创建的池的名称)
在创建镜像成功后,ceph 集群会出现不健康的情况,在 pgs 没有错误的情况下会逐渐恢复至健康状态

6. 修改配置文件
vi /etc/tgt/targets.conf
添加如下配置
target 192.168.1.104:iscsi
    driver iscsi
    bs-type rbd
    backing-store iscsi-pool/image01
/target
或在 /etc/tgt 目录下创建 conf.d 目录,在 conf.d 目录下创建后缀名为.conf 的配置文件,写入内容示例如下
target 192.168.1.104:iscsi
    driver iscsi
    bs-type rbd
    backing-store iscsi-pool/image01
/target

7. 重启 target 服务
systemctl restart tgtd.service

8. 查看创建的 scsi target
tgtadm –lld iscsi –mode target –op show
可以看到创建的 lun1 表示成功

9. 使用客户端验证 iSCSI 服务

控制面板 - 管理工具 - iSCSI 发起程序 - 在目标中输入提供 iSCSI 服务的服务器的 ip 地址 - 点击快速连接
如果提示不活动,点击左下角的连接按钮。
Linux 客户端配置:1. 配置拓展源,1511 中的源不含有 iscsi-initiator-utils 的安装包
                   yum install -y epel-release
                   yum install -y iscsi-initiator-utils
                 2. 发现目标设备
                   iscsiadm -m discovery -t sendtargets -p 192.168.1.111
                 3. 挂载目标设备
                   iscsiadm -m node -T 192.168.1.111:iscsi -l
                 4. 卸载目标设备
                   iscsiadm -m node -T 192.168.1.109:iscsi -u

看完了这篇文章,相信你对“如何配置基于 ceph 集群的 iSCSI 传输服务”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!