準備:
系統: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=disablednode
步驟:linux
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.rpmios
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(在服務器有網絡鏈接的狀況下建議使用這種方式,會自動解決依賴關係)shell
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 3260centos
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>dom
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