首页 > 代码库 > ISCSI网络存储服务

ISCSI网络存储服务

ISCSI网络存储服务

一、理论部分

iSCSI的概念

         iSCSI,即internetSCSI,是IETF制订的一项标准,用于将SCSI数据块映射为以太网数据包。从根本上说,它是一种基于IP Storage理论的新型存储技术,该技术将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN。简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术。iSCSI技术最初由CiscoIBM两家开发,并且得到了广大IP存储技术爱好者的大力支持,这几年得到迅速的发展壮大。

 

对于中小企业的存储网络来说,iSCSI是个非常好的选择。首先,从技术实现上来讲,iSCSI是基于IP协议的技术标准,它允许网络在TCP/IP协议上传输SCSI命令,实现SCSITCP/IP协议的连接,这样用户就可以通过TCP/IP网络来构建SAN,只需要不多的投资,就可以方便、快捷地对信息和数据进行交互式传输和管理。但是,在iSCSI出现之前,构建SAN的唯一技术是利用光纤通道,这要花费很大的建设成本,一般中小企业无法承担。其次,iSCSI技术解决了传输效率、存储容量、兼容性、开放性、安全性等方面的诸多问题,在使用性能上绝对不输给商业的存储系统或光纤存储网络。

 

         iSCSI的优势主要表现为:首先,iSCSI沿用TCP/IP协议,而TCP/IP是在网络方面最通用、最成熟的协议,且IP网络的基础建设非常完善,同时,SCSI技术是被磁盘和磁带等设备广泛采用的存储标准,这两点使iSCSI的建设费用和维护成本非常低廉;其次,iSCSI支持一般的以太网交换机而不是特殊的光纤通道交换机,从而减少了异构网络带来的麻烦;还有,iSCSI是通过IP封包传输存储命令,因此可以在整个Internet上传输数据,没有距离
的限制。

 

二、操作部分

1)      实验环境

准备一台ISCSI服务器CentOS7系统,IP地址192.168.1.100

一台initiator客户端CentOS7系统,IP地址192.168.1.200

2)      实验步骤

1、首先准备作为LUN发布的ISCSI的存储设备(可以是一整块磁盘,一个分区,逻辑卷或RAID阵列)。这里我们准备了/dev/sdb/dev/sdc

cat /proc/partitions

技术分享

2、安装target软件

yum -y install targetd targetcli

技术分享

3、启动target服务

systemctl enable target
systemctl start target

技术分享

4、设置firewalld防火墙允许3260服务

firewall-cmd --premanet --add-prt=3260/tcp
firewall-cmd --reload

技术分享

5、执行targetcli工具

targetcli

技术分享

6、输入help可以查看targetcli的帮助,ls查看结构

技术分享

targetcli所支持的命令

技术分享

7、创建块(给要发布的逻辑卷起个名字)

/backstores/block create server0.disk1 /dev/sdb

技术分享

可以理解为给/dev/sdb起个名字为server0.disk1,/dev/sdc起个名字为server0.disk2

ls查看块

技术分享

8、创建iqn名字即创建ISCSI对象

/iscsi create iqn.2017-01.com.benet:disk1

技术分享

查看ISCSI对象

技术分享

9、设置ACLISCSI对象与客户端IP或主机名绑定(注:后面的名字是initiator的名字,需要在客户端中设置)

/iscsi/iqn.2017-01.com.benet:disk/tpg1/acls create iqn.2017-01.com.benet:client

技术分享

10、创建LUN并绑定块

/iscsi/iqn.2017-01.com.benet:disk1/tpg1/luns create /backstores/block/server0.disk1

技术分享

(一个ISCSI对象可以创建多个LUN

执行ls查看

技术分享

11、可以看到portals选项中默认启动了0.0.0.0:3260,如果想启用指定端口可以输入下命令

/iscsi/iqn.2017-01.com.benet:disk1/tpg1/portals create 192.168.1.100 3260

技术分享

initiator端的配置:

1、安装软件

yum -y install iscsi-initlator-utils

2、initiator起个名字输入以下内容

vim /etc/iscsi/initiatorname.iscsi

技术分享

3、启动iscsi服务

systemctl enable iscsi
systemctl start iscsi


技术分享

4、发现存储

iscsiadm -m discovery -t st -p 192.168.1.100

技术分享

5、登入存储(注:-l表示连接ISCSI目标;-u表示断开和ISCSI目标的连接)

iscsiadm -m node -T iqn.2017-01.com.benet:disk1 -p 192.168.100 -l

技术分享

1、验证客户端ISCSI连接

lsscsi

技术分享

剩下的操作就和操作本地硬盘一样了


本文出自 “乌云科技” 博客,请务必保留此出处http://wuyunkeji.blog.51cto.com/12028005/1891489

ISCSI网络存储服务