如何配置基于ceph集群的iSCSI传输服务
小编给大家分享一下如何配置基于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
添加如下配置
driver iscsi
bs-type rbd
backing-store iscsi-pool/image01
或在/etc/tgt目录下创建conf.d目录,在conf.d目录下创建后缀名为.conf的配置文件,写入内容示例如下
driver iscsi
bs-type rbd
backing-store iscsi-pool/image01
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传输服务"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!